使用Kafka1.1版
我´我们在一个端口上为客户端启用了sasl,同时用明文将interbroker通信移动到另一个端口。
问题是,在如下所述为客户端设置ACL之后,我在发现有关主题和组的信息时遇到了问题。
server.properties-在下面添加了条目 allow.everyone.if.no.acl.found=true super.users=User:admin (user included in jaas config file)
创建主题“testavro”,并按以下方式设置其中一个主题的ACL: kafka-acls --authorizer kafka.security.auth.SimpleAclAuthorizer --authorizer-properties zookeeper.connect=localhost:2181 --add --allow-principal User:cons --consumer --topic testavro --group testavroCons
和 kafka-acls --authorizer kafka.security.auth.SimpleAclAuthorizer --authorizer-properties zookeeper.connect=localhost:2181 --add --allow-principal User:prod --producer --topic testavro
现在生产和消费都很好。
但是,当我尝试使用Kafka消费群体工具来描述testavrocons群体时,我会得到以下信息:
错误:由于未授权访问组,执行使用者组命令失败:组授权失败。
当我尝试使用kafka工具来读取指定消费组testavrocons的偏移量时。我没看见他们。我现在甚至没有在列表中看到testavro主题。
在这种情况下还需要什么特权?我知道这是acl的问题,但我想避免全球规则。Zookeeper或Zookeeper和经纪人之间是否有设置?
2条答案
按热度按时间pdsfdshx1#
我们需要两样东西。
(除了对客户机服务器角色和身份验证与授权的安全性有很好的理解!)
首先将用户添加到sasl配置中。为经纪人和客户。
(解决认证部分)
第二个是将新用户作为超级用户添加到kafka broker server.properties。
(解决授权部分)
详细信息(仅以一个条目为例):
代理端的jaas配置
jaas配置“客户端”
服务器属性
现在当我跑的时候
(kafka\u tools\u jaas.conf包含客户端的jaas配置)它工作得很好。
rta7y2nd2#
对于用户
u
能够描述一个群体g
从主题中消耗t
这些ACL权限是必需的:参考