7.6 ZooKeeper 认证
优质
小牛编辑
135浏览
2023-12-01
7.6.1 新集群
在对broker进行Zookeeper认证前,有两个必要步骤:- 创建一个JAAS登录文件并在文件中设置适当的系统属性,如上文所述。
- 在每个broker上设置配置项 zookeeper.set.acl为true。
7.6.2 集群迁移
如果你使用kafka的版本不支持安全的或简单的禁用安全,你还是想设置集群安全,则需要执行以下步骤启用ZooKeeper认证(最小的中断操作):- 滚动重新启动设置的JAAS登录文件,这样可以使broker进行身份认证。在滚动重启结束后,broker就能够用ACL操作这些znode(节点)了(但不能创建)。
- 进行第二次滚动重启,这次设置配置参数zookeeper.set.acl为true,这样就能使用安全的ACL创建znode。
- 执行ZkSecurityMigrator工具。执行脚本:./bin/zookeeper-security-migration.sh,将zookeeper.acl 设置secure,这个工具通过相应的sub-trees修改的znodes ACL。
除了以上操作,还需要在安全集群中关闭认证,具体操作如下:
- 滚动重新启动设置的JAAS登录文件,进行broker认证,这里需要将zookeeper.set.acl设置为false。 重启结束之后,broker停止用ACL创建znodes,但是仍然能认证和操作znodes。
- 执行ZkSecurityMigrator工具. 运行脚本:./bin/zookeeper-security-migration.sh,将zookeeper.acl设置为unsecure,这个工具通过相应的sub-trees修改的znodes ACL。
- 执行第二次滚动重启broker,这次忽略了JAAS登录文件设置系统属性。
./bin/zookeeper-security-migration.sh --zookeeper.acl=secure --zookeeper.connect=localhost:2181
运行以下命令查看完整列表:
./bin/zookeeper-security-migration.sh --help