すべてのプロダクト
Search
ドキュメントセンター

E-MapReduce:SASL を使用した Kafka クラスターへのログイン

最終更新日:Mar 01, 2026

簡易認証およびセキュリティ層 (SASL) は、有効な認証情報を持つクライアントのみが Kafka ブローカーに接続できることを保証します。デフォルトでは、E-MapReduce (EMR) Kafka クラスターでは SASL が無効になっています。このトピックでは、SCRAM-SHA-512 メカニズムを使用した SASL の有効化、ブローカーとクライアントの認証設定、およびセットアップの検証について説明します。

前提条件

E-MapReduce (EMR) コンソールで Dataflow クラスターが作成され、クラスターの作成時に Kafka が選択されている必要があります。詳細については、「Dataflow Kafka クラスターの作成」をご参照ください。

管理者ユーザーの作成

EMR は、server.properties 設定ファイル内の kafka.sasl.config.type 設定項目を介して SASL を管理します。

  1. SSH モードでご利用のクラスターのマスターノードにログインします。詳細については、「クラスターへのログイン」をご参照ください。

  2. 次のコマンドを実行して、管理者ユーザーを作成します。

    説明

    この例では、admin ユーザーのパスワードは admin-secret です。ビジネス要件に基づいてパスワードを指定してください。

       kafka-configs.sh --bootstrap-server core-1-1:9092 --alter --add-config 'SCRAM-SHA-256=[password=admin-secret],SCRAM-SHA-512=[password=admin-secret]' --entity-type users --entity-name admin

EMR コンソールでの SASL 設定項目の追加

Kafka 設定ページへの移動

  1. EMR コンソールにログインします。左側のナビゲーションウィンドウで、[EMR On ECS] をクリックします。

  2. 上部のナビゲーションバーで、ご利用のクラスターが存在するリージョンを選択し、ビジネス要件に基づいてリソースグループを選択します

  3. [EMR On ECS] ページで、クラスターを見つけ、操作列の [サービス] をクリックします。

  4. サービス」タブで、Kafka サービスを見つけ、「設定」をクリックします。

SASL メカニズム設定の追加

[server.properties] タブで:

  1. [設定項目の追加] をクリックします。

  2. [設定項目の追加]」ダイアログボックスで、以下の設定項目を追加し、「[OK]」をクリックします。

    設定項目
    sasl.mechanism.inter.broker.protocolSCRAM-SHA-512
    sasl.enabled.mechanismsSCRAM-SHA-512
  3. 表示されるダイアログボックスで、[実行理由] を指定し、[保存] をクリックします。

リスナーのカスタムモードへの設定

[server.properties]」タブで:

  1. [kafka.sasl.config.type] 設定項目の値を [CUSTOM] に変更し、[保存] をクリックします。

  2. 表示されるダイアログボックスで、[実行理由] を指定し、[保存] をクリックします。

Kafka ブローカーの JAAS 設定

次のいずれかの方法を選択して、Kafka ブローカーの Java Authentication and Authorization Service (JAAS) を設定します。

方法 1: カスタム設定項目の使用

Kafka の [設定] ページの server.properties タブで:

  1. [設定項目の追加] をクリックし、以下の設定項目を追加してから、[OK] をクリックします。

    設定項目
    listener.name.sasl_plaintext.sasl.enabled.mechanismsSCRAM-SHA-512
    listener.name.sasl_plaintext.scram-sha-512.sasl.jaas.configorg.apache.kafka.common.security.scram.ScramLoginModule required username="admin" password="admin-secret" ;
  2. 表示されるダイアログボックスで、[実行理由] を指定し、[保存] をクリックします。

方法 2: 設定ファイルの使用

Kafka の [設定] ページで、以下の設定項目を変更し、[保存] をクリックします。

タブ設定項目
kafka_server_jaas.confkafka.server.jaas.contentKafkaServer { org.apache.kafka.common.security.scram.ScramLoginModule required username="admin" password="admin-secret"; };
server.propertieskafka_opts-Djava.security.auth.login.config=/etc/taihao-apps/kafka-conf/kafka-conf/kafka_server_jaas.conf

kafka.server.jaas.content の値の全体は次のとおりです。

KafkaServer {
org.apache.kafka.common.security.scram.ScramLoginModule required
username="admin"
password="admin-secret";
};

表示されるダイアログボックスで、[実行理由] を指定し、[保存] をクリックします。

Kafka クライアントの JAAS 設定

kafka_client_jaas.conf 設定ファイルで kafka.client.jaas.content 設定項目を設定します。この設定は、Kafka Schema Registry と Kafka REST Proxy を起動するために使用されます。

Kafka の [設定] ページで、以下の設定項目を変更し、[保存] をクリックします。

[タブ][設定項目][値]
kafka_client_jaas.confkafka.client.jaas.contentKafkaClient { org.apache.kafka.common.security.scram.ScramLoginModule required username="admin" password="admin-secret"; };
schema-registry.propertiesschema_registry_opts-Djava.security.auth.login.config=/etc/taihao-apps/kafka-conf/kafka-conf/kafka_client_jaas.conf
kafka-rest.propertieskafkarest_opts-Djava.security.auth.login.config=/etc/taihao-apps/kafka-conf/kafka-conf/kafka_client_jaas.conf

kafka.client.jaas.content の値の全体は次のとおりです。

KafkaClient {
org.apache.kafka.common.security.scram.ScramLoginModule required
username="admin"
password="admin-secret";
};

表示されるダイアログボックスで、[実行理由]を指定し、[保存]をクリックします。

Kafka サービスの再起動

SASL 設定が完了したら、変更を有効にするために Kafka サービスを再起動します。

  1. Kafka サービスページの[設定]タブで、右上隅の[その他] > [再起動]を選択します。

  2. 表示されるダイアログボックスで、[実行理由] を指定し、[OK] をクリックします。

  3. [確認] メッセージで、[OK] をクリックします。

SASL 認証の検証

Kafka サービスが再起動したら、SCRAM-SHA-512 メカニズムを使用して Kafka クラスターに認証します。次の例では、組み込みのプロデューサープログラムとコンシューマープログラムを使用します。

管理者設定ファイルの作成

  1. SSH モードでご利用の EMR クラスターのマスターノードにログインします。詳細については、「クラスターへのログイン」をご参照ください。

  2. 次のコマンドを実行して、sasl_admin.properties ファイルを作成します。

       vim sasl_admin.properties
  3. ファイルに次のコンテンツを追加します。

       security.protocol=SASL_PLAINTEXT
       sasl.mechanism=SCRAM-SHA-512
       sasl.jaas.config=org.apache.kafka.common.security.scram.ScramLoginModule required username="admin" password="admin-secret";

一般ユーザーの作成

次のコマンドを実行して、一般ユーザーを作成します。

kafka-configs.sh --bootstrap-server core-1-1:9092 --alter --add-config 'SCRAM-SHA-256=[password=<yourUserpassword>],SCRAM-SHA-512=[password=<yourUserpassword>]' --entity-type users --entity-name <yourUsername> --command-config /root/sasl_admin.properties

<yourUsername><yourUserpassword> を、一般ユーザーに割り当てるユーザー名とパスワードに置き換えます。

ユーザー設定ファイルの作成

  1. 次のコマンドを実行して、sasl_user.properties ファイルを作成します。

       vim sasl_user.properties
  2. ファイルに次のコンテンツを追加します。

       security.protocol=SASL_PLAINTEXT
       sasl.mechanism=SCRAM-SHA-512
       sasl.jaas.config=org.apache.kafka.common.security.scram.ScramLoginModule required username="<yourUsername>" password="<yourUserpassword>";

トピックの作成

次のコマンドを実行して、トピックを作成します。

kafka-topics.sh --partitions 10 --replication-factor 2 --bootstrap-server core-1-1:9092 --topic test --create --command-config /root/sasl_user.properties

test はトピックの名前です。ビジネス要件に基づいてトピック名を指定してください。

データの生成

次のコマンドを実行して、トピックにデータを生成します。

kafka-producer-perf-test.sh --topic test --num-records 123456 --throughput 10000 --record-size 1024 --producer-props bootstrap.servers=core-1-1:9092 --producer.config sasl_user.properties

データの消費

次のコマンドを実行して、トピックからデータを消費します。

kafka-consumer-perf-test.sh --broker-list core-1-1:9092 --messages 100000000 --topic test --consumer.config sasl_user.properties

参照