在DataWorks运行EMR任务时,您需要在EMR侧及DataWorks侧进行相关的权限认证,以保证任务可以顺利执行。本文为您介绍DataWorks on EMR权限管控说明。
背景信息
在DataWorks中,可通过DataWorks工作空间成员与EMR集群账号映射的方式获取EMR引擎的权限,完成工作空间成员在集群上的用户认证与鉴权,从而使不同阿里云主账号、任务责任人或RAM用户在DataWorks上运行EMR任务时,拥有不同的数据操作权限,实现权限隔离。在DataWorks上运行EMR任务时,对于EMR侧及DataWorks侧的权限说明请参见EMR集群侧、DataWorks侧。
使用限制
DataWorks目前仅支持使用LDAP账号或系统账号两种方式进行工作空间成员与EMR集群账号的映射。注册在DataWorks作为引擎实例的集群在配置DataWorks工作空间成员与集群账号映射时,存在以下限制:
DataWorks引擎映射为集群维度,并且仅支持选择一种认证方式映射集群账号。
在DataWorks映射的集群账号、密码需要与集群实际使用的账号、密码一致。
若集群未开启认证或DataWorks上映射和的账号、密码与集群实际使用的账号、密码不一致,DataWorks上执行EMR任务将会失败,具体场景如下表。
场景 | 描述 |
在DataWorks采用系统账号映射 | 当DataWorks映射的集群账号与集群实际的账号不一致时,DataWorks上执行的EMR任务将会失败。 |
在DataWorks采用LDAP账号映射 | 如下情况,DataWorks上执行的EMR任务将会失败:
|
不同EMR引擎支持的认证方式不同,目标引擎是否支持LDAP认证请以产品实际能力为准。
EMR集群侧
开启认证服务
若您要使用非系统账号进行集群身份认证,则需先在集群开启对应的认证服务,并将在DataWorks上进行EMR任务开发的账号加入认证服务。步骤如下:
在集群开启认证服务。
若您需要通过LDAP实现身份认证,则需先在集群开启LDAP认证。详情请参见开启LDAP。
规划用于执行任务的账号,并将其分别添加至LDAP及DataWorks工作空间。
建议将需要在DataStudio中创建、测试、提交及发布EMR类型任务的相关人员添加至LDAP及DataWorks工作空间。添加目标用户至LDAP及DataWorks工作空间,详情请参见添加用户至DataWorks工作空间。
数据权限控制
您可在EMR集群通过权限管理相关组件服务实现DataWorks上各用户的数据权限隔离。例如,通过Ranger组件对阿里云账号对应的集群用户进行权限管控。
DataWorks侧
EMR引擎权限
在DataWorks上执行EMR任务前,您需要先注册EMR集群为DataWorks上运行EMR任务所使用的引擎环境。目标账号需要拥有
AliyunEMRFullAccess
权限策略,才可执行注册EMR集群操作。授权用户AliyunEMRFullAccess
权限策略,详情请参见用户、角色与权限概述。DataWorks功能模块使用权限
在DataWorks运行EMR任务时,您需要拥有DataWorks数据开发(DataStudio)、数据地图、数据质量、智能监控等功能模块的使用权限,以便执行开发任务及开发后的运维、质量管控操作。DataWorks功能模块权限,详情请参见功能模块权限。
配置账号权限映射
当您的EMR引擎配置为安全模式后,您可进入DataWorks的
页面,配置DataWorks工作空间成员与集群账号的映射,从而使DataWorks工作空间成员拥有与其映射的集群账号相同的权限,以便相关组件实现数据权限隔离。说明EMR引擎配置及账号权限映射配置,详情请参见DataWorks配置。