从卡夫卡的官方文档,以及在我旅行过程中涌现出来的大量博客来看,我似乎可以创建一个卡夫卡经纪人,它的server.properties配置文件包含:
authorizer.class.name=kafka.security.auth.SimpleAclAuthorizer
super.users=User:Bob;User:Alice这定义了两个超级用户(Bob + Alice),他们可以生成消息并使用来自我代理主题的消息。
,但我如何利用客户端的这些用户呢?,如果我有一个需要向我的Kafka代理发送消息的Java,客户端如何“验证”自己为'Bob‘(或'Alice',或任何其他超级用户)?
超级用户密码在哪里定义/使用?!?
发布于 2016-11-01 14:52:01
这周我做了一些调查,看起来"basic“-style(用户名+密码)凭证在Kafka本身中是不受支持的。
看起来您可以设置Kerberos或类似的解决方案(JAAS/SASL等)。创建一个与Kafka一起工作的票务服务,这就是这些ACL的作用所在。我认为要点是,首先对Kerberos进行身份验证,此时您将获得一张票证/令牌。然后,您将出示您的用户名/原则和您的票证卡夫卡,卡夫卡将与Kerberos合作,以确保票仍然有效。我认为这就是它的工作方式,基于一些模糊的博客,我能够得到我的手。
我还看到证据表明Kafka目前或计划在LDAP上提供某种集成层支持,因此您可以将您的Kafka集群与AD或类似的集群连接起来。
管理Kafka身份验证的最佳方法,奇怪的是,似乎是雅虎!卡夫卡经理工具,它似乎是一个非常受欢迎的、维护良好的项目,充斥着最近的更新和社区支持。这很可能是我要做的事情,至少暂时是这样。HTH。
https://stackoverflow.com/questions/40025832
复制相似问题