<< Click to Display Table of Contents >> Kerberos 认证复制链接 |
1.Kerberos简介
Kerbero是一种计算机网络授权协议,用来在非安全网络中,对个人通信以安全的手段进行身份认证。
Kerberos 将传输密码(Password)改为传输凭证( Principal )和秘钥(Keytab), 秘钥是经过加密并且具有一定有效时长的,避免本地保存密码和在网络上传输密码。
2.数据源页面 Kerberos 认证需要的配置信息
对于FUSIONINSIGHT HD、HIVE、SPARK、IMPALA、HBASE、PRESTO、TRANSWARP、TBDS、TBDS OLAP数据源,支持两种配置Kerberos认证,在数据源配置界面如图:
选择Kerberos认证后的配置界面如下图:
具体的配置属性获取方式和含义如下:
属性名称 |
说明 |
填写方式和用途 |
---|---|---|
秘钥文件路径 |
必填项,相当于是password,是一个keytab后缀的文件的路径。 |
使用KDC主机生成,用于和KDC主机通信。 |
Krb5文件路径 |
非必填项,krb5文件配置了默认Realm,KDC主机信息等。 |
如果该项没有填写。永洪 BI执行以下检查。 1)永洪BI检查{JDK/JRE安装目录}/lib/security/krb5.conf文件是否存在。 •存在,永洪BI会使用该文件。 •不存在,执行步骤2)。 2)永洪BI检查操作系统目录下的krb5配置文件,不同的操作系统下krb5配置文件路径不同。 Linux : /etc/krb5.conf 文件 Windows: C:\windows\system32\krb5.ini •存在,永洪BI会使用该文件。 •不存在,永洪BI会提示 Cannot locate default realm。 |
Jaas文件路径 |
非必填项,建议填写。永洪BI会根据该文件的配置信息从KDC主机获取用于和Server通信的TGT。 |
在服务器新建文件jaas.conf,并输入以下内容。最后将文件路径填写到数据源“Jaas文件路径”项。 Client { com.sun.security.auth.module.Krb5LoginModule required useKeyTab=true keyTab="/app/user.keytab" --同密钥文件路径 storeKey=true useTicketCache=false principal="yonghong@HADOOP.COM"; --同用户名 }; 如果该项没有填写,永洪BI会使用操作系统缓存的ticket和server进行通信,如果系统没有缓存,永洪BI会提示Unable to obtain Principal Name for authentication。 |
用户名 |
必填项,用于永洪BI和KDC主机通信,也就是Kerberos的principal(传输凭证)。 |
格式为:service/host@realm(或者service@realm)。如果在krb5文件中指定了default_realm,此处可以省略realm,例如 yonghong@HADOOP.COM 可以写为yonghong。 |