您知道从 Kafka 中删除所有可用 ACL 的任何命令吗?如果您将文字 ACL 添加到 Kafka,当您想要删除它时,您不能使用前缀或 ...(它与文字 ACL 不匹配)。
谢谢。
您知道从 Kafka 中删除所有可用 ACL 的任何命令吗?如果您将文字 ACL 添加到 Kafka,当您想要删除它时,您不能使用前缀或 ...(它与文字 ACL 不匹配)。
谢谢。
您可以使用--removekafka-acl 工具的标志,它会删除所有应用于主题的 acl。只需在所有主题中循环命令即可。
对于 topicList 中的每个 TOPIC:
./kafka-acls --authorizer kafka.security.auth.SimpleAclAuthorizer \
--authorizer-properties zookeeper.connect=$ZOOKEEPER \
--topic $TOPIC --remove
您可以使用kafka-acls --bootstrap-server kafka:9092 --remove --topic *. --topics参数接受通配符:
--topic <String: topic> topic to which ACLs should be added or
removed. A value of * indicates ACL
should apply to all topics.
建议的解决方案对我不起作用,除非它们完全匹配,否则不会删除 ACL。
我的解决方法是直接使用 AdminClient:
try (AdminClient adminClient = AdminClient.create(props)) {
adminClient.deleteAcls(
List.of(new AclBindingFilter(ResourcePatternFilter.ANY, AccessControlEntryFilter.ANY)));
}