# 配置权限集
在数据访问权限管理的实际场景下，通常会有一级部门、二级部门、三级部门等多级权限的划分。为此，数据安全组件提供了自上而下分层式的数据权限管理方式。您可以通过空间权限集配置工作空间内的最大权限，在此基础上，将其向下拆分出新的子权限集，提供进一步的细分权限管理。
权限集本质上是将用户与权限直接关联。其中的空间权限集为没有父权限集的特殊权限集，限定了整个工作空间可访问的权限范围。在此之下定义的权限集均有其对应的父权限集，权限也为其父权限集的子集。
空间权限集和权限集在配置上都是将用户与权限直接关联，二者使用上的区别在于：
- 空间权限集是没有父权限集的顶层权限集，一般每个工作空间下创建一个即可；而权限集必须关联一个空间权限集或其他权限集作为其父权限集，可以新建多个，用于给不同使用场景的用户关联不同的权限。
- 空间权限集主要用于确定工作空间权限范围，而权限集主要用于权限管控。即空间权限集一般无需进行权限同步，且不支持为空间权限集关联角色；而权限集可通过权限同步进行权限管控（实际使用时，更推荐通过权限集关联角色进行权限管控）。
 
本章主要描述如何通过[创建权限集]和[配置权限集]进行权限管控，在实际使用中更加推荐您通过[配置角色](https://support.huaweicloud.com/usermanual-dataartsstudio/dataartsstudio_01_1157.html)进行权限管控。
#### 前提条件
- 配置权限集前，已完成空间权限集的配置，请参考[配置空间权限集](https://support.huaweicloud.com/usermanual-dataartsstudio/dataartsstudio_01_1155.html)。
- 如果希望在权限配置时能够展示数据连接中数据库、表以及字段等元数据提示信息，则需要在数据目录组件，对数据表成功进行过元数据采集，详见[元数据采集任务](https://support.huaweicloud.com/usermanual-dataartsstudio/dataartsstudio_01_0804.html)。
 
#### 约束与限制
- DAYU Administrator、Tenant Administrator、数据安全管理员和父权限集管理员可以创建、修改或同步权限集，权限集管理员支持同步空间权限集，其他普通用户无权限操作。
- 当前通过权限集管控权限时，仅支持DLI、MRS Hive、DWS和MRS HetuEngine数据源。
- 配置Hetu权限和Hetu权限同步功能推荐二选一，同一个Hetu catalog不要使用两种权限管控方式，如果权限集中的Hetu权限和Hetu权限同步中的权限不一致，会出现互相覆盖的情况。
- 权限集权限配置中，特殊情况下可能会出现子权限集权限超出父权限集范围的情况。例如当子权限集已配置某条权限记录后，父权限集中再删除此权限，会导致出现此情况，当前不支持级联删除权限。
- 权限集配置完成后，权限管控并不会直接生效，而是需要将权限集手动同步到数据源后，权限管控才能生效。
  由于角色管理基于权限集提供了更加直观、强大的权限管控能力，因此除DLI数据源外，一般无需同步权限集，实际使用中推荐通过[配置角色](https://support.huaweicloud.com/usermanual-dataartsstudio/dataartsstudio_01_1157.html)进行权限管控。如果需要同步，则需注意以下限制：
  - 进行权限同步时，需要为dlg_agency委托配置相关权限，请参考[授权dlg_agency委托](https://support.huaweicloud.com/usermanual-dataartsstudio/dataartsstudio_01_1152.html)。
  
  - 进行授权时，授权对象名（库表列名）当前仅支持包含数字、英文、下划线、中划线和通配符\*，暂不支持中文以及其他特殊字符。
  
  - DWS权限集约束限制如下：
    - DWS权限集仅用于确定权限范围，不支持同步用户组以及用户的权限，仅支持同步角色的权限。因此如需使DWS权限生效，则需要关联角色，详见[配置角色](https://support.huaweicloud.com/usermanual-dataartsstudio/dataartsstudio_01_1157.html)。
    
    - DWS权限集授权时，授权资源只支持配置到具体的某一个存在的库或schema，不支持填写"\*"作为通配符。对于表或列则支持通配符，例如若要对某schema下的所有表进行授权，可将数据表填写为"\*"。
    
    - DWS权限集授权时，如果给某一用户赋予了DWS数据源某个Schema下的所有表权限（即将权限中的数据表配置为\*号），则该用户具备对该Schema下的所有表的相应权限。但由于DWS自身权限特性限制，这些赋予的权限仅针对当前已有的表；而对于权限同步后再创建的新表（以下简称未来表），该用户依然没有权限，需要在角色/权限集中再次手动进行权限同步后，才能确保该用户具备未来表的相应权限。 为了解决未来表权限需要手动同步的问题，您可以通过未来表权限为指定Schema配置未来表的建表用户。当这些用户在指定Schema下创建未来表时，当前实例下所有对该Schema拥有全表权限的用户，将自动获得对所创建未来表的相应权限。
      
     
  
  - DLI权限集同步时会将权限由IAM创建自定义策略绑定到用户/用户组中。IAM最多可创建自定义策略200条，同步前请确保配额充足。
  
  - MRS HetuEngine授权时，不支持"快速模式"。使用Hetu前需在MRS启用Ranger鉴权。权限集用户配置Hetu权限需要将该用户在MRS加入hetuuser用户组，不然无法执行Hetu SQL。
    
- 当前数据权限管控为白名单机制，是在待授权用户原有权限的基础上增加允许操作条件，不会影响用户的原有权限。如果仅需要当前数据权限管控所赋予的权限生效，则需要您手动去除待授权用户的原有权限。详见[数据权限管控说明](https://support.huaweicloud.com/usermanual-dataartsstudio/dataartsstudio_01_1151.html#dataartsstudio_01_1151__zh-cn_topic_0000001678748550_section47668147310)。
  空间权限集删除后将被转移至回收站中，您可以在30天内进行还原，在回收站中超过30天的数据将被自动删除。详见[管理回收站](https://support.huaweicloud.com/usermanual-dataartsstudio/dataartsstudio_01_1183.html)章节。
  
- 默认在DataArts Studio数据开发组件执行脚本、测试运行作业时，数据源（此处指MRS/DWS数据源）会使用数据连接上的账号进行认证鉴权。因此在数据开发时，权限管控依然无法生效。需要您启用细粒度认证，使得在数据开发执行脚本、测试运行作业时，使用当前用户身份认证鉴权，从而做到实现不同用户具有不同的数据权限，使角色/权限集中的权限管控生效。
 
 #### 创建权限集
1. [登录DataArts Studio管理控制台](https://console.huaweicloud.com/dayu/)。
   
   详情请参考[访问DataArts Studio实例控制台](https://support.huaweicloud.com/usermanual-dataartsstudio/dataartsstudio_01_0001.html)。
   
   
2. 在DataArts Studio控制台首页，选择对应工作空间的"数据安全"模块，进入数据安全页面。
3. 单击数据安全左侧导航树中的"访问权限管理 \> 权限集"，进入权限集页面。
4. 在"权限集"页面单击"新建"，创建权限集。 
   图1创建权限集   
   ![](https://support.huaweicloud.com/usermanual-dataartsstudio/zh-cn_image_0000002545510207.png "点击放大")
   
   
   
5. 新建权限集配置请参考[表1]，参数配置完成单击"确定"即可。
   
    表1参数设置 
   | 参数名      | 参数设置                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
   |:---|:---|
   | \*权限集名称 | 标识权限集，实例下唯一。 建议名称中包含含义，避免无意义的描述，以便于快速识别所需权限集。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
   | \*父权限集   | 选择对应的父权限集，父权限集可以是空间权限集或其他权限集。注意选择父权限集后，当前权限集的权限也为其父权限集的子集。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
   | \*管理员    | 管理员为当前权限集的负责人，具有配置当前权限集内权限的能力。管理员职能范围： - 权限配置：为权限集分配数据源权限。  - 用户配置：将当前集合内权限分配给用户、用户组或工作空间角色。  - 创建权限集：基于当前权限集新建权限集和角色，新建权限集的权限不会大于当前权限集。   |
   | 描述      | 为更好地识别权限集，此处加以描述信息。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
      
   图2创建权限集配置   
   ![](https://support.huaweicloud.com/usermanual-dataartsstudio/zh-cn_image_0000002513430604.png "点击放大")
   
   
   
   
 
 #### 配置权限集
1. [登录DataArts Studio管理控制台](https://console.huaweicloud.com/dayu/)。
   
   详情请参考[访问DataArts Studio实例控制台](https://support.huaweicloud.com/usermanual-dataartsstudio/dataartsstudio_01_0001.html)。
   
   
2. 在DataArts Studio控制台首页，选择对应工作空间的"数据安全"模块，进入数据安全页面。
3. 单击数据安全左侧导航树中的"访问权限管理 \> 权限集"，进入权限集页面。
4. 在"权限集"页面，找到需要配置的权限集，单击权限集名称进入详情页面。
5. **基本信息** ：在权限集详情页面，基本信息区域可以查看权限集名称、ID、管理员等信息，详见[图3]。
   
   图3权限集基本信息   
   ![](https://support.huaweicloud.com/usermanual-dataartsstudio/zh-cn_image_0000001682269530.png "点击放大")
   
   
   
6. **权限配置** ：在权限集详情页面，权限配置页签默认展示数据视角，可手动切换到权限视角。在这两种视角下，配置的权限数据是互通的，差异仅为展示视角的不同，推荐您使用权限视角进行批量授权。
   
   - 数据视角：数据视角下，系统从数据的角度为您提供权限配置入口，当前仅支持MRS Hive数据源，在授权时可选的数据范围为父权限集中已授权的数据。数据视角配置权限后，权限会自动同步。
     图4数据视角权限配置   
     ![](https://support.huaweicloud.com/usermanual-dataartsstudio/zh-cn_image_0000001963814621.png "点击放大")
     配置权限时，您可以选择"整库"、"整表"或"整列"等层级，然后在数据源信息中勾选对应层级，进行批量授权。另外，也可以在展开的导航树中，单击对应数据操作列中的"授权"，进行单一授权。
     数据视图授权时，系统提供了"快速模式"和"显示无权限的资源"功能。开启快速模式的情况下，库表列的元数据会从数据目录获取，否则会从数据源获取元数据。已完成元数据采集的场景下推荐开启快速模式。需注意，快速模式最多只能获取3000个库信息。
     ![](https://support.huaweicloud.com/usermanual-dataartsstudio/public_sys-resources/note_3.0-zh-cn.png)
     - 值得注意的是，库、表、列的权限是分层管理的，例如仅授予库权限后，则被授权用户对表和列依然是无权限的，如需对表或列授权，要再次按照对应层级进行授权。
     
     - 进行授权时，授权对象名（库表列名）当前仅支持包含数字、英文、下划线、中划线和通配符\*，暂不支持中文以及其他特殊字符。
      
     图5数据视角授权   
     ![](https://support.huaweicloud.com/usermanual-dataartsstudio/zh-cn_image_0000001936659154.png "点击放大") 
   
   - 权限视角：权限视角下，系统从权限的角度为您提供权限配置入口。在授权时可选的数据范围为父权限集中已授权的数据。 配置权限时，您需要直接单击"新建"，然后依次选择数据层级，进行权限配置。在权限视角下，同一层级（例如数据库、数据表或数据列）不允许选择多个对象进行批量授权。当前权限类型暂不支持选择为"禁止"。权限视角配置权限时，支持勾选"自动同步权限信息"，权限在配置后会自动同步，无需再手动进行权限同步。开启快速模式的情况下，库表列的元数据会从数据目录获取，否则会从数据源获取元数据。已完成元数据采集的场景下推荐开启快速模式。需注意，快速模式最多只能获取3000个库信息。
     DLI授权支持的资源类型分为数据列、数据表和数据库。MRS Hive授权支持的资源类型分为数据列、数据表、数据库、URL和UDF。DWS授权支持的资源类型分为数据列、数据表、Schema、数据库和逻辑集群。Hetu授权支持的资源类型分为数据列、数据表、Schema和Catalog。
     - 资源类型选择数据列时，需要配置库、表、列信息，此授权实际为对列进行授权。
     
     - 资源类型选择数据表时，需要配置库、表信息，此授权实际为对表进行授权。
     
     - 资源类型选择Schema时，需要配置库、Schema信息，此授权实际为对Schema进行授权。
     
     - 资源类型选择数据库时，需要配置库信息，此授权实际为对库进行授权。
     
     - 资源类型选择Catalog时，需要配置Catalog信息，此授权实际为对Catalog进行授权。
     
     - 资源类型选择URL时，需要输入数据库URL，用于为存算分离场景下的OBS路径授权。存算分离场景下，使用Hive需如下URL权限：
       - 创建库：create+write
       
       - 权限创建表：create+read
       
       - 写入数据：write+read
       
       - 删除表：drop+read
        
     
     - 资源类型选择UDF时，需要配置数据库和UDF函数，用于支持Hive数据源的UDF权限管控。
     
     - 资源类型选择逻辑集群时，需要配置逻辑集群，用于为DWS数据源开启逻辑集群功能后的授权。逻辑集群场景下，使用DWS额外所需如下逻辑集群权限：
       - 允许在子集群中创建表对象：create
       
       - 允许访问子集群下的表对象：usage
       
       - 允许用户在具有compute权限的计算子集群上进行弹性计算：compute
        
      
     ![](https://support.huaweicloud.com/usermanual-dataartsstudio/public_sys-resources/note_3.0-zh-cn.png)
     - 值得注意的是，库、表、列的权限是分层管理的，例如仅授予库权限后，则被授权用户对表和列依然是无权限的，如需对表或列授权，要再次按照对应层级进行授权。
     
     - 进行授权时，授权对象名（库表列名）当前仅支持包含数字、英文、下划线、中划线和通配符\*，暂不支持中文以及其他特殊字符。
     
     - DWS权限集授权时，授权资源只支持配置到具体的某一个存在的库或schema，不支持填写"\*"作为通配符。对于表或列则支持通配符，例如若要对某schema下的所有表进行授权，可将数据表填写为"\*"。
     
     - MRS HetuEngine授权时，不支持"快速模式"。使用Hetu前需在MRS启用Ranger鉴权。权限集用户配置Hetu权限需要将该用户在MRS加入hetuuser用户组，不然无法执行Hetu SQL。
      
     配置权限后，在权限视角下支持您对所配置的权限进行编辑、同步或删除等操作。
     图6权限视角权限配置
     ![](https://support.huaweicloud.com/usermanual-dataartsstudio/zh-cn_image_0000002513625398.png "点击放大")
     
     因数据源类型和资源类型的不同，资源内容列显示也有所不同。
     表2资源内容显示规则 
     | 资源类型                 | 数据源类型                   | 资源内容                                                                                                                                                                                                                                       |
     |:---|:---|:---|
     | 数据列（column）          | DLI、HIVE、DWS、HETUENGINE  | DWS: database.schema.table.column DLI/HIVE: database.table.column HETUENGINE:catalog.schema.table.column |
     | 数据表（table）         | DLI、HIVE、DWS、HETUENGINE | DWS: database.schema.table DLI/HIVE: database.table HETUENGINE:catalog.schema.table                          |
     | Schema                | DWS、HETUENGINE            | DWS: database.schema HETUENGINE:catalog.schema                                                                                                                             |
     | 数据库（database）     | DLI、HIVE、DWS            | DLI/HIVE/DWS：database                                                                                                                                                                                                                    |
     | Catalog           | HETUENGINE             | catalog                                                                                                                                                                                                                                  |
     | URL                  | HIVE                    | url                                                                                                                                                                                                                                        |
     | UDF（function）       | HIVE                     | database.function                                                                                                                                                                                                                             |
     | 逻辑集群（logiccluster） | DWS                     | logiccluster                                                                                                                                                                                                                                 |
        
     
   
   
   
   
7. **用户配置** ：在权限集详情页面，单击"用户配置"进入用户配置页签。
   
   用户配置的含义即为将权限配置中定义的数据权限，与此处的用户绑定起来。您可以单击"添加"，按照用户、用户组（当前暂不支持选择"工作空间角色"）的维度将用户添加到权限集中。其中的用户和用户组来自于当前工作空间中已添加的用户和用户组。
   ![](https://support.huaweicloud.com/usermanual-dataartsstudio/public_sys-resources/note_3.0-zh-cn.png)
   按照数据源用户类型添加用户、用户组时，需要在所选MRS集群的所有用户、用户组中选择待管控权限的用户；配置MRS数据源用户、用户组后，会将用户权限同步至当前权限集下的所有集群，因此需确保该数据源用户在当前权限集下的所有集群均存在，否则会导致权限集同步失败。
   图7用户配置   
   ![](https://support.huaweicloud.com/usermanual-dataartsstudio/zh-cn_image_0000002564168465.png "点击放大")
   
   
   
8. **子权限集** ：在权限集详情页面，单击"子权限集"进入子权限集页签。
   
   在子权限集页签，您可以查看到当前权限集下的子权限集。
   图8查看子权限集   
   ![](https://support.huaweicloud.com/usermanual-dataartsstudio/zh-cn_image_0000001730388437.png "点击放大")
   
   
   
9. **日志** ：在权限集详情页面，单击"日志"进入日志页签。
   
   在日志页签，当权限同步失败后，您可以查看到日志详情。系统每天0点定时删除30天前的日志。
   图9查看日志   
   ![](https://support.huaweicloud.com/usermanual-dataartsstudio/zh-cn_image_0000001682269526.png "点击放大")
   
   
   
10. 权限集配置完成后，并不会直接生效。需要您将权限集手动同步到数据源中，同步成功后权限管控才能生效，详见[同步权限集]。
    
    但由于角色管理基于权限集提供了更加直观、强大的权限管控能力，因此一般无需同步空间权限集，实际使用中推荐通过[配置角色](https://support.huaweicloud.com/usermanual-dataartsstudio/dataartsstudio_01_1157.html)进行权限管控。
    
    
 
 #### 相关操作
- 同步权限集：权限集需要同步到数据源中权限管控才能生效。但由于角色管理基于权限集提供了更加直观、强大的权限管控能力，因此一般无需同步权限集，实际使用中推荐通过[配置角色](https://support.huaweicloud.com/usermanual-dataartsstudio/dataartsstudio_01_1157.html)进行权限管控。
  如需同步权限集，则在权限集页面，单击列表中对应权限集操作栏中的"同步"，即可将权限集同步至数据源。当需要批量同步时，可以在勾选权限集后，在列表上方单击"同步"。
  
- 编辑权限集：在权限集页面，单击列表中对应权限集操作栏中的"编辑"，即可修改权限集名称、管理员、描述信息。
- 删除权限集：在权限集页面，单击列表中对应权限集操作栏中的"删除"，在弹窗中再次确认后，即可删除权限集。当需要批量删除时，可以在勾选权限集后，在列表上方单击"删除"。
  注意，已配置权限、用户或有子权限集的权限集不可删除。如需删除应先清理权限集的相关配置。
  ![](https://support.huaweicloud.com/usermanual-dataartsstudio/public_sys-resources/note_3.0-zh-cn.png)
  权限集删除后将被转移至回收站中，您可以在30天内进行还原，在回收站中超过30天的数据将被自动删除。详见[管理回收站](https://support.huaweicloud.com/usermanual-dataartsstudio/dataartsstudio_01_1183.html)章节。
  
 
