创建Doris权限角色
Doris权限管理系统实现了行级别细粒度的权限控制,和基于角色的权限访问控制。
仅MRS 3.3.0及之后版本开启Kerberos认证的集群支持通过FusionInsight Manager创建角色进行赋权,如果集群为MRS 3.3.0之前的版本,无论是否开启Kerberos认证,都需要通过root用户(默认密码为空)来连接数据库。
前提条件
- Doris服务运行正常。
- 角色名称不能为operator和admin。
- 集群已启用Kerberos认证(安全模式)时,Doris赋权成功后,权限生效时间大约为2分钟。
添加Doris角色(集群已启用Kerberos认证(安全模式))
- 登录FusionInsight Manager,选择“系统 > 权限 > 角色”,在“角色”界面单击“添加角色”按钮,进入添加角色页面。
添加用户并绑定Doris对应角色(集群已启用Kerberos认证(安全模式))
- 登录FusionInsight Manager,选择“系统 > 权限 > 用户”,单击“添加用户”,进入添加用户页面。
- “用户类型”选择“人机”,在“密码”和“确认密码”参数设置该用户对应的密码。
- 用户名:添加的用户名不能包含中划线字符“-”,否则会导致认证失败。
- 密码:设置的密码不能携带“$”、“.”、“#”特殊字符,否则会导致认证失败。
- 在“角色”处单击“添加”,在弹框中选择具有Doris权限的角色,单击“确定”添加到角色,单击“确定”完成操作。
- 使用新建的用户重新登录FusionInsight Manager,修改该用户初始密码。
- 登录安装了MySQL客户端的节点,使用新添加的用户及修改后的密码连接Doris服务。
export LIBMYSQL_ENABLE_CLEARTEXT_PLUGIN=1
mysql -udorisuser -p用户密码 -P数据库连接端口 -hDoris FE实例IP地址
- 数据库连接端口为Doris FE的查询连接端口,可以通过登录Manager,单击“集群 > 服务 > Doris > 配置”,查询Doris服务的“query_port”参数获取。
- Doris FE实例IP地址可通过登录MRS集群的Manager界面,单击“集群 > 服务 > Doris > 实例”,查看任一FE实例的IP地址。
- 用户也可以使用MySQL连接软件或者Doris WebUI界面连接数据库。
添加角色并绑定给用户(集群未启用Kerberos认证(普通模式))
- 登录安装了MySQL客户端的节点,使用admin用户连接Doris服务。
mysql -uadmin -P数据库连接端口 -hDoris FE实例IP地址
- admin用户默认密码为空。
- 数据库连接端口为Doris FE的查询连接端口,可以通过登录Manager,单击“集群 > 服务 > Doris > 配置”,查询Doris服务的“query_port”参数获取。
- Doris FE实例IP地址可通过登录MRS集群的Manager界面,单击“集群 > 服务 > Doris > 实例”,查看任一FE实例的IP地址。
- 用户也可以使用MySQL连接软件或者Doris WebUI界面连接数据库。
- 执行以下命令创建角色:
CREATE ROLE dorisrole;
- 执行以下命令给角色授权,具体权限介绍请参见Doris用户权限说明。例如,授予角色ADMIN_PRIV权限:
GRANT ADMIN_PRIV ON *.*.* TO ROLE 'dorisrole';
- 执行以下命令创建用户并绑定角色:
CREATE USER 'dorisuser'@'%' IDENTIFIED BY 'password' DEFAULT ROLE 'dorisrole';
命令中如果携带认证密码信息可能存在安全风险,在执行命令前建议关闭系统的history命令记录功能,避免信息泄露。