更新时间:2024-11-26 GMT+08:00
分享

创建Doris权限角色

Doris权限管理系统实现了行级别细粒度的权限控制,和基于角色的权限访问控制。

  • 仅MRS 3.3.0及之后版本开启Kerberos认证的集群支持通过FusionInsight Manager创建角色进行赋权,如果集群为MRS 3.3.0之前的版本,无论是否开启Kerberos认证,都需要通过root用户(默认密码为空)来连接数据库。
  • MRS 3.5.0及之后版本,集群未启用Kerberos认证(普通模式)也支持在Manager页面创建用户,并绑定角色获得相应权限。

前提条件

  • Doris服务运行正常。
  • 角色名称不能为operatoradmin
  • 集群已启用Kerberos认证(安全模式)时,Doris赋权成功后,权限生效时间大约为2分钟。

添加Doris角色

  1. 登录FusionInsight Manager,选择“系统 > 权限 > 角色”,在“角色”界面单击“添加角色”按钮,进入添加角色页面。
  1. 在添加角色界面输入“角色名称”,在“配置资源权限”列表中单击集群名称,进入服务列表页面,单击“Doris”服务,进入Doris权限资源页面。

    根据业务需求确定是否要创建具有Doris管理员权限的角色。

    • Doris管理员权限为:除去节点操作权限外的所有权限。
    • 角色名称:添加的角色名不能包含中划线字符“-”,并且不能以数字开头。
    • 是,执行3
    • 否,执行4

  2. 勾选“Doris管理员权限”,单击“确定”,完成角色创建。
  3. 单击“Doris读写权限”,勾选对应资源的“查询”、“删除”、“插入”、“修改”、“创建”或“授权”权限。

    根据业务需求确定是否赋权。

  4. 授权完成后,单击“确定”完成角色创建。

添加用户并绑定Doris对应角色

  1. 登录FusionInsight Manager,选择“系统 > 权限 > 用户”,单击“添加用户”,进入添加用户页面,配置以下参数:

    • 用户名:输入需要创建的用户名称。
    • 用户类型:选择用户类型,包括“人机”和“机机”。
      • 集群已启用Kerberos认证(安全模式)推荐选择“人机”。
      • 集群未启用Kerberos认证(普通模式)推荐选择“机机”。
    • “密码”和“确认新密码”:设置人机用户对应的密码。
    • 角色:单击“添加”,在弹框中选择具有Doris权限的角色,单击“确定”添加到角色。
    • 用户名:添加的用户名不能包含中划线字符“-”,否则会导致认证失败。
    • 密码:设置的密码不能携带“$”、“.”、“#”特殊字符,否则会导致认证失败。

  2. 单击“确定”完成创建用户操作。
  3. 使用新创建的用户连接Doris服务。

    • 集群已启用Kerberos认证(安全模式)
      1. 使用新建的人机用户重新登录FusionInsight Manager,修改该用户初始密码。
      2. 登录安装了MySQL客户端的节点,使用新创建的用户及修改后的密码连接Doris服务。

        export LIBMYSQL_ENABLE_CLEARTEXT_PLUGIN=1

        mysql -udorisuser -p -PFE查询连接端口 -hDoris FE实例IP地址

        执行命令后输入数据库登录用户密码。

        • Doris FE的查询连接端口,可以通过登录Manager,单击“集群 > 服务 > Doris > 配置”,查询Doris服务的“query_port”参数获取。
        • Doris FE实例IP地址可通过登录MRS集群的Manager界面,单击“集群 > 服务 > Doris > 实例”,查看任一FE实例的业务IP地址。
        • 用户也可以使用MySQL连接软件或者在Doris WebUI界面连接数据库。
    • 集群未启用Kerberos认证(普通模式)
      1. 登录安装了MySQL客户端的节点,使用admin用户连接Doris服务。

        mysql -uadmin-PFE查询连接端口 -hDoris FE实例IP地址

        admin用户默认密码为空。

      2. 执行以下命令为创建的机机用户设置密码:

        SET PASSWORD FOR '已创建的机机用户名称' = PASSWORD('xxx')

      3. 使用机机用户重新在MySQL客户端连接Doris服务:

        mysql -u机机用户名称 -p-PFE查询连接端口 -hDoris FE实例IP地址

        执行命令后输入用户密码。

添加角色并绑定给用户(集群未启用Kerberos认证(普通模式)

该操作仅适用于MRS 3.5.0之前版本。

  1. 登录安装了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界面连接数据库。

  2. 执行以下命令创建角色:

    CREATE ROLE dorisrole;

  3. 执行以下命令给角色授权,具体权限介绍请参见Doris用户权限说明。例如,授予角色ADMIN_PRIV权限:

    GRANT ADMIN_PRIV ON *.*.* TO ROLE 'dorisrole';

  4. 创建用户。

    • 创建用户并绑定角色。

      CREATE USER 'dorisuser'@'%' IDENTIFIED BY 'password' DEFAULT ROLE 'dorisrole';

    • 创建用户添加密码过期策略并绑定角色。

      例如,创建dorisuser用户,设置该用户的密码在180天后过期,并绑定dorisrole角色:

      CREATE USER 'dorisuser'@'%' IDENTIFIED BY 'password' PASSWORD_EXPIRE INTERVAL 180 DAY;

      GRANT 'dorisrole' TO 'dorisuser'@'%';

      • 集群未启用Kerberos认证(普通模式)时用户密码默认永不过期,存在安全风险,建议创建用户时设置密码过期策略,强制定期修改用户密码。
      • 密码过期后,该用户将不可用,必须使用具有Doris相同级别权限的用户修改该用户的密码。

相关文档