Zookeeper 如何使用 SASL 身份验证设置其 zNode 权限?

How does Zookeeper set its zNode permissions with SASL authentication?

假设您处于 Kerberized Ambari 环境中。 Zookeeper 设置为 SASL,没有经过身份验证的用户只有读取权限。

当您启动您的 kafka 代理时,它将作为 «kafka» 对 zookeeper 进行身份验证,并能够创建 znode。查看 zookeeper acls,«kafka» 将自动获得对 zode 的 cdrwa(所有)权限。

我的问题是,zookeeper 是否有这种行为,因为它处于 ambari 环境中,不限制其 jaas 配置客户端部分中的用户,自动授予 zookeeper acl 对新 zNodes 的权限?

抱歉格式问题,我在凌晨 1.53 使用手机...zzz.Zz

如果您将 zookeeer.set.acl 设置为 true,那么 Kafka 将在任何新创建的 zkNode 上设置安全 ACL,前提是它与 ZkUtils.SecureZkRootPaths 父节点之一匹配(参见 source code )