身份鉴别
身份标识与鉴别功能用于对登录数据库访问数据的用户进行身份验证, 确认该用户是否能够与某一个数据库用户进行关联,并根据关联的数据库用户的权限,对该用户在数据库中的数据访问活动进行安全控制。
seekdb的用户鉴权是指客户端在尝试访问 seekdb 服务器时提供有效的用户凭证。如果 seekdb 服务器确认提供的凭证有效,它将允许客户端访问 seekdb。seekdb使用一种叫做 MySQL Authentication Protocol(MAPI)的协议来进行用户鉴权。它是基于客户端机器上的 MySQL 客户端帐户来完成身份验证的,也就是说,只有拥有正确用户名和密码的客户端才可以连接到 seekdb 服务器。当客户端发出连接请求时,seekdb 服务器将发送一个随机的识别码到客户端。客户端必须使用正确的用户名和密码来解码这个识别码,然后将解码的结果发送回服务器。如果结果正确,seekdb 服务器将允许客户端连接服务器。
示例
seekdb 中一个 user 由 user_name 和 host 共同体组成。使用下列语句创建 3 个具有相同用户名的用户。
示例如下:
create user 'u1'@'%' identified by '*******';
create user 'u1'@'10.xxx.xxx.1' identified by '*******';
create user 'u1'@'10.xxx.xxx.2' identified by '*******';
其中:
%:表示允许任何客户端 IP 连接。10.xxx.xxx.1:表示只允许10.xxx.xxx.1这个 IP 连接。10.xxx.xxx.2:表示只允许10.xxx.xxx.2这个 IP 连接。
用户登录时,seekdb 会根据 user_name、client_ip、password 匹配,来控制用户登录。