kdc-kafka客户端和kerberos身份验证

c2e8gylq  于 2021-06-04  发布在  Kafka
关注(0)|答案(1)|浏览(585)

我试图从kafka代理的Angular 理解kerberos身份验证和票证验证的复杂性。我将总结这些步骤。
kafka客户端通过kdc服务器进行身份验证。
Kafka的客户拿到票了。
kafka客户机将消息发布到代理。
Kafka经纪人对客户进行身份验证
我的问题是,Kafka经纪人会验证Kafka客户发送的票据吗?经纪人方面到底发生了什么?Kafka经纪人如何知道,Kafka客户已经发送了有效的未过期票据?
向帕万问好

rbl8hiat

rbl8hiat1#

这个问题并不特定于kafka,而是与通用kerberos身份验证有关。
这里发生了什么?
kafka代理有一个服务帐户(keytab或用户名密码)作为其配置的一部分。
此服务帐户已分配spn(服务主体名称)。例如http/broker\ fqdn.com
客户机请求代理的spn的票证。kdc知道这个spn连接到哪个用户。kdc生成一个票证,并使用代理的服务帐户密码对其进行加密,然后将此票证发送给客户端
客户把这张票交给经纪人。
代理知道票据是使用自己的密码加密的,并且代理拥有这个密码,可以是keytab密码,也可以是direct密码(基于配置)。
如果代理成功地解密了票证,那么代理就可以使用主体,并且客户端被称为已验证。票证验证等在票证解密后进行。
这是基本的kerberos功能。
您还可以检查kerberos的委托或模拟特性,这些特性可以用于特定的用例。

相关问题