同步IAM用户到数据源
默认情况下,用户通过DataArts Studio数据连接访问数据源(此处指MRS/DWS数据源)时,使用数据连接中的账号密码进行认证。为实现不同用户访问数据源时,能够根据其自身用户信息管控用户访问数据的权限,需要先将IAM上的用户信息同步到数据源上,然后不同用户在数据源上才能有不同的身份,便于后续在数据权限管理中使用自身用户信息进行认证。
值得注意的是,DataArts Studio实例内对每个MRS/DWS集群只能有一个用户同步任务,因此用户同步任务为DataArts Studio实例级别配置,各工作空间之间数据互通。
前提条件
- 新建用户同步任务前,已在管理中心创建数据仓库服务(DWS)或MapReduce服务(MRS Ranger)类型的数据连接,请参考创建DataArts Studio数据连接。
- 新建用户同步任务前,已参考授权dlg_agency委托为dlg_agency委托配置权限。
约束与限制
- 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(任意自定义策略)
- 如果MRS数据源已有与待同步用户同名的人机用户,则会导致MRS用户同步任务失败。此失败暂无报错信息,建议可通过如下方式之一解决:
- DWS数据源的用户同步任务有如下约束:
- 仅当DWS集群guest_agent版本为8.2.1,或在8.2.1以上、9.0.0以下时,才支持用户同步。DWS集群guest_agent版本查看方法请参考查看DWS集群guest agent版本。
- DWS数据源用户同步前,要求用户已至少配置DWS Database Access权限,否则会同步失败。
- IAM用户同步到DWS,需要为dlg_agency委托配置如下权限,详见授权dlg_agency委托:
- dws:dbAuthority:syncIamUse
- iam:users:listUsers
- iam:groups:listGroups
- iam:users:listUsersForGroup
- 由于DWS不支持用户组,因此IAM用户组同步到DWS时,会以“iam_group_用户组id”的命名格式在DWS上创建用户,并根据IAM上已删除的用户组在DWS上删除对应的“iam_group_用户组id”用户。因此DWS上应避免创建以“iam_group_”为前缀的用户,防止用户被误删。
新建用户同步任务
- 在DataArts Studio控制台首页,选择对应工作空间的“数据安全”模块,进入数据安全页面。
- 单击数据安全左侧导航树中的 ,进入用户同步任务页面。
- 在用户同步任务页面,单击“新建”,新建用户同步任务。
图1 新建用户同步任务
- 新建用户同步任务参数配置请参考表1,参数配置完成单击“确定”,即可新建用户同步任务。
图2 配置用户同步任务
表1 配置用户同步任务参数说明 配置
说明
*选择集群
选择DWS或Ranger数据连接中已连接的DWS或MRS集群。
*集群类型
无需选择,自动匹配集群类型。
*数据连接
无需选择,自动匹配集群数据连接中的数据源集群。
*调度时间
选择调度运行的时间段,左闭右开。
例如调度时间为00-05时,指的是在每天0点到5点时间段内,按照调度间隔进行调度,其他时间段不运行。0点会触发调度,但5点则不会触发。
*调度周期
支持按照小时或分钟进行调度。
*间隔
根据所选的调度周期,选择合理的调度间隔。调度间隔为距离上一次运行时间的间隔,手动同步也计入运行时间。
例如间隔为5分钟时,20:00开始调度,20:03手动执行,则下次调度时间为20:08分。
- 用户同步任务新建完成后,并不会直接运行。需要您手动同步或调度任务,任务同步成功后才能生效,详见同步或调度任务。
相关操作
- 同步或调度任务:在用户同步任务页面,单击对应任务操作栏中的“同步”或“更多 > 启动调度”,同步或调度任务。对于从未运行过的任务,首次调度如果满足调度时间范围,会立即触发运行。
若任务运行发生失败,请参考如下方式处理:
- 若报错信息为“权限不足”,请参考授权dlg_agency委托。
- 若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条日志记录。
运行失败可通过日志排查失败原因,问题修正后尝试重新运行。如果仍运行失败,请联系技术支持人员协助处理。
- 编辑任务:在用户同步任务页面,单击对应任务操作栏中的“更多 > 编辑”,即可编辑用户同步任务。
- 删除任务:在用户同步任务页面,单击对应任务操作栏中的“更多 > 删除”,即可删除任务。当需要批量删除时,可以在勾选任务后,在任务列表上方单击“删除”。
删除操作无法撤销,请谨慎操作。