设置集群身份映射

在DataWorks注册CDH/CDP集群后,可配置DataWorks租户成员云账号与CDH/CDP集群指定身份账号的映射关系,使租户成员可通过映射的指定集群身份访问CDH/CDP集群。CDP与CDH的集群身份映射配置操作基本一致,本文以CDH为例,为您介绍相关操作详情。

映射类型说明

在DataWorks注册CDH集群时,可通过默认访问身份参数,配置后续在DataWorks运行CDH集群任务时,实际在CDH集群内执行任务代码使用的账号,配置详情请参见配置集群默认访问身份默认访问身份支持配置的账号及映射类型说明如下。

支持配置的账号类型及说明

支持的映射类型及说明

集群账号

后续无论谁在DataWorks运行CDH任务,实际均使用该集群账号在CDH集群内执行任务代码。

例如,阿里云主账号、拥有空间管理员角色权限的子账号、只拥有开发角色权限的子账号提交的CDH任务,均使用配置的集群账号执行。

无认证方式

默认访问身份配置为集群账号,则阿里云账号与集群账号间的映射类型默认为无认证方式

重要

默认访问身份配置为映射账号,则阿里云账号与集群账号间的映射类型不能选择无认证方式,否则阿里云账号会因为没有访问身份导致CDH任务执行失败。请根据需要选择系统账号映射OPEN LDAP账号映射Kerberos账号映射

映射账号

不同空间成员在DataWorks执行CDH任务时,实际将使用自己的阿里云账号(主账号或子账号)所映射的CDH集群系统账号、Kerberos账号或OPEN LDAP账号在集群内执行任务代码。

选择映射账号,需在注册CDH集群后进入集群账号映射配置页面,配置阿里云账号所映射的CDH账号。

重要

如下情况阿里云账号执行CDH任务时,会因为没有访问身份导致任务执行失败:

  • 阿里云账号未配置映射的集群账号。

  • 阿里云账号配置了映射的集群账号,但阿里云账号与集群账号配置映射关系时选择的映射类型为无认证方式

系统账号映射

  • 自定义阿里云账号与CDH集群系统账号(例如,Cloudera Manager管理员账号、Hadoop账号)的映射关系。映射后,阿里云账号提交运行的任务,实际由映射的系统账号执行。

  • 如您希望在运行任务时,对不同云账号在CDH集群内可访问的数据进行权限隔离,可使用该方式。

OPEN LDAP账号映射

  • 自定义阿里云账号与CDH集群OPEN LDAP账号的映射关系。映射后,阿里云账号提交运行的任务,实际由映射的OPEN LDAP账号执行。

  • 若使用Presto组件且选择OPEN LDAP账号映射时,请在集群的基础信息中配置Config.PropertiesPresto.Jks文件。

    说明

    CDH集群开启LDAP认证后,访问集群需提供LDAP身份认证(LDAP用户名和密码),可提升服务的安全性。

Kerberos账号映射

  • 自定义阿里云账号与CDH集群Kerberos账号的映射关系。映射后,阿里云账号提交运行的任务,实际由映射的Kerberos账号执行。

  • 当CDH集群Hive MetaStore开启Kerberos认证时,需使用该映射类型,否则会影响元数据采集。

  • 若使用Presto组件且选择Kerberos账号映射时,请在集群的基础信息中配置Config.PropertiesPresto.Jks文件。

  • 如您希望在运行任务时,对不同云账号在CDH集群内可访问的数据进行数据权限隔离,则可使用该方式。

    说明

    Kerberos账号为CDH集群的访问账号,用于进行身份验证和授权,保证CDH集群中用户和服务的安全通信。CDH集群通过Sentry或Ranger组件为Kerberos账号进行不同权限的配置,实现数据权限隔离。配置该类型映射后,与Kerberos账号存在映射关系的云账号即拥有相同的CDH集群数据访问权限。

前提条件

  • 请提前创建所需映射的CDH集群账号。

  • 使用Kerberos账号映射前,请确保集群已开启Kerberos服务。

  • 使用OPEN LDAP账号映射前,请确保集群已开启OPEN LDAP服务。

  • 已在DataWorks注册CDH集群。详情请参见注册CDH/CDP集群至DataWorks

步骤一:进入集群账号映射配置页面

  1. 进入管理中心页面。

    登录DataWorks控制台,切换至目标地域后,单击左侧导航栏的更多 > 管理中心,在下拉框中选择对应工作空间后单击进入管理中心

  2. 单击左侧导航栏的集群管理,进入集群管理页面

  3. 集群管理页面,找到目标CDH集群,单击集群名称下的账号映射 > 编辑账号映射

    在该页面,您可配置DataWorks云账号与CDH集群账号的映射关系,即DataWorks云账号在运行CDH任务时,实际是通过哪个集群账号运行。

步骤二:设置集群账号映射

用于配置在DataWorks运行CDH任务时,实际使用哪个集群账号执行任务代码。步骤如下:

  1. 选择映射类型。

    您可根据需要选择无认证方式系统账号映射OPEN LDAP账号映射Kerberos账号映射,相关介绍,请参见映射类型说明

  2. 配置集群账号映射。

    根据所选类型配置相应账号映射关系。image.png

    说明

    无认证方式无需您再单独配置映射关系,平台将使用注册CDH/CDP集群时,基础信息中配置的集群账号运行任务。详情请参见步骤二:注册CDH或CDP集群

    系统账号映射

    配置阿里云账号(主账号或子账号)与CDH集群系统账号映射,请根据界面提示添加相应账号信息。

    • 通过主账号运行任务:选择主账号并配置映射的集群系统账号。

    • 通过子账号运行任务:选择子账号并配置映射的集群系统账号。支持如下两种映射关系:

      • 同名映射(默认):通过子账号映射的同名集群系统账号运行CDH任务。例如:

        • 阿里云子账号:ram_user_1@xxx.onaliyun.com

        • 同名集群账号:ram_user_1

        后续通过ram_user_1@xxx.onaliyun.com提交运行的CDH任务,实际均由ram_user_1运行。

        说明
        • 通常,在DataWorks通过子账号运行CDH任务时,则在CDH集群内默认使用同名集群系统账号运行CDH任务。您也可根据需要选择使用非同名集群账号执行任务。

        • 为避免任务运行失败,请确保CDH集群内存在同名账号。您可进入CDH集群管理 > 用户管理进行配置。

      • 非同名映射:通过子账号映射的非同名集群系统账号运行CDH任务,请根据界面指引配置映射关系。

    Kerberos账号映射

    配置阿里云账号(主账号或子账号)与CDH集群Kerberos账号映射。Kerberos账号格式为实例名@领域名,例如,cdn_test@HADOOP.COM。

    Kerberos认证过程中需使用keytab认证文件krb5.conf配置文件完成认证行为,其中:

    • krb5.conf配置文件:主要用于存储KDC服务器的相关配置。

    • keytab认证文件:用于存储资源主体的身份验证凭据,文件命名必须为Kerberos账号.keytab格式。

    请根据界面提示添加相应账号并上传所需文件。

    说明
    • 当CDH集群Hive MetaStore开启Kerberos认证时,需使用该映射类型,否则会影响元数据采集。

    • 若使用Presto组件且选择Kerberos账号映射时,请在集群的基础信息中配置Config.PropertiesPresto.Jks文件。

    • 请确保集群已开启Kerberos服务。

    OPEN LDAP账号映射

    配置阿里云账号(主账号或子账号)与CDH集群OPEN LDAP账号映射,请根据界面提示添加相应账号信息。

    说明
    • 若使用Presto组件且选择OPEN LDAP账号映射时,请在集群的基础信息中配置Config.PropertiesPresto.Jks文件。

    • 请确保集群已开启OPEN LDAP服务。

  3. 单击完成编辑,即账号映射关系配置完成。后续,通过云账号执行的任务则实际由其映射的集群账号执行。