更新时间:2024-10-18 GMT+08:00

配置角色

数据安全中的角色管理,本质上是基于权限集提供的更加直观、强大的权限管控能力。角色与权限集的不同之处在于,权限集是将用户与权限直接关联,而角色是通过在数据源上创建或纳管一个角色,进而承载用户和权限之间的关联关系。

当您在角色管理页面,为权限集关联了角色之后,权限就不再同步到用户,而是只同步到角色。推荐您通过角色管理这种方式更加直观地管理权限关系、进行权限管控,角色管理还支持使用纳管角色管理已有的数据源权限。

  • 通用角色:在数据源上创建新角色,用于承载用户和权限之间的关联关系。
  • 纳管角色:纳管MRS数据源上已有的角色(可登录MRS FusionInsight Manager,选择“系统 > 权限 > 角色”查看),继承已有角色的MRS数据源权限。

本章主要描述如何配置通用角色配置纳管角色以及相关操作

前提条件

  • 配置角色前,已完成空间权限集的配置,请参考配置空间权限集
  • MRS和DWS角色同步时,系统通过管理中心组件数据连接中的用户进行账号相关的增删改查等操作,因此对数据连接中的用户有以下权限要求:
    • MRS Ranger连接中的用户需具备Ranger组件Admin权限。
    • DWS连接中的数据库用户,在非三权分立模式下至少需具备数据库dbadmin权限,三权分立模式下需具备系统管理员权限。

    配置方法详见检查集群版本与权限

  • 如果希望在快速模式下权限配置时能够展示数据连接中数据库、表以及字段等元数据提示信息,则需要在数据目录组件,对数据表成功进行过元数据采集,详见元数据采集任务

约束与限制

  • 当前仅支持为MRS和DWS集群创建角色。
  • 由于空间权限集主要用于确定工作空间权限范围,而非权限管控,因此不支持对空间权限集添加创建角色。
  • 进行授权时,授权对象名(库表列名)当前仅支持包含数字、英文、下划线、中划线和通配符*,暂不支持中文以及其他特殊字符。
  • 当为权限集创建了角色之后,权限就不再同步到用户,而是只同步到角色。
  • 仅当数据连接中的Agent选择的CDM集群为2.10.0.300及以上版本时,才支持角色管理。
  • MRS和DWS角色同步时,系统通过管理中心组件数据连接中的用户进行账号相关的增删改查等操作,因此对数据连接中的用户有以下权限要求:
    • MRS Ranger连接中的用户需具备Ranger组件Admin权限。
    • DWS连接中的数据库用户,在非三权分立模式下至少需具备数据库dbadmin权限,三权分立模式下需具备系统管理员权限。

    配置方法详见检查集群版本与权限

  • 角色中的目录权限仅展示该空间下所指定角色在集群上的目录权限。
  • 进行权限同步时,需要为dlg_agency委托配置相关权限,请参考授权dlg_agency委托
  • 当前数据权限管控为白名单机制,是在待授权用户原有权限的基础上增加允许操作条件,不会影响用户的原有权限。如果仅需要当前数据权限管控所赋予的权限生效,则需要您手动去除待授权用户的原有权限。详见数据权限管控说明
  • 默认在DataArts Studio数据开发组件执行脚本、测试运行作业时,数据源(此处指MRS/DWS数据源)会使用数据连接上的账号进行认证鉴权。因此在数据开发时,权限管控依然无法生效。需要您启用细粒度认证,使得在数据开发执行脚本、测试运行作业时,使用当前用户身份认证鉴权,从而做到实现不同用户具有不同的数据权限,使角色/权限集中的权限管控生效。

配置通用角色

  1. DataArts Studio控制台首页,选择对应工作空间的“数据安全”模块,进入数据安全页面。
  2. 单击数据安全左侧导航树中的角色管理,进入角色管理页面。
  3. 您可以通过以下两种方式之一,进入配置通用角色入口。

    • 已有角色:在角色管理页面,角色管理导航树上会默认展示已创建的权限集(详见创建权限集)作为通用角色。您可以单击角色名,进入角色详情配置页面。
      图1 进入角色详情

    • 新建角色:在角色管理页面,在角色管理导航树单击,选择“创建通用角色”。参考表1完成通用角色创建,配置完成单击“确定”,系统默认进入新建的角色详情配置页面。
      表1 参数设置

      参数名

      参数设置

      *权限集名称

      标识权限集,实例下唯一。

      建议名称中包含含义,避免无意义的描述,以便于快速识别所需权限集。

      *父权限集

      选择对应的父权限集,父权限集可以是空间权限集或其他权限集。注意选择父权限集后,当前权限集的权限也为其父权限集的子集。

      *管理员

      管理员为当前权限集的负责人,具有配置当前权限集内权限的能力。管理员职能范围:
      • 权限配置:为权限集分配数据源权限。
      • 用户配置:将当前集合内权限分配给用户、用户组或工作空间角色。
      • 创建权限集:基于当前权限集新建权限集和角色,新建权限集的权限不会大于当前权限集。

      描述

      为更好地识别权限集,此处加以描述信息。

      图2 创建通用角色

  4. 基本信息:在角色详情页面,展开基本信息区域可以查看角色名称、ID、管理员等信息,详见图3

    另外,还可以在配置完角色和权限后,通过右上角的“权限同步”和“角色信息同步”进行同步。
    图3 角色基本信息

  5. 数据源角色配置:在角色详情页面的数据源角色配置页签,可通过“新建”在数据源上创建新角色,用于承载用户和权限之间的关联关系。

    图4 数据源角色配置页签

    单击“新建”,系统在弹出的窗口中展示数据源的信息,您需要勾选所需配置的数据源并填写“角色名”,然后单击“确定”,即可完成角色创建。

    图5 新建数据源角色

    如果后续不再需要数据源角色,可以通过列表操作栏中的“删除”删除数据源中的角色。删除后权限同步就不再同步到角色,而是只同步到用户信息。

  6. 数据权限:在角色详情页面,单击“数据权限”进入数据权限页签。数据权限页签默认展示数据视角,可手动切换到权限视角。在这两种视角下,配置的权限数据是互通的,差异仅为展示视角的不同,推荐您使用权限视角进行批量授权。

    • 数据视角:数据视角下,系统从数据的角度为您提供权限配置入口,当前仅支持MRS数据源。
      图6 数据视角权限配置

      配置权限时,您可以选择“整库”、“整表”或“整列”等层级,然后在数据源信息中勾选对应层级,进行批量授权。另外,也可以在展开的导航树中,单击对应数据操作列中的“授权”,进行单一授权。

      数据视图授权时,系统也提供了“快速模式”和“显示无权限的资源”功能。开启快速模式的情况下,库表列的元数据会从数据目录获取,否则会从数据源获取元数据。已完成元数据采集的场景下推荐开启快速模式。
      • 值得注意的是,库、表、列的权限是分层管理的,例如仅授予库权限后,则被授权用户对表和列依然是无权限的,如需对表或列授权,要再次按照对应层级进行授权。

        例如,选择数据库授权,当手动填写数据表表名、或者填写“*”作为通配符时,此授权实际为对表进行授权;当手动填写数据列名、或者填写“*”作为通配符时,此授权实际为对列进行授权。

      • 进行授权时,授权对象名(库表列名)当前仅支持包含数字、英文、下划线、中划线和通配符*,暂不支持中文以及其他特殊字符。
      图7 数据视角授权
    • 权限视角:权限视角下,系统从权限的角度为您提供权限配置入口。
      配置权限时,您需要直接单击“新建”,然后依次选择数据层级,进行权限配置。在权限视角下,同一层级(例如数据库、数据表或数据列)不允许选择多个对象进行批量授权。当前权限类型暂不支持选择为“禁止”。
      • 值得注意的是,库、表、列的权限是分层管理的,例如仅授予库权限后,则被授权用户对表和列依然是无权限的,如需对表或列授权,要再次按照对应层级进行授权。

        例如,选择数据库授权,当手动填写数据表表名、或者填写“*”作为通配符时,此授权实际为对表进行授权;当手动填写数据列名、或者填写“*”作为通配符时,此授权实际为对列进行授权。

      • 进行授权时,授权对象名(库表列名)当前仅支持包含数字、英文、下划线、中划线和通配符*,暂不支持中文以及其他特殊字符。
      • MRS Hive授权时,数据库可修改为URL,用于为存算分离场景下的OBS路径授权。存算分离场景下,使用Hive额外所需如下URL权限:
        • 创建库:write
        • 权限创建表/写入数据/删除表:read权限
      配置权限后,在权限视角下支持您对所配置的权限进行编辑、同步或删除等操作。
      图8 权限视角权限配置

  7. 成员列表:在角色详情页面,单击“成员列表”进入成员列表页签。

    成员列表的含义即为将数据源角色配置中的角色与此处的用户关联起来。您可以单击“添加”,按照用户、用户组或工作空间角色的维度将用户添加到角色中。其中的用户和用户组来自于当前工作空间中已添加的用户和用户组。
    图9 成员列表

  8. 从属角色:在角色详情页面,单击“从属角色”进入从属角色页签。

    在从属角色页签,您可以查看到当前角色的子角色。
    图10 查看从属角色

  9. 目录权限:在角色详情页面,单击“目录权限”进入目录权限页签。

    目录权限通过从Ranger组件获取对应角色的HDFS策略,从而显示该角色具有权限的HDFS路径,并支持查看对该路径有哪些操作权限。如果想查询某路径下的权限,则可以使用搜索功能进行查看,注意当前仅支持精确匹配。

    图11 查看目录权限

  10. 日志:在角色详情页面,单击“日志”进入日志页签。

    在日志页签,当权限同步失败后,您可以查看到日志详情。系统每天0点定时删除30天前的日志。
    图12 查看日志

  11. 角色配置完成后,并不会直接生效。需要您将权限和角色手动同步到数据源中,同步成功后权限控制才能生效,详见相关操作

配置纳管角色

  1. DataArts Studio控制台首页,选择对应工作空间的“数据安全”模块,进入数据安全页面。
  2. 单击数据安全左侧导航树中的角色管理,进入角色管理页面。
  3. 角色管理页面,在角色管理导航树单击,选择“创建纳管角色”。在弹窗中选择已创建的Ranger连接,您需要在选择“父权限集/角色”后,单击所需纳管MRS角色操作栏中的“纳管”,完成纳管角色的创建。也可以在勾选多个所需纳管MRS角色后,单击列表上方“纳管”进行批量创建。

    如果后续不再需要纳管角色,可以直接在角色管理导航树删除纳管角色,即可解除纳管角色。解除后权限同步就不再同步到角色,而是只同步到用户信息。

    图13 创建纳管角色

  4. 关闭角色纳管弹窗,返回角色管理页面。在角色管理导航树上找到上一步中纳管的MRS角色,单击角色名,进入角色详情配置页面。
  5. 基本信息:在角色详情页面,展开基本信息区域可以查看角色名称、ID、管理员等信息,详见图14

    另外,还可以在配置完角色和权限后,通过右上角的“权限同步”和“角色信息同步”进行同步。
    图14 角色基本信息

  6. 成员列表:在角色详情页面的成员列表页签,可以查看当前MRS角色所关联的用户或用户组。纳管角色暂不支持在数据安全侧添加用户。

    图15 成员列表

  7. 数据权限:在角色详情页面,单击“数据权限”进入数据权限页签。数据权限页签默认展示数据视角,可手动切换到权限视角。在这两种视角下,配置的权限数据是互通的,差异仅为展示视角的不同,推荐您使用权限视角进行批量授权。

    • 数据视角:数据视角下,系统从数据的角度为您提供权限配置入口。如果已成功运行过元数据采集任务(详见元数据采集任务),则可以直接查看到数据源信息,单击可展开导航树。
      图16 数据视角权限配置

      配置权限时,您可以选择“整库”、“整表”或“整列”等层级,然后在数据源信息中勾选对应层级,进行批量授权。另外,也可以在展开的导航树中,单击对应数据操作列中的“授权”,进行单一授权。

      数据视图授权时,系统也提供了“快速模式”和“显示无权限的资源”功能。开启快速模式的情况下,库表列的元数据会从数据目录获取,否则会从数据源获取元数据。已完成元数据采集的场景下推荐开启快速模式。
      • 值得注意的是,库、表、列的权限是分层管理的,例如仅授予库权限后,则被授权用户对表和列依然是无权限的,如需对表或列授权,要再次按照对应层级进行授权。

        例如,选择数据库授权,当手动填写数据表表名、或者填写“*”作为通配符时,此授权实际为对表进行授权;当手动填写数据列名、或者填写“*”作为通配符时,此授权实际为对列进行授权。

      • 进行授权时,授权对象名(库表列名)当前仅支持包含数字、英文、下划线、中划线和通配符*,暂不支持中文以及其他特殊字符。
      图17 数据视角授权
    • 权限视角:权限视角下,系统从权限的角度为您提供权限配置入口。
      配置权限时,您需要直接单击“新建”,然后依次选择数据层级,进行权限配置。在权限视角下,同一层级(例如数据库、数据表或数据列)不允许选择多个对象进行批量授权。当前权限类型暂不支持选择为“禁止”。
      • 值得注意的是,库、表、列的权限是分层管理的,例如仅授予库权限后,则被授权用户对表和列依然是无权限的,如需对表或列授权,要再次按照对应层级进行授权。

        例如,选择数据库授权,当手动填写数据表表名、或者填写“*”作为通配符时,此授权实际为对表进行授权;当手动填写数据列名、或者填写“*”作为通配符时,此授权实际为对列进行授权。

      • 进行授权时,授权对象名(库表列名)当前仅支持包含数字、英文、下划线、中划线和通配符*,暂不支持中文以及其他特殊字符。
      • MRS Hive授权时,数据库可修改为URL,用于为存算分离场景下的OBS路径授权。存算分离场景下,使用Hive额外所需如下URL权限:
        • 创建库:write
        • 权限创建表/写入数据/删除表:read权限
      配置权限后,在权限视角下支持您对所配置的权限进行编辑、同步或删除等操作。
      图18 权限视角权限配置

  8. 目录权限:在角色详情页面,单击“目录权限”进入目录权限页签。

    目录权限通过从Ranger组件获取对应角色的HDFS策略,从而显示该角色具有权限的HDFS路径,并支持查看对该路径有哪些操作权限。如果想查询某路径下的权限,则可以使用搜索功能进行查看,注意当前仅支持精确匹配。

    图19 查看目录权限

  9. 纳管角色的权限配置完成后,并不会直接生效。需要您将权限手动同步到Ranger组件中,同步成功后权限控制才能生效,详见同步权限

相关操作

  • 同步权限:在角色管理中,配置数据权限后需要同步权限到数据源中权限管控才能生效。

    您可以在角色详情页面,单击基本信息区域右上角的“权限同步”进行同步。当需要批量同步时,可以在角色管理导航树上勾选角色后,在导航树上方单击进行权限同步。

  • 同步角色:在通用角色管理(纳管角色无需同步角色)中,权限集配置角色后需要同步到数据源中权限管控才能生效。

    您可以在角色详情页面,单击基本信息区域右上角的“角色信息同步”,或数据源角色配置页签中列表操作栏的“同步”,进行角色信息同步。当需要批量同步时,可以在角色管理导航树上勾选角色后,在导航树上方单击进行角色信息同步。

    • 角色信息同步成功后,MRS数据源角色命名格式为“角色名_时间戳”,DWS据源角色命名格式为“dataarts_studio_role_角色名”。
    • 同步角色到MRS集群的场景下,系统提示角色信息同步成功后,还需要等待约5分钟,直到Ranger组件自动触发并完成同步MRS集群角色后,权限管控才能生效。Ranger组件是否同步完成,可通过数据源角色配置页签中列表中的“数据源角色名称”确认:
      • 未完成同步的角色,数据源角色名称为:角色名_10位时间戳
      • 已完成同步的角色,数据源角色名称为:角色名_13位时间戳
  • 删除角色:在角色管理导航树上勾选角色后,在导航树上方单击,在弹窗中再次确认后,即可删除权限集。
    注意,通用角色中已配置角色、权限、用户或有子权限集时不可删除,如需删除应先清理相关配置。纳管角色中已配置权限时不可删除,如需删除应先清理相关配置。

    通用角色删除后将被转移至回收站中,您可以在30天内进行还原,在回收站中超过30天的数据将被自动删除。详见管理回收站章节。