是否可为基于后缀匹配的消费者组授予Kafka ACL权限
这个需求完全可以实现,Kafka 2.4及以上版本原生支持消费组资源的后缀匹配模式,无需额外二次开发即可满足要求。
权限配置命令
你需要分别配置主题读取权限和后缀匹配的消费组权限,使用Kafka自带的kafka-acls.sh脚本执行配置即可:
1. 配置sampletopic主题的读取权限
bin/kafka-acls.sh --authorizer-properties zookeeper.connect=你的ZooKeeper地址:2181 \ --add \ --allow-principal User:principal@myrealm.com \ --operation Read \ --topic sampletopic
2. 配置所有以_test结尾的消费组访问权限
核心参数--resource-pattern-type Suffix用于指定资源匹配模式为后缀匹配,会自动匹配所有名称以_test结尾的消费组:
bin/kafka-acls.sh --authorizer-properties zookeeper.connect=你的ZooKeeper地址:2181 \ --add \ --allow-principal User:principal@myrealm.com \ --operation Read \ --operation Describe \ --group _test \ --resource-pattern-type Suffix
验证与注意事项
- 若使用KRaft模式的Kafka集群,把命令中的
--authorizer-properties zookeeper.connect=xxx替换为--bootstrap-server 你的Kafka节点地址:9092 --command-config 管理员客户端配置文件.properties即可,配置文件中需要填写有ACL操作权限的管理员凭证。 - 若需要支持消费位移提交,可在消费组权限配置命令中额外增加
--operation Alter参数。 - 执行以下命令可验证ACL配置是否正确:
bin/kafka-acls.sh --authorizer-properties zookeeper.connect=你的ZooKeeper地址:2181 \ --list \ --group _test \ --resource-pattern-type Suffix
内容的提问来源于stack exchange,提问作者Koupadhy
相关产品推荐
相关产品推荐

