【问题标题】:ACLs for cluster resource in kafkakafka 中集群资源的 ACL
【发布时间】:2026-01-14 22:55:01
【问题描述】:

kafka 中的集群操作是什么,通过在kafka-acls.sh 脚本中指定--cluster 选项可以允许/拒绝哪些操作?

来自this

代理间操作分为两类:集群和主题。集群操作是指管理集群所必需的操作,例如更新代理和分区元数据,更改分区的领导者和同步副本集,以及触发受控关闭

但我无法理解这里的实际用例。

【问题讨论】:

    标签: apache-kafka acl kafka-cluster apache-kafka-security


    【解决方案1】:

    这很有趣。

    以下是我能想到的 2 个用例:

    1. 代理正常关闭 - 在某些情况下,您可能需要有意关闭代理以进行维护或配置更改。为此,Kafka 提供了 ControlledShutdown API。该 API 有 2 个主要优化,即缓冲区缓存中的所有日志都刷新到磁盘以避免任何恢复,并将任何分区迁移到其他代理关闭的代理是其领导者。 然而,这个操作并不是人们宁愿打开的,所以设置 ACL 在这里会有所帮助。因此,默认情况下,您可以选择禁用此功能,然后添加 ACL,如下所示:

    主体 P 允许从主机 H 执行“CLUSTER_ACTION”操作 资源“集群”

    1. 删除主题的 ACL(另一个集群操作)- 如果您选择删除 Kafka 中的主题,则不会自动删除与该主题相关的 ACL。它们需要被明确删除。与第一个类似,您不希望允许任何用户为操作主题运行它。因此,您可以添加类似于第一个 ACL 的 ACL,以仅允许特定主体执行此操作。

    我会在了解它们后添加更多内容。

    希望这会有所帮助!

    【讨论】: