配置Doris用户权限
Doris用户权限管理实现了对集群中各个节点上用户、角色、权限的统一管理。通过在控制台创建角色、创建用户、用户绑定角色方式,实现用户权限控制,不同用户之间操作互不影响,提高业务效率。
注意事项
- 删除操作不可逆,即使删除后立即重新添加同名角色,也可能存在权限和以前不一致的情况。所以,删除角色前需确认此角色是否应用中。
- 删除用户前需确认此账户是否再用。删除操作不可逆,即使删除后立即重新添加同名账户,也可能存在权限和以前不一致的情况。
- 组件不支持查看已有账户的密码,如果忘记密码可以通过重置密码功能设置新密码。
- 组件支持查看账户对数据库的操作权限。
- 用户名、角色名称大小写敏感。
前提条件
- 已创建Doris集群,集群运行正常。
- 已安装MySQL户端。
步骤一:创建Doris角色
- 登录CloudTable控制台。
- 在“集群管理”列表中选择目标集群,单击“集群名称 > 角色管理”,进入角色管理页面。
- 单击“新建角色”,弹出新建角色页面,配置表中相关参数。
表1 角色权限说明 参数
说明
角色名
角色名称以字母开头,长度范围1~64。
全局权限
全局权限指拥有所有数据库和表的权限,包括查询、插入、更改、创建、删除权限。
各级权限
数据库和表,指的是集群中所创建的数据库和表。
- 数据库有“高危权限”和普通权限;表只有“普通权限”。
- 权限类别
- 高危权限:创建表、删除表。
- 普通权限:查询、插入、更改。
- 参数配置完成后,单击“确认”。
步骤二:创建Doris用户
- 角色创建完成后,单击“用户管理”,进入用户管理页面。
- 单击“新建用户”,弹出“新建用户”页面,配置用户名、密码。
表2 用户参数说明 参数
说明
用户名
新建用户名必须以字母开头,长度范围1~64。
密码
新建用户的密码。
说明:设置密码规则:
- 8~16个字符。
- 至少包含以下字符中的4种:大写字母、小写字母、数字、特殊字符($@!%*?&)。
- 不能与用户名或倒序的用户名相同。
确认密码
确认密码。
- 参数配置完成后,单击“确认”。
步骤三:Doris用户绑定角色并访问集群
例如:角色A拥有查询、插入、更改、创建、删除。用户绑定角色A后拥有角色A权限。
- 角色、用户创建完成后,在“用户管理”页面,选择目标用户,单击操作列“更多 > 分配角色”。
- 弹出“分配角色”页面,选择角色。单击“确定”。
- 单击操作列“查看权限”,用户拥有角色权限。
- 使用新建的用户连接集群。
非安全集群连接命令,详细操作请参见使用MySQL客户端连接Doris普通集群。
./mysql -uadmin -ppassword -h集群内网地址 -P9030
安全集群连接命令,详细操作请参见使用MySQL客户端连接Doris安全集群。
./mysql -uadmin -h集群内网地址 -P9030 --ssl-ca={path}/certificate.crt --ssl-mode=VERIFY_CA -ppassword
- 验证:在命令窗口中执行查询、插入、更改、创建、删除权限。
- 如果可以执行查询、插入、更改、创建、删除权限,说明绑定角色成功。
- 如果无法执行查询、插入、更改、创建、删除权限,请检查角色是否配置权限、用户是否绑定角色。以上两种情况无问题请联系技术人员处理。
管理用户权限
- 管理角色
- 删除角色:单击操作列“删除”,弹出删除的页面,输入“DELETE”或者单击“一键输入”,输入后单击“确定”,删除角色。
- 修改角色权限:单击操作列“修改”,弹出“修改角色”页面,根据用户需求选择权限,单击“确定”。
- 查看角色权限:单击操作列“查看权限”,弹出“查看权限”页面,查看角色当下拥有使用数据库和表的权限。
- 管理用户
- 分配角色:单击操作列“更多 > 分配角色”,弹出“分配角色”窗口,选择角色,单击“确定”。
- 查看用户权限:单击操作列“查看权限”,弹出“查看权限”页面,查看用户当下拥有使用数据库和表的权限。
- 删除用户:单击操作列“删除”,弹出删除的页面,单击“确定”,删除用户。
- 修改用户密码:单击操作列“更多 > 修改密码”,弹出“修改密码”页面,修改密码后单击“确定”。
用户权限常用命令
- 创建角色
CREATE Role role_name;
role_name:指新建角色名称。
- 给角色赋予权限。
- 授予指定库表的权限给角色。
GRANT LOAD_PRIV ON ctl1.db1.* TO ROLE 'my_role';
- 授予指定资源的使用权限给角色。
GRANT USAGE_PRIV ON RESOURCE 'spark_resource' TO ROLE 'my_role';
- 授予指定库表的权限给角色。
- 删除角色。
DROP ROLE role1;
- 创建用户。
- CREATE USER命令用于创建一个Doris用户(无角色)。
CREATE USER 'Jack' IDENTIFIED BY 'password';
表3 参数说明 参数
说明
Jack
设置的用户名。
password
指创建的用户密码。
可通过命令指定IP。
CREATE USER 'jack02' @'192.168.%' identified by '123456' DEFAULT ROLE 'default_role';
- CREATE USER命令用于创建一个Doris用户(分配系统默认角色)。
CREATE USER 'jeo' IDENTIFIED BY 'password' DEFAULT ROLE 'default_role';
- CREATE USER命令用于创建一个Doris用户(无角色)。
- 修改用户密码。
- 给用户分配角色。
- 给用户分配角色。
GRANT 'role1','role2' TO 'jack'@'%';
表4 参数说明 参数
说明
role
代表创建的角色。
jack
代表新建的用户名。
- 撤销分配给用户的角色。
REVOKE 'role1' FROM 'candy';
- 给用户分配角色。
- 删除用户。
DROP USER'Jack';
- 查询当前用户的权限和角色。
SHOW GRANTS;