创建Kerberos跨源认证
操作场景
通过在DLI控制台创建的Kerberos类型的跨源认证,将数据源的认证信息存储到DLI,无需在SQL作业中配置账号密码,安全访问数据源。
- MRS Kafka开启Kerberos认证,未开启SSL认证时,创建Kerberos类型的认证。建表时通过krb_auth_name关联跨源认证。
- MRS Kafka开启Kerberos认证,同时开启了SSL认证时,需要同时创建Kerberos和Kafka_SSL类型的认证。建表时分别通过krb_auth_name和ssl_auth_name关联跨源认证。
- MRS Kafka未开启Kerberos认证,仅开启了SASL认证时(例如使用账号密码认证PlainLoginModule场景),无需使用跨源认证。
- MRS Kafka未开启Kerberos认证,仅开启了SSL认证时,创建Kafka_SSL类型的认证。建表时通过ssl_auth_name关联跨源认证。
- MRS Kafka未开启Kerberos认证,开启了SASL认证和SSL认证时,创建Kafka_SSL类型的认证。建表时通过ssl_auth_name关联跨源认证。
Kerberos类型跨源认证支持连接的数据源
Kerberos类型跨源认证支持连接的数据源如表1所示。
操作步骤
- 下载数据源的认证凭证。
- 登录MRS Manager界面。
- 选择“系统 > 权限 > 用户”。
- 单击“更多 > 下载认证凭据”,保存后解压得到用户的keytab文件与krb5.conf文件。
- 上传认证凭证到OBS桶。
关于如何创建OBS桶并上传数据,请参考《对象存储服务快速入门》。
- 创建跨源认证。
- 登录DLI管理控制台。
- 选择“跨源管理 > 跨源认证”。
- 单击“创建”。
填写Kerberos认证信息,详细参数说明请参考表2。
表2 参数说明 参数
参数说明
类型
选择kerberos。
认证信息名称
所创建的跨源认证信息名称。
- 名称只能包含数字、英文字母和下划线,但不能是纯数字,且不能以下划线开头。
- 输入长度不能超过128个字符。
- 建议名称中包含MRS安全集群的名称,便于区分不同集群的安全认证信息。
用户名
安全集群的登录用户名。
krb5_conf路径
上传“krb5.conf”文件的OBS路径。
说明:“krb5.conf”中需移除[libdefaults]下的“renew_lifetime”配置项,否则可能会遇到“Message stream modified (41)”问题。
keytab路径
上传“user.keytab”文件的OBS路径。
图1 创建认证信息-Kerberos
- 访问MRS的表。
跨源认证创建成功后,在创建访问数据源时只需关联跨源认证即可安全访问数据源。
建表时关联跨源认证的字段请参考表3。
表3 建表时与Kerberos类型跨源认证关联的字段 作业类型
数据源
参数
是否必选
数据类型
说明
Flink OpenSource SQL
HBase
krb_auth_name
否
String
创建源表、结果表、维表时均使用该字段关联跨源认证。
Kafka
krb_auth_name
否
String
创建源表、结果表时均使用该字段关联跨源认证。
创建的Kerberos类型的跨源认证名称。
如果使用SASL_PLAINTEXT类型,且使用Kerberos认证,则需要同时配置以下参数:
- 'properties.sasl.mechanism' = 'GSSAPI'
- 'properties.security.protocol' = 'SASL_PLAINTEXT'
具体的建表操作指导请参考DLI 语法参考。
- Flink OpenSource SQL语法参考:创建HBase源表