ZooKeeper认证【kafka】

原创
半兽人 发表于: 2016-05-06   最后更新时间: 2019-10-18 20:13:38  
{{totalSubscript}} 订阅, 21,553 游览

7.6 ZooKeeper认证

7.6.1 新集群

若启用对broker的Zookeeper认证,有两个必要步骤:

  1. 创建一个JAAS登录文件并设置适当的系统属性指向它,如上文所述。
  2. 设置配置属性 zookeeper.set.acl的每个broker为true

存储在Zookeeper的元数据是这样的,只有broker能够修改相应的znodes,但是znodes是都可读的,原因是,存储在zookeeper的数据是不敏感的,但是znodes不当的操作可能导致集群中断,我们还是建议通过网络分割限制zookeeper(仅允许broker和一些管理工具访问zookeeper)。

7.6.2 迁移集群

如果你使用kafka的版本不支持安全的或简单的禁用安全,你想设置集群安全,则需要执行以下步骤启用ZooKeeper认证(最小的中断操作):

  1. 滚动重新启动设置的JAAS登录文件,这使broker进行身份认证,在滚动重启结束后,broker就能够用ACL操作这些znode(节点)了(但不能创建)。

  2. 执行第二次滚动重启,这次设置配置参数zookeeper.set.acl为true,这样就能使用安全的ACL创建znode。

  3. 执行ZkSecurityMigrator工具,执行脚本:./bin/zookeeper-security-migration.sh,zookeeper.acl 设置secure,这个工具将遍历更改 Acl 的 znodes 相应的 sub-trees。

也在安全集群中关闭认证,按照以下步骤:

  1. 滚动重新启动设置的JAAS登录文件,启动broker认证,但是设置zookeeper.set.acl为false。重启结束之后,broker停止用ACL创建znodes,但是仍然能认证和操作znodes。

  2. 执行ZkSecurityMigrator工具,运行脚本:./bin/zookeeper-security-migration.sh,zookeeper.acl设置为不安全的,这个工具将遍历更改 Acl 的 znodes 相应的 sub-trees。

  3. 执行第二次滚动重启broker,这次忽略了JAAS登录文件设置系统属性。

提供一个例子,如何运行迁移工具:

./bin/zookeeper-security-migration --zookeeper.acl=secure --zookeeper.connection=localhost:2181

查看完整列表:

./bin/zookeeper-security-migration --help

7.6.3 Migrating the ZooKeeper ensemble

也有必要对全部zookeeper启用身份验证。要做到这一点,我们需要设置一些属性参数。请参阅更详细的zookeeper文档︰:

  1. Apache ZooKeeper documentation
  2. Apache ZooKeeper wiki
更新于 2019-10-18

Viccccccccc 4年前

怎么给自带的zookeeper设置ip白名单呢

没有zkcli客户端

半兽人 -> Viccccccccc 4年前

啥意思?

Viccccccccc -> 半兽人 4年前

搞了个第三方的zkcli远程过去搞定了

Fate. Fire 6年前

大神,我的zookeeper集群设置了acl认证,kafka如何取连接这个acl认证的zookeeper集群呢?如何配置呢

Jerry 7年前

大神 有没有zookeeper设置认证 授权 以及通过 带认证zookeeper读取kafka数据的说明文档

半兽人 -> Jerry 7年前

后续我会提供例子出来。

Jerry -> 半兽人 7年前

大神 可以先简要的跟我说下吗 ?紧急!!

Jerry -> 半兽人 7年前

我qq:417413280  谢谢

查看kafka更多相关的文章或提一个关于kafka的问题,也可以与我们一起分享文章