
# 创建Doris权限角色
Doris权限管理系统实现了行级别细粒度的权限控制，和基于角色的权限访问控制。
![](https://support.huaweicloud.com/cmpntguide-lts-mrs/public_sys-resources/note_3.0-zh-cn.png)
- 仅MRS 3.3.0及之后版本开启Kerberos认证的集群支持通过FusionInsight Manager创建角色进行赋权，如果集群为MRS 3.3.0之前的版本，无论是否开启Kerberos认证，都需要通过**root**用户（默认密码为空）来连接数据库。
- MRS 3.5.0及之后版本，集群未启用Kerberos认证（普通模式）也支持在Manager页面创建用户，并绑定角色获得相应权限。
 
#### 前提条件
- Doris服务运行正常。
- 角色名称不能为**operator** 和**admin**。
- 集群已启用Kerberos认证（安全模式）时，Doris赋权成功后，权限生效时间大约为2分钟。
 
#### 添加Doris角色
1. 登录FusionInsight Manager，选择"系统 \> 权限 \> 角色"，在"角色"界面单击"添加角色"按钮，进入添加角色页面。

2. 在添加角色界面输入"角色名称"，在"配置资源权限"列表中单击集群名称，进入服务列表页面，单击"Doris"服务，进入Doris权限资源页面。 
   根据业务需求确定是否要创建具有Doris管理员权限的角色。
   ![](https://support.huaweicloud.com/cmpntguide-lts-mrs/public_sys-resources/note_3.0-zh-cn.png)
   - Doris管理员权限为：除去节点操作权限外的所有权限。
   
   - 角色名称：添加的角色名不能包含中划线字符"-"，并且不能以数字开头。
    
   - 是，执行[3]。
   
   - 否，执行[4]。
   
   
   ![](https://support.huaweicloud.com/cmpntguide-lts-mrs/zh-cn_image_0000001676905602.png "点击放大")
   
   
3. 勾选"Doris管理员权限"，单击"确定"，完成角色创建。
4. 单击"Doris读写权限"，勾选对应资源的"查询"、"删除"、"插入"、"修改"、"创建"或"授权"权限。
   
   根据业务需求确定是否赋权。
   ![](https://support.huaweicloud.com/cmpntguide-lts-mrs/zh-cn_image_0000001724864953.png "点击放大")
   
   
5. 授权完成后，单击"确定"完成角色创建。
 
#### 添加用户并绑定Doris对应角色
1. 登录FusionInsight Manager，选择"系统 \> 权限 \> 用户"，单击"添加用户"，进入添加用户页面，配置以下参数： 
   - 用户名：输入需要创建的用户名称。
   
   - 用户类型：选择用户类型，包括"人机"和"机机"。
     - 集群已启用Kerberos认证（安全模式）推荐选择"人机"。
     
     - 集群未启用Kerberos认证（普通模式）推荐选择"机机"。
      
   
   - "密码"和"确认新密码"：设置人机用户对应的密码。
   
   - 角色：单击"添加"，在弹框中选择具有Doris权限的角色，单击"确定"添加到角色。
   
   
   ![](https://support.huaweicloud.com/cmpntguide-lts-mrs/public_sys-resources/note_3.0-zh-cn.png)
   - 用户名：添加的用户名不能包含中划线字符"-"，否则会导致认证失败。
   
   - 密码：设置的密码不能携带"$"、"."、"#"特殊字符，否则会导致认证失败。
    
   
   
2. 单击"确定"完成创建用户操作。
3. 使用新创建的用户连接Doris服务。 
   - 集群已启用Kerberos认证（安全模式）
     1. 使用新建的人机用户重新登录FusionInsight Manager，修改该用户初始密码。
     
     2. 登录安装了MySQL客户端的节点，使用新创建的用户及修改后的密码连接Doris服务。 **export LIBMYSQL_ENABLE_CLEARTEXT_PLUGIN=1**
        **mysql -u** *dorisuser* **-p** **-P** *FE查询连接端口* **-h** *Doris FE实例IP地址*
        执行命令后输入数据库登录用户密码。
        ![](https://support.huaweicloud.com/cmpntguide-lts-mrs/public_sys-resources/note_3.0-zh-cn.png)
        - Doris FE的查询连接端口，可以通过登录Manager，单击"集群 \> 服务 \> Doris \> 配置"，查询Doris服务的"query_port"参数获取。
        
        - Doris FE实例IP地址可通过登录MRS集群的Manager界面，单击"集群 \> 服务 \> Doris \> 实例"，查看任一FE实例的业务IP地址。
        
        - 用户也可以使用MySQL连接软件或者在Doris WebUI界面连接数据库。
          
      
   
   - 集群未启用Kerberos认证（普通模式）
     1. 登录安装了MySQL客户端的节点，使用**admin** 用户连接Doris服务。
        **mysql -u** **admin** **-P** *FE查询连接端口* **-h** *Doris FE实例IP地址*
        ![](https://support.huaweicloud.com/cmpntguide-lts-mrs/public_sys-resources/note_3.0-zh-cn.png)
        **admin**用户默认密码为空。
        
     
     2. 执行以下命令为创建的机机用户设置密码： **SET PASSWORD FOR '** *已创建的机机用户名称* **' = PASSWORD('** *xxx* **')**
        
     
     3. 使用机机用户重新在MySQL客户端连接Doris服务： **mysql -u** *机机用户名称* **-p** **-P** *FE查询连接端口* **-h** *Doris FE实例IP地址*
        执行命令后输入用户密码。
        
      
   
   
   
   
 
#### 添加角色并绑定给用户（集群未启用Kerberos认证（普通模式））
该操作仅适用于MRS 3.5.0之前版本。
1. 登录安装了MySQL客户端的节点，使用**admin** 用户连接Doris服务。
   
   **mysql -u** **admin** **-P** *数据库连接端口* **-h** *Doris FE实例IP地址*
   ![](https://support.huaweicloud.com/cmpntguide-lts-mrs/public_sys-resources/note_3.0-zh-cn.png)
   - **admin**用户默认密码为空。
   
   - 数据库连接端口为Doris FE的查询连接端口，可以通过登录Manager，单击"集群 \> 服务 \> Doris \> 配置"，查询Doris服务的"query_port"参数获取。
   
   - Doris FE实例IP地址可通过登录MRS集群的Manager界面，单击"集群 \> 服务 \> Doris \> 实例"，查看任一FE实例的IP地址。
   
   - 用户也可以使用MySQL连接软件或者Doris WebUI界面连接数据库。
    
   
   
2. 执行以下命令创建角色： 
   **CREATE ROLE** *dorisrole* **;**
   
   
3. 执行以下命令给角色授权，具体权限介绍请参见[Doris用户权限说明](https://support.huaweicloud.com/cmpntguide-lts-mrs/mrs_01_249192.html)。例如，授予角色ADMIN_PRIV权限：
   
   **GRANT** *ADMIN_PRIV* **ON** **\*.\*.\* TO ROLE** **'** *dorisrole* **';**
   
   
4. 创建用户。 
   - 创建用户并绑定角色。 **CREATE USER** **'** *dorisuser* **'@'%'** **I** **DENTIFIED BY '** *password* **' DEFAULT ROLE '** *dorisrole* **';**
     
   
   - 创建用户添加密码过期策略并绑定角色。 例如，创建**dorisuser** 用户，设置该用户的密码在180天后过期，并绑定**dorisrole**角色：
     **CREATE USER '** *dorisuser* **'@'%' IDENTIFIED BY '** *password* **' PASSWORD_EXPIRE INTERVAL** *180 DAY* **;**
     **GRANT '** *dorisrole* **' TO '** *dorisuser* **'@'%';**
     ![](https://support.huaweicloud.com/cmpntguide-lts-mrs/public_sys-resources/note_3.0-zh-cn.png)
     - 集群未启用Kerberos认证（普通模式）时用户密码默认永不过期，存在安全风险，建议创建用户时设置密码过期策略，强制定期修改用户密码。
     
     
     
     - 密码过期后，该用户将不可用，必须使用具有Doris相同级别权限的用户修改该用户的密码。
       
   
   
   
   
 
