首批通过分布式安全可靠测评,为关键业务系统打造
身份鉴别
更新时间:2024-09-25 23:00:00
身份标识与鉴别功能用于对登录数据库访问数据的用户进行身份验证,确认该用户是否能够与某一个数据库用户进行关联,并根据关联的数据库用户的权限,对该用户在数据库中的数据访问活动进行安全控制。本文主要介绍 MySQL 模式的身份鉴别功能。
OceanBase 数据库的用户鉴权是指客户端在尝试访问 OceanBase 服务器时提供有效的用户凭证。如果 OceanBase 服务器确认提供的凭证有效,它将允许客户端访问 OceanBase 数据库。OceanBase 数据库使用一种叫做 MySQL Authentication Protocol(MAPI)的协议来进行用户鉴权。它是基于客户端机器上的 MySQL 客户端帐户来完成身份验证的,也就是说,只有拥有正确用户名和密码的客户端才可以连接到 OceanBase 服务器。当客户端发出连接请求时,OceanBase 服务器将发送一个随机的识别码到客户端。客户端必须使用正确的用户名和密码来解码这个识别码,然后将解码的结果发送回服务器。如果结果正确,OceanBase 服务器将允许客户端连接服务器。
示例
MySQL 模式中,一个 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 连接该租户。
用户登录时,OBServer 节点会根据 user_name、client_ip、password 匹配,来控制用户登录。