Kerberos 认证
更新时间:2023-12-27
一、Kerberos 身份认证原理
Kerberos 是一种基于对称密钥技术的身份认证协议,它作为一个独立的第三方的身份认证服务,可以为其它服务提供身份认证功能。
Kerberos 协议过程主要有两个阶段,第一个阶段是 KDC 完成对 Client 的身份认证,第二个阶段是 Service 对 Client 的身份认证。
二、支持的数据源
- Apache Hive
- Apache Spark SQL
- Apache Impala
三、数据连接前的准备工作
下载环境上的配置文件 krb5.conf、XXX.keytab
XXX.keytab 为密钥表文件,需要在提供 Kerberos 服务的应用服务器上找到该文件的对应位置。在不同服务器上 keytab 的文件名称可能不一样,这里用 XXX 代替。
四、操作步骤
以 Hive 为例,设置数据连接:
1、切换认证方式为 Kerberos
2、上传 「keytab」文件和「krb5.conf」文件
3、点击「测试连接」,连接成功如下图所示:
五、注意事项
- 检查Sugar BI服务器所在机器能够通过主机名/域名 ping 通 KDC 服务器
- 检查 principal 名称是否正确,principal 的格式通常为用户名/部门@公司,确认 principal 是否正确的方式是在数据库服务端 shell 执行 klist 或者 kinit -k -t /path/to/keytab name_of_principal 或直接通过 beeline、impala-shell 等工具连接开启认证的服务,并查看对应的 principal 信息 例如:Hive 服务对应 principal 为 hive /bigdata@XXX.COM,而 Impala 服务对应的 principal 为 impala/bigdata@XXX.COM