Apache kafka 卡夫卡经纪人-KDC-卡夫卡客户;Kerberos身份验证

Apache kafka 卡夫卡经纪人-KDC-卡夫卡客户;Kerberos身份验证,apache-kafka,kerberos,Apache Kafka,Kerberos,我试图从kafka代理的角度理解kerberos身份验证和票证验证的复杂性。我将总结这些步骤 Kafka客户端通过KDC服务器进行身份验证 卡夫卡的客户拿到票了 Kafka客户端将消息发布到代理 Kafka broker对客户端进行身份验证 我的问题是,卡夫卡经纪人会验证卡夫卡客户端发送的票据吗?经纪人方面到底发生了什么?卡夫卡经纪人如何知道卡夫卡客户已发送有效的未过期票据 问候 Pavan这个问题不是卡夫卡特有的,而是与通用Kerberos身份验证有关。 这里发生了什么 Kafka broke

我试图从kafka代理的角度理解kerberos身份验证和票证验证的复杂性。我将总结这些步骤

  • Kafka客户端通过KDC服务器进行身份验证
  • 卡夫卡的客户拿到票了
  • Kafka客户端将消息发布到代理
  • Kafka broker对客户端进行身份验证
  • 我的问题是,卡夫卡经纪人会验证卡夫卡客户端发送的票据吗?经纪人方面到底发生了什么?卡夫卡经纪人如何知道卡夫卡客户已发送有效的未过期票据

    问候
    Pavan

    这个问题不是卡夫卡特有的,而是与通用Kerberos身份验证有关。

    这里发生了什么

  • Kafka broker有一个服务帐户(keytab或用户名密码)作为其配置的一部分
  • 此服务帐户已分配SPN(服务主体名称)。例如HTTP/BROKER_FQDN.COM
  • 客户机请求代理的SPN的票证。KDC知道此SPN连接到哪个用户。KDC生成一个票证,并使用代理的服务帐户密码对其进行加密,然后将该票证发送给客户端
  • 客户将此票据传递给经纪人
  • 代理知道票证是使用自己的密码加密的,并且代理在keytab或directpassword(基于配置)中拥有此密码
  • 如果代理成功地解密了票据,那么代理就可以使用主体,并且客户端被称为已验证。票据验证等在票据解密后进行
  • 这是基本的Kerberos功能。

    您还可以检查Kerberos的委派或模拟功能,这些功能可用于特定的用例。

    注意:这不是一个特别的卡夫卡问题,因为任何Kerberized环境都会有类似的行为。另外,如果您真的想知道该部分是如何工作的,可以使用卡夫卡源代码。