Apache へのアクセスの制御 ZooKeeper - Amazon Managed Streaming for Apache Kafka

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Apache へのアクセスの制御 ZooKeeper

セキュリティ上の理由から、Amazon MSKクラスターの一部である Apache ZooKeeper ノードへのアクセスを制限できます。ノードへのアクセスを制限するには、それらに別のセキュリティグループを割り当てます。その後、そのセキュリティグループにアクセスできるユーザーを決定できます。

重要

このセクションは、 KRaft モードで実行されているクラスターには適用されません。「KRaft モード」を参照してください。

Apache ZooKeeper ノードを別のセキュリティグループに配置するには

  1. クラスターの Apache ZooKeeper 接続文字列を取得します。この方法の詳細は、ZooKeeper モードを参照してください。接続文字列には、Apache ZooKeeper ノードDNSの名前が含まれます。

  2. host または などのツールを使用して、前のステップで取得したDNS名前を IP アドレスpingに変換します。この手順の後半で必要になるため、これらの IP アドレスを保存します。

  3. にサインインする AWS Management Console で Amazon EC2コンソールを開きますhttps://console.aws.amazon.com/ec2/

  4. 左側のペインの NETWORKと SECURITYで、ネットワークインターフェイス を選択します。

  5. ネットワークインターフェイスのテーブルの上にある検索フィールドに、クラスターの名前を入力し、「return」と入力します。これにより、テーブルに表示されるネットワークインターフェイスの数を、クラスターに関連付けられたインターフェイスの数に制限します。

  6. リストの最初のネットワークインターフェイスに対応する行の先頭にあるチェックボックスをオンにします。

  7. ページ下部の詳細ペインで、プライマリプライベート IPv4 IP を探します。この IP アドレスがこの手順の最初のステップで取得した IP アドレスの 1 つと一致する場合、このネットワークインターフェイスはクラスターの一部である Apache ZooKeeper ノードに割り当てられます。それ以外の場合は、このネットワークインターフェイスの隣にあるチェックボックスをオフにして、リスト内の次のネットワークインターフェイスを選択します。ネットワークインターフェイスを選択する順序は関係ありません。次のステップでは、Apache ZooKeeper ノードに割り当てられたすべてのネットワークインターフェイスで同じオペレーションを 1 つずつ実行します。

  8. Apache ZooKeeper ノードに対応するネットワークインターフェイスを選択するときは、ページ上部のアクションメニューを選択し、セキュリティグループの変更を選択します。このネットワークインターフェイスに新しいセキュリティグループを割り当てます。セキュリティグループの作成の詳細については、Amazon ドキュメントの「セキュリティグループの作成」を参照してください。 VPC

  9. 前のステップを繰り返して、クラスターの Apache ZooKeeper ノードに関連付けられているすべてのネットワークインターフェイスに同じ新しいセキュリティグループを割り当てます。

  10. これで、この新しいセキュリティグループにアクセスできるユーザーを選択できるようになりました。セキュリティグループルールの設定については、Amazon VPCドキュメントの「ルールの追加、削除、更新」を参照してください。

Apache でTLSのセキュリティの使用 ZooKeeper

クライアントと Apache ZooKeeper ノード間の転送中の暗号化にTLSセキュリティを使用できます。Apache ZooKeeper ノードでTLSセキュリティを実装するには、次の手順を実行します。

  • Apache でTLSセキュリティを使用するには、クラスターで Apache Kafka バージョン 2.5.1 以降を使用する必要があります ZooKeeper。

  • クラスターを作成または設定するときにTLSセキュリティを有効にします。Apache Kafka バージョン 2.5.1 以降で TLSを有効にして作成されたクラスターは、Apache ZooKeeper エンドポイントでTLSセキュリティを自動的に使用します。TLS セキュリティの設定については、「」を参照してください暗号化を開始する方法

  • DescribeCluster オペレーションを使用して TLS Apache ZooKeeper エンドポイントを取得します。

  • kafka-configs.sh および kafka-acls.sh ツール、または ZooKeeper シェルで使用する Apache ZooKeeper 設定ファイルを作成します。各ツールで、 --zk-tls-config-fileパラメータを使用して Apache ZooKeeper 設定を指定します。

    次の例は、一般的な Apache ZooKeeper 設定ファイルを示しています。

    zookeeper.ssl.client.enable=true zookeeper.clientCnxnSocket=org.apache.zookeeper.ClientCnxnSocketNetty zookeeper.ssl.keystore.location=kafka.jks zookeeper.ssl.keystore.password=test1234 zookeeper.ssl.truststore.location=truststore.jks zookeeper.ssl.truststore.password=test1234
  • その他のコマンド ( などkafka-topics) では、 KAFKA_OPTS環境変数を使用して Apache ZooKeeper パラメータを設定する必要があります。次の例は、Apache ZooKeeper パラメータを他のコマンドに渡すようにKAFKA_OPTS環境変数を設定する方法を示しています。

    export KAFKA_OPTS=" -Dzookeeper.clientCnxnSocket=org.apache.zookeeper.ClientCnxnSocketNetty -Dzookeeper.client.secure=true -Dzookeeper.ssl.trustStore.location=/home/ec2-user/kafka.client.truststore.jks -Dzookeeper.ssl.trustStore.password=changeit"

    KAFKA_OPTS 環境変数を設定したら、CLIコマンドを正常に使用できます。次の例では、 KAFKA_OPTS環境変数の Apache ZooKeeper 設定を使用して Apache Kafka トピックを作成します。

    <path-to-your-kafka-installation>/bin/kafka-topics.sh --create --zookeeper ZooKeeperTLSConnectString --replication-factor 3 --partitions 1 --topic AWSKafkaTutorialTopic
注記

Apache ZooKeeper 設定ファイルで使用するパラメータの名前とKAFKA_OPTS環境変数で使用するパラメータの名前に一貫性がありません。設定ファイルおよび KAFKA_OPTS 環境変数の、どのパラメーターでどの名前を使用するかに注意してください。

を使用して Apache ZooKeeper ノードにアクセスする方法の詳細についてはTLS、KIP「-515: ZK クライアントがTLSサポートされている新しい認証 を使用できるようにする」を参照してください。