kafka身份认证 maxwell_Kafka官方文档安全部分翻译(四)- ZooKeeper身份认证

7. 安全

7.6 ZooKeeper身份认证

7.6.1 新集群

为了在broker启用ZooKeeper身份认证,有如下两个必要的步骤:

创建JAAS登录文件并设置适当的系统参数指向该文件,像上述一样;

将每个broker的zookeeper.set.acl参数设置为true;

存储在ZooKeeper中的Kafka集群的元数据是全局可读的,但只能由broker修改。 这个决定的基本原理是存储在ZooKeeper中的数据不敏感,但不适当的操作该数据可能会导致集群中断。 我们还建议通过网络分段限制对ZooKeeper的访问(如果使用的是新的Java消费者和生产者客户端,只有broker和一些管理工具需要访问ZooKeeper)。

7.6.2 迁移集群

如果您运行的Kafka版本不支持安全性或仅仅禁用安全性,但您希望集群安全,那么您需要执行以下步骤来启用ZooKeeper身份验证,并尽可能减少操作中断:

设置JAAS登录文件并轮流重启,这将使broker能够进行身份验证。 在轮流重新启动结束时,broker可以使用严格的ACL操作znode,但是它们不会使用这些ACL创建znode;

再次轮流重启brokers,这一次将配置参数zookeeper.set.acl设置为true,这将在创建znode时启用安全ACL

执行ZkSecurityMigrator工具。 要执行该工具,有以下脚本:./bin/zookeeper-security-migration.sh,其中zookeeper.acl设置为secure。 此工具遍历对应子树并更改znode的ACL。

也可以在安全集群中关闭身份验证。为此,请按照下列步骤操作:

设置JAAS登录文件并轮流重启broker, 这将使broker能够进行身份验证,但是将zookeeper.set.acl设置为false。在轮流重启结束后broker会停止使用安全ACL创建znode,但仍然能够进行身份认证和操作所有的znode;

执行ZkSecurityMigrator工具。 要执行该工具,执行这个脚本:./bin/zookeeper-security-migration.sh,将zookeeper.acl设置为unsecure。 此工具遍历对应子树并更改znode的ACL;

再次轮流重启brokers,这次去掉设置JAAS登录文件的系统配置参数;

这是运行迁移工具的示例:

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

运行下面的命令查看完整的参数列表:

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

7.6.3 ZooKeeper集群迁移

同时也需要在ZooKeeperr集群启用身份认证,为了实现这点,我们需要轮流重启服务器并设置一些配置。请参考ZooKeeper的文档获取更多细节:

你可能感兴趣的:(kafka身份认证,maxwell)