企业数据平台集群身份认证

🏷️ 仿bus365 ⏱️ 2026-01-04 23:59:55 👨‍🔧 admin 👁️ 2333 ⚡ 648
企业数据平台集群身份认证

背景信息集群开启Kerberos认证之后:

对客户端而言,在访问集群服务(如HDFS,YARN等)之前,必须先通过Kerberos认证,未经认证的客户端无法访问集群服务,只有经过认证的可信客户端才能访问集群服务、提交作业,有效防止恶意用户冒充客户端向集群提交作业的情况;

对服务端而言,集群的服务都是可以信任的,避免了冒充服务的情况。

开启Kerberos认证能够提升集群的安全性,但也增加了集群的使用和维护难度:

开启Kerberos前,用户需要对Kerberos的原理、使用有一定的了解,才能更好的使用Kerberos;

开启Kerberos后,提交作业的方式与没有开启Kerberos有一些区别,需要对作业进行改造,增加一些Kerberos认证的内容;

开启Kerberos后,由于对集群服务的访问加入了Kerberos认证机制,会带来一定的时间开销,相同作业相较于未开启Kerberos的同规格集群执行速度有所下降。

开启Kerberos在CDP购买-硬件配置页面中,开启Kerberos身份认证。

Kerberos身份认证原理Kerberos Principal (Kerberos主体)

每个需要使用Kerberos认证服务的用户或者服务都需要一个Kerberos principal,kerberos主体是用户或者服务的唯一标识。

启用Kerberos之后,每个访问集群服务的用户都需要证明自己是Kerberos的某个主体,然后才能使用集群服务。

重要 不但用户需要创建Kerberos principal,服务也需要,CDP会自动为集群中的服务都创建principal,而用户的principal就需要Kerberos管理员去创建了。

Kerberos Keytabs

Keytab 文件包含了principal 以及该principal 的加密密钥,通过该文件,集群的服务或者用户可以不需要任何交互即被认证为合法的principal。

Kerberos协议的认证过程​

第一阶段:KDC对client进行身份认证

KDC是kerberos的服务端程序,客户端在访问集成了kerberos的服务之前,需要先通过KDC的认证。

当通过KDC的认证之后,KDC会向客户端颁发一个TGT(Ticket Granting Ticket)。

如果把集群想象为一栋大楼,TGT就相当于该栋大楼的门禁,只有获得TGT,才能进一步访问大楼中入驻的企业。

第二阶段:Service对client的身份认证

当客户端获取到TGT之后,就获取到访问集群服务的资格。

但是,在访问服务之前,客户端需要携带TGT和需要访问的服务名称向KDC获取SGT(Service Granting Ticket),然后携带SGT去访问service。

Kerberos使用登录到Utility节点上,执行命令:kadmin.local 进入KDC的管理控制界面

创建一个用户principal:addprinc jack 密码设置为:123456

结合Principal的原理,创建完Principal之后,您就可以以该用户的身份向KDC获取TGT了,具体的获取方式为:

键入quit退出KDC管理控制界面

执行kinit jack,并键入密码123456即可获取到TGT,执行命令klist即可查看TGT的缓存位置,以及当前默认的principal

在集群的所有主机中添加用户jack:useradd jack

访问集群中的服务,如 HDFS:hdfs dfs -ls /

相关资讯

超雪卡贴自行升级V3.1版本教程
365bet官网多少

超雪卡贴自行升级V3.1版本教程

📅 07-05 🔧 admin
世界杯用球的演变史
365bet进不去

世界杯用球的演变史

📅 08-13 🔧 admin
dnf礼盒多久加透明
仿bus365

dnf礼盒多久加透明

📅 08-02 🔧 admin