
# 同步IAM用户到数据源
默认情况下，用户通过DataArts Studio数据连接访问数据源（此处指MRS/DWS数据源）时，使用数据连接中的账号密码进行认证。为实现不同用户访问数据源时，能够根据其自身用户信息管控用户访问数据的权限，需要先将IAM上的用户信息同步到数据源上，然后不同用户在数据源上才能有不同的身份，便于后续在数据权限管理中使用自身用户信息进行认证。
值得注意的是，DataArts Studio实例内对每个MRS/DWS集群只能有一个用户同步任务，因此用户同步任务为DataArts Studio实例级别配置，各工作空间之间数据互通。
#### 前提条件
- 新建用户同步任务前，已在管理中心创建数据仓库服务（DWS）或MapReduce服务（MRS Ranger）类型的数据连接，请参考[创建DataArts Studio数据连接](https://support.huaweicloud.com/usermanual-dataartsstudio/dataartsstudio_01_1299.html)。
- 新建用户同步任务前，已参考[授权dlg_agency委托](https://support.huaweicloud.com/usermanual-dataartsstudio/dataartsstudio_01_1152.html)为dlg_agency委托配置权限。
 
#### 约束与限制
- 仅DAYU Administrator、Tenant Administrator或者数据安全管理员可以执行用户同步任务。
- DataArts Studio实例内对每个MRS/DWS集群只能有一个用户同步任务。
- 用户同步任务如果持续运行超过半小时，则会因超时被停止；如果连续同步失败超过10次，则会终止调度。
- 由于联邦用户在只有用户组信息，因此联邦用户无法同步。
- 由于数据源只会同步自身租户的用户信息，因此对于通过IP连接等方式非当前租户的数据源集群无法同步。
- 当前用户同步仅支持MRS Hive和DWS数据源，DWS数据源必须进行用户同步，MRS数据源可以按自身需要创建IAM对应的MRS同名用户从而不进行用户同步。由于DLI数据源直接通过IAM用户进行鉴权，因此无需进行用户同步。
- MRS数据源的用户同步任务有如下约束：
  - 如果MRS数据源已有与待同步用户同名的人机用户，则会导致MRS用户同步任务失败。此失败暂无报错信息，建议可通过如下方式之一解决：
    - 使用MRS集群详情中"IAM用户同步"功能，不必再运行数据安全侧的用户同步任务。IAM用户同步与用户同步任务功能类似，但如果有用户同名时不会导致所有用户同步全部失败，而是只有重名用户才会同步失败。
    
    - 登录MRS服务Manager页面，选择"系统 \> 权限 \> 用户"，删除与待同步用户同名的人机用户。
    
    - 在IAM删除与MRS人机用户同名的待同步用户。
     
  
  - MRS数据源进行用户同步前，要求用户/用户组已至少配置如下任一的权限，否则不会进行同步。
    - Tenant Administrator
    
    - MRS FullAccess
    
    - MRS CommonOperations
    
    - MRS ReadOnlyAccess
    
    - MRS Administrator
    
    - MRS Admin
    
    - MRS User
    
    - MRS Viewer
    
    - Self Define（任意自定义策略）
     
   
- DWS数据源的用户同步任务有如下约束：
  - 仅当DWS集群guest_agent版本为8.2.1，或在8.2.1以上、9.0.0以下时，才支持用户同步。DWS集群guest_agent版本查看方法请参考[查看DWS集群guest agent版本](https://support.huaweicloud.com/usermanual-dataartsstudio/dataartsstudio_01_1153.html#dataartsstudio_01_1153__section1153213235185)。
  
  - DWS数据源进行用户同步前，要求用户/用户组已至少配置DWS Database Access权限，否则会同步失败。
  
  - IAM用户同步到DWS，需要为dlg_agency委托配置如下权限，详见[授权dlg_agency委托](https://support.huaweicloud.com/usermanual-dataartsstudio/dataartsstudio_01_1152.html)：
    - dws:dbAuthority:syncIamUser
    
    - iam:users:listUsers
    
    - iam:groups:listGroups
    
    - iam:users:listUsersForGroup
     
  
  - 由于DWS不支持用户组，因此IAM用户组同步到DWS时，会以"iam_group_***用户组id*** "的命名格式在DWS上创建用户，并根据IAM上已删除的用户组在DWS上删除对应的"iam_group_***用户组id***"用户。因此DWS上应避免创建以"iam_group_"为前缀的用户，防止用户被误删。
   
 
#### 新建用户同步任务
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_0000002516197328.png "点击放大")
   
   
   
5. 新建用户同步任务参数配置请参考[表1]，参数配置完成单击"确定"，即可新建用户同步任务。
   
   图2配置用户同步任务   
   ![](https://support.huaweicloud.com/usermanual-dataartsstudio/zh-cn_image_0000002202497598.png "点击放大")
   
    表1配置用户同步任务参数说明 
   | 配置       | 说明                                                                                                                                                                      |
   |:---|:---|
   | \*选择集群   | 选择DWS或Ranger数据连接中已连接的DWS或MRS集群。                                                                                                                                         |
   | \*集群类型   | 无需选择，自动匹配集群类型。                                                                                                                                                          |
   | \*数据连接   | 无需选择，自动匹配集群数据连接中的数据源集群。                                                                                                                                                 |
   | \*调度时间   | 选择调度运行的时间段，左闭右开。 例如调度时间为00-05时，指的是在每天0点到5点时间段内，按照调度间隔进行调度，其他时间段不运行。0点会触发调度，但5点则不会触发。               |
   | \*调度周期   | 支持按照小时或分钟进行调度。                                                                                                                                                          |
   | \*调度间隔   | 根据所选的调度周期，选择合理的调度间隔。调度间隔为距离上一次运行时间的间隔，手动同步也计入运行时间。 例如间隔为5分钟时，20:00开始调度，20:03手动执行，则下次调度时间为20:08分。 |
   | 全量同步     | 当选择MRS集群时，支持配置是否全量用户同步，默认开启同步全量用户。 当您不需要同步全量用户时，可选择关闭此选项。                                                                      |
   | \*用户/用户组 | 当关闭全量同步时，支持指定待同步的用户/用户组，请至少选择一位用户或一个用户组。                                                                                                                                |
      
   
   
6. 用户同步任务新建完成后，并不会直接运行。需要您手动同步或调度任务，任务同步成功后才能生效，详见[同步或调度任务]。
 
 #### 相关操作
- 同步或调度任务：在用户同步任务页面，单击对应任务操作栏中的"同步"或"更多 \> 启动调度"，同步或调度任务。对于从未运行过的任务，首次调度如果满足调度时间范围，会立即触发运行。
  ![](https://support.huaweicloud.com/usermanual-dataartsstudio/public_sys-resources/note_3.0-zh-cn.png)
  若任务运行发生失败，请参考如下方式处理：
  - 若报错信息为"权限不足"，请参考[授权dlg_agency委托](https://support.huaweicloud.com/usermanual-dataartsstudio/dataartsstudio_01_1152.html)。
  
  - 若DWS任务报错信息为"下载DWS IAM凭证失败"，请确认当前用户是否具有至少DWS Database Access权限。
  
  - 若MRS任务报错信息为"Mrs sync failed, please check the failure cause on the MRS page"，可以登录MRS服务首页，在右侧导航栏中选择操作日志，查看问题原因。
  
  - 若MRS操作日志中没有报错信息，则一般为IAM用户名与MRS已有人机用户名称冲突，导致同步失败。请登录MRS服务Manager界面，删除与IAM用户同名的人机用户（区分方式：IAM同步用户，默认描述为"IAM Custom Policy User"，且不可被删除；MRS普通人机用户，可以被删除）。
  
  - 若为其他报错信息，请根据具体报错和日志信息处理。
    
- 查看任务运行日志：在用户同步任务页面，找到需要查看日志的任务，对应任务操作栏中的"详情"，即可查看运行日志。当前最多展示20条日志记录。 运行失败可通过日志排查失败原因，问题修正后尝试重新运行。如果仍运行失败，请联系技术支持人员协助处理。
  
- 编辑任务：在用户同步任务页面，单击对应任务操作栏中的"更多 \> 编辑"，即可编辑用户同步任务。
- 删除任务：在用户同步任务页面，单击对应任务操作栏中的"更多 \> 删除"，即可删除任务。当需要批量删除时，可以在勾选任务后，在任务列表上方单击"删除"。
  ![](https://support.huaweicloud.com/usermanual-dataartsstudio/public_sys-resources/note_3.0-zh-cn.png)
  删除操作无法撤销，请谨慎操作。
  
 
