Kafka 2.7.0中kafka-acls.sh含下划线操作执行失败问题
Kafka 2.7.0 ACL配置问题:含下划线操作(如ALTER_CONFIGS)无法在CLUSTER资源上生效
问题原因
Kafka的不同资源类型(CLUSTER、TOPIC、GROUP等)支持的ACL操作存在明确区分:
CLUSTER资源类型仅支持ALTER、CREATE、DELETE、DESCRIBE、ALL等操作,不支持ALTER_CONFIGSALTER_CONFIGS、DESCRIBE_CONFIGS这类带下划线的操作,是针对TOPIC、BROKER、GROUP等具体资源的权限控制,不属于CLUSTER资源的操作范畴
你看到的错误提示ResourceType TOPIC only supports operations ALTER_CONFIGS...,本质是工具在提示:ALTER_CONFIGS这个操作仅适用于TOPIC这类资源,而非你当前指定的CLUSTER资源。
解决方案
根据你的需求选择对应的命令:
1. 控制集群级别的配置修改权限
如果要限制用户修改集群级配置,使用CLUSTER资源的ALTER操作即可(这是Kafka 2.7中对应集群配置修改的权限):
kafka-acls.sh --authorizer-properties zookeeper.connect=localhost:2181 --add --deny-principal User:kafkaConsole --cluster --operation ALTER
2. 控制主题的配置修改权限
如果要限制用户修改某个主题的配置,需要指定--topic参数而非--cluster:
kafka-acls.sh --authorizer-properties zookeeper.connect=localhost:2181 --add --deny-principal User:kafkaConsole --topic your-topic-name --operation ALTER_CONFIGS
3. 验证ACL配置
执行以下命令查看已配置的ACL:
# 查看集群级ACL kafka-acls.sh --authorizer-properties zookeeper.connect=localhost:2181 --list --cluster # 查看指定主题的ACL kafka-acls.sh --authorizer-properties zookeeper.connect=localhost:2181 --list --topic your-topic-name
内容的提问来源于stack exchange,提问作者mohamad saleh shojai
相关产品推荐
相关产品推荐

