3.4.2. 使用 DIGEST-MD5 启用服务器到服务器的身份验证
这个步骤描述了如何在 ZooKeeper 集群的节点之间使用 SASL DIGEST-MD5 机制启用身份验证。
先决条件
- 在主机上安装 AMQ Streams
- zookeeper 集群配置 了多个节点。
启用 SASL DIGEST-MD5 身份验证
在所有 ZooKeeper 节点上,创建或编辑
/opt/kafka/config/zookeeper-jaas.conf
JAAS 配置文件并添加以下上下文:QuorumServer { org.apache.zookeeper.server.auth.DigestLoginModule required user_<Username>="<Password>"; }; QuorumLearner { org.apache.zookeeper.server.auth.DigestLoginModule required username="<Username>" password="<Password>"; };
在 JAAS 上下文中,用户名和密码必须相同。例如:
QuorumServer { org.apache.zookeeper.server.auth.DigestLoginModule required user_zookeeper="123456"; }; QuorumLearner { org.apache.zookeeper.server.auth.DigestLoginModule required username="zookeeper" password="123456"; };
在所有 ZooKeeper 节点上,编辑
/opt/kafka/config/zookeeper.properties
ZooKeeper 配置文件并设置以下选项:quorum.auth.enableSasl=true quorum.auth.learnerRequireSasl=true quorum.auth.serverRequireSasl=true quorum.auth.learner.loginContext=QuorumLearner quorum.auth.server.loginContext=QuorumServer quorum.cnxn.threads.size=20
逐个重启所有 ZooKeeper 节点。要将 JAAS 配置传递给 ZooKeeper,请使用
KAFKA_OPTS
环境变量。su - kafka export KAFKA_OPTS="-Djava.security.auth.login.config=/opt/kafka/config/zookeeper-jaas.conf"; /opt/kafka/bin/zookeeper-server-start.sh -daemon /opt/kafka/config/zookeeper.properties
其它资源
- 有关安装 AMQ Streams 的详情请参考 第 2.3 节 “安装 AMQ Streams”。
- 有关配置 AMQ Streams 的详情请参考 第 2.8 节 “配置 AMQ 流”。
- 有关运行 ZooKeeper 集群的详情请参考 第 3.3 节 “运行多节点 ZooKeeper 集群”。