3.4.3. DIGEST-MD5 を使用したクライアント/サーバー間の認証の有効化
この手順では、ZooKeeper クライアントと ZooKeeper との間で SASL DIGEST-MD5 メカニズムを使用した認証を有効にする方法を説明します。
前提条件
- AMQ Streams がホストにインストールされている。
- ZooKeeper クラスターが 設定され、稼働している。
SASL DIGEST-MD5 認証の有効化
すべての ZooKeeper ノードで、
/opt/kafka/config/zookeeper-jaas.conf
JAAS 設定ファイルを作成または編集し、以下のコンテキストを追加します。Server { org.apache.zookeeper.server.auth.DigestLoginModule required user_super="<SuperUserPassword>" user<Username1>_="<Password1>" user<USername2>_="<Password2>"; };
super
は自動的に管理者特権を持たせます。このファイルには複数のユーザーを含めることができますが、Kafka ブローカーが必要とする追加ユーザーは 1 つだけです。Kafka ユーザーに推奨される名前はkafka
です。以下の例は、クライアント/サーバー間の認証の
Server
コンテキストを示しています。Server { org.apache.zookeeper.server.auth.DigestLoginModule required user_super="123456" user_kafka="123456"; };
すべての ZooKeeper ノードで、
/opt/kafka/config/zookeeper.properties
ZooKeeper 設定ファイルを編集し、以下のオプションを設定します。requireClientAuthScheme=sasl authProvider.<IdOfBroker1>=org.apache.zookeeper.server.auth.SASLAuthenticationProvider authProvider.<IdOfBroker2>=org.apache.zookeeper.server.auth.SASLAuthenticationProvider authProvider.<IdOfBroker3>=org.apache.zookeeper.server.auth.SASLAuthenticationProvider
authProvider.<ID>
プロパティーは、ZooKeeper クラスターの一部であるすべてのノードに追加する必要があります。3 ノードの ZooKeeper クラスターの設定例は以下のようになります。requireClientAuthScheme=sasl authProvider.1=org.apache.zookeeper.server.auth.SASLAuthenticationProvider authProvider.2=org.apache.zookeeper.server.auth.SASLAuthenticationProvider authProvider.3=org.apache.zookeeper.server.auth.SASLAuthenticationProvider
すべての ZooKeeper ノードを 1 つずつ再起動します。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 のインストールに関する詳細は、「AMQ Streams のインストール」 を参照してください。
- AMQ Streams の設定に関する詳細は、「AMQ Streams の設定」 を参照してください。
- ZooKeeper クラスターの実行に関する詳細は、「マルチノードの ZooKeeper クラスターの実行」 を参照してください。