DataWorks的数据同步功能支持第三方身份认证机制,您需要提前在DataWorks的认证文件管理页面上传认证文件,并在配置数据源同时开启第三方认证功能,使得只有可信的应用和服务才能访问数据资源。本文为您介绍如何上传和引用认证文件。
背景信息
第三方认证机制用于用户和服务的强身份验证,通过该机制,可以有效地避免不受信任的程序或服务来获取数据访问权限,提高数据同步过程中访问数据资源的安全性。DataWorks的认证文件管理功能,可以为您提供统一入口来管理认证文件,您可以通过认证文件管理页面上传和查看认证文件引用关系等。
使用限制
目前仅支持Kerberos认证机制(后续会逐步支持其他认证机制,敬请期待),详情请参见附录:配置Kerberos认证。
注意事项
一般情况下证书有自己的有效期,请留意您上传的证书有效期,如果证书过期将会导致对应的数据同步任务因无法获得授权而失败,请及时更换为最新有效期的证书。
上传认证文件
使用认证功能前,需要提前准备好认证文件并上传至认证文件管理页面。
进入数据集成页面。
登录DataWorks控制台,切换至目标地域后,单击左侧导航栏的 ,在下拉框中选择对应工作空间后单击进入数据集成。
在左侧导航栏,单击 。
单击认证文件管理页面右上方的上传认证文件。
在上传认证文件对话框,单击上传文件选择对应文件并填写相应文件描述,单击确定。
引用认证文件
如果需要使用第三方身份认证功能,请在配置数据源页面选择开启特殊身份认证方式,配置相关参数并引用相关认证文件。目前DataWorks仅支持Kerberos认证,具体介绍请参见附录:配置Kerberos认证。
以下以HDFS数据源配置Kerberos认证为例,列举Kerberos认证的关键配置,关于数据源详细配置,请参见配置数据源。
配置项 | 说明 |
特殊认证方式 | 选择特殊认证方式为Kerberos认证。 |
keytab文件 | 在下拉列表选择已上传的keytab文件。如果需要重新上传认证文件,请单击新增认证文件。 |
conf文件 | 在下拉列表选择已上传的conf文件。如果需要重新上传认证文件,请单击新增认证文件。 |
principal | Kerberos认证的主体,包括主名称、实例和领域三部分,格式为:主名称/实例名@领域名。例如****/hadoopclient@**.*** 。 |
其他操作
您还可以在认证文件管理页面进行认证文件的批量删除、重新上传和查看引用等操作。
附录:配置Kerberos认证
DataWorks的数据同步功能目前仅支持Kerberos认证,配置kerberos认证后,可以仅对受信任的应用和服务提供认证,使得只有经过认证的应用和服务才能访问数据资源。
Kerberos协议主要用于计算机网络的身份鉴别(Authentication),其特点是用户只需输入一次身份验证信息就可以凭借此验证获得的票据(Ticket-Granting Ticket,网络授权凭证)访问多个服务,即SSO(Single Sign On,单点登录)。使用Kerberos协议时,会在每个Client和Service之间建立共享密钥,服务之间使用密钥进行通信,避免不受信任的服务或应用访问数据资源,因此该协议具有较高的安全性。
使用限制
Kerberos认证功能仅支持CDH集群6.X版本,其他版本或者自建集群未经过Kerberos认证测试,可能会导致认证失败。
Kerberos认证功能仅支持HBase、HDFS和Hive数据源(后续会逐步支持其他数据源类型,敬请期待)。
Kerberos认证功能仅支持在独享数据集成资源组上使用。
Kerberos认证原理
Kerberos是一种基于对称密钥的第三方认证协议,客户端和服务器均是依赖KDC(Kerberos的服务端程序,即密钥分发中心)来进行身份认证。有关Kerberos的详细介绍请参见概述。
如上图所示,在DataWorks上进行Kerberos认证分为如下四个阶段:
客户端请求TGT:当客户端用户(Principal)访问已开启Kerberos认证的数据源时,会先向KDC请求颁发一个认证凭证TGT,作为客户端向KDC请求特定服务的身份证明。
KDC发放TGT:KDC收到请求后,先对客户端进行身份认证,认证通过后,KDC会以加密形式为客户端发放一个有使用期限的认证凭证TGT。
客户端请求访问服务器:客户端获取TGT后,会根据需要访问的服务名称向服务器请求访问特定服务资源。
服务器认证客户端:服务器收到请求后,先对客户端进行身份认证,认证通过后,才会允许客户端正常访问服务资源。
Kerberos认证过程中需要使用keytab认证文件和krb5.conf配置文件完成认证行为,其中krb5.conf文件主要用于存储KDC服务器的相关配置,keytab文件用于存储资源主体的身份验证凭据,包含principals和加密principal key。使用Kerberos认证前,需要先将这两个文件上传到认证文件管理页面,并在数据源配置页面完成认证文件引用和配置,即可使用Kerberos认证。上传认证文件请参见上传认证文件。
支持Kerberos认证的数据源
Kerberos支持的数据源类型及配置指引如下所示:
数据源类型 | 配置指引 |
HBase | |
HDFS | |
Hive |