首页 文章

Kafka ACL 基于客户端证书 DN 或其部分的主题

提问于
浏览
1

我正在阅读 Kafka 文档(版本 0.11.0),我希望根据客户端证书对消费者和发布者的主题进行身份验证和授权。

它的工作方式应该是基于 DN 授予授权,或者只是其部分,如 CN,电子邮件或其他内容。

我看到 Kafka 代理可以配置为通过 TLS 使用安全通信,并根据客户端证书验证传入连接。但从我的角度来看,就是这样。这就是 Kafka 经纪人可以用客户证书做的事情。主题的 ACL 应该使用 SASL,我们可以使用 PLAIN,Kerberos 或 SCRAM。

那么是否可以根据 SSL 证书中的 CN 名称验证客户端的连接,并在 Kafka(kafka_2.11-0.11.0.1)中根据它设置主题的 ACL 设置?

1 回答

  • 4

    是的,使用开箱即用的工具可以根据 SSL 用户名设置 ACL,但默认的 Principal 构建器使用的不仅仅是 CN 值较短的用户名。

    来自https://docs.confluent.io/current/kafka/authorization.html的 Confluent 在线文档

    默认情况下,SSL 用户名将是表单

    CN=writeuser,OU=Unknown,O=Unknown,L=Unknown,ST=Unknown,C=Unknown

    可以通过在 server.properties 中设置自定义的 PrincipalBuilder 来改变这一点,如下所示:

    principal.builder.class=CustomizedPrincipalBuilderClass

相关问题