设置ACL后,无法在kafka工具中描述组或视图偏移

9jyewag0  于 2021-06-08  发布在  Kafka
关注(0)|答案(2)|浏览(337)

使用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 testavroConskafka-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和经纪人之间是否有设置?

pdsfdshx

pdsfdshx1#

我们需要两样东西。
(除了对客户机服务器角色和身份验证与授权的安全性有很好的理解!)
首先将用户添加到sasl配置中。为经纪人和客户。
(解决认证部分)
第二个是将新用户作为超级用户添加到kafka broker server.properties。
(解决授权部分)
详细信息(仅以一个条目为例):
代理端的jaas配置

KafkaServer {
     org.apache.kafka.common.security.plain.PlainLoginModule required
     user_testuser="testuser_password";
 };

jaas配置“客户端”

security.protocol=SASL_PLAINTEXT
sasl.mechanism=PLAIN
sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required \
username=\"testuser\" password=\"testuser_password\";

服务器属性

super.users=User:testuser

现在当我跑的时候
(kafka\u tools\u jaas.conf包含客户端的jaas配置)它工作得很好。

kafka-consumer-groups --describe --group testavroCons --bootstrap-server server:port --command-config /tmp/kafka_tools_jaas.conf
rta7y2nd

rta7y2nd2#

对于用户 u 能够描述一个群体 g 从主题中消耗 t 这些ACL权限是必需的:

bin/kafka-acls.sh --authorizer kafka.security.auth.SimpleAclAuthorizer --authorizer-properties zookeeper.connect=localhost:2181 --add --allow-principal User:u --operation Describe --group g
bin/kafka-acls.sh --authorizer kafka.security.auth.SimpleAclAuthorizer --authorizer-properties zookeeper.connect=localhost:2181 --add --allow-principal User:u --operation Describe --topic t

参考

相关问题