繁体   English   中英

卡夫卡动物园管理员身份验证不起作用

[英]Kafka zookeeper authentication not working

我正在尝试为没有 ssl 的 Kafka 集群启用 SASL 用户名和密码。 我按照此 Stackoverflow 上的步骤操作:

Kafka SASL 动物园管理员认证

SASL 身份验证似乎适用于 Kafka 经纪人。 消费者和生产者必须在写入或读取主题之前进行身份验证。 到现在为止还挺好。

问题在于在 kafka 上创建和删除主题。 例如,当我尝试使用以下命令时:

~/kafka/bin/kafka-topics.sh --list --zookeeper 10.x.y.z:2181

我能够列出 kafka 集群中的所有主题,并在完全没有身份验证的情况下创建或删除任何主题。

我尝试按照此处的步骤操作:

超级用户认证授权

但似乎没有任何效果。

在这方面的任何帮助都非常感谢。

感谢和问候, Firas Khasawneh

您需要将 zookeeper.set.acl=true 添加到您的 Kafka server.properties 中,以便 Kafka 将使用 ACL 集在 zookeeper 中创建所有内容。 对于已经存在的topic,不会有ACL,大家可以直接从zookeeper中移除。

实际上因为那一团糟,我不得不从我的动物园管理员和 Kafka 中删除所有内容并从头开始。

但是一旦一切都设置好了,你可以打开zookeeper shell来验证ACL确实设置了:

KAFKA_OPTS="-Djava.security.auth.login.config=/path/to/your/jaas.conf" bin/zookeeper-shell.sh XXXXX:2181

您可以从 shell 运行:getAcl /brokers/topics 并检查世界上没有任何人拥有 cdrwa

附带说明一下,您提供的链接似乎并未反映当前版本的 Kafka 如何在 Zookeeper 中存储信息。 我简要地查看了代码,对于那些 kafka-topics.sh 命令,主题信息来自 /brokers/topics 而不是 /config/topics

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM