全部产品
Search
文档中心

E-MapReduce:Masuk ke kluster Kafka menggunakan SASL

更新时间:Mar 01, 2026

Lapisan Otentikasi dan Keamanan Sederhana (Simple Authentication and Security Layer/SASL) memastikan bahwa hanya klien dengan kredensial yang valid yang dapat terhubung ke broker Kafka. Secara default, SASL dinonaktifkan pada kluster Kafka E-MapReduce (EMR). Topik ini memandu Anda melalui proses mengaktifkan SASL dengan mekanisme SCRAM-SHA-512, mengonfigurasi otentikasi broker dan klien, serta memverifikasi konfigurasi tersebut.

Prasyarat

Kluster Dataflow telah dibuat di Konsol E-MapReduce (EMR), dan Kafka dipilih saat pembuatan kluster tersebut. Untuk informasi selengkapnya, lihat Buat kluster Dataflow Kafka.

Buat pengguna admin

EMR mengelola SASL melalui item konfigurasi kafka.sasl.config.type dalam file konfigurasi server.properties.

  1. Masuk ke node master kluster Anda melalui SSH. Untuk informasi selengkapnya, lihat Masuk ke kluster.

  2. Jalankan perintah berikut untuk membuat pengguna admin:

    Catatan

    Dalam contoh ini, kata sandi pengguna admin adalah admin-secret. Tentukan kata sandi sesuai kebutuhan bisnis Anda.

       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

Tambahkan item konfigurasi SASL di Konsol EMR

Navigasi ke halaman konfigurasi Kafka

  1. Masuk ke Konsol EMR. Di panel navigasi sebelah kiri, klik EMR on ECS.

  2. Di bilah navigasi atas, pilih wilayah tempat kluster Anda berada dan pilih kelompok sumber daya sesuai kebutuhan bisnis Anda.

  3. Pada halaman EMR on ECS, temukan kluster Anda lalu klik Services di kolom Actions.

  4. Pada tab Services, temukan layanan Kafka lalu klik Configure.

Tambahkan pengaturan mekanisme SASL

Pada tab server.properties:

  1. Klik Add Configuration Item.

  2. Pada dialog Add Configuration Item, tambahkan item konfigurasi berikut lalu klik OK.

    Item konfigurasiNilai
    sasl.mechanism.inter.broker.protocolSCRAM-SHA-512
    sasl.enabled.mechanismsSCRAM-SHA-512
  3. Pada dialog yang muncul, masukkan Execution Reason lalu klik Save.

Atur listener ke mode custom

Pada tab server.properties:

  1. Ubah nilai item konfigurasi kafka.sasl.config.type menjadi CUSTOM lalu klik Save.

  2. Pada dialog yang muncul, masukkan Execution Reason lalu klik Save.

Konfigurasikan JAAS untuk broker Kafka

Pilih salah satu metode berikut untuk mengonfigurasi Java Authentication and Authorization Service (JAAS) untuk broker Kafka.

Metode 1: Gunakan item konfigurasi custom

Pada tab server.properties di halaman Configure Kafka:

  1. Klik Add Configuration Item, tambahkan item konfigurasi berikut, lalu klik OK.

    Item konfigurasiNilai
    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. Pada dialog yang muncul, masukkan Execution Reason lalu klik Save.

Metode 2: Gunakan file konfigurasi

Pada halaman Configure Kafka, ubah item konfigurasi berikut lalu klik Save.

TabItem konfigurasiNilai
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

Nilai lengkap dari kafka.server.jaas.content:

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

Pada dialog yang muncul, masukkan Execution Reason lalu klik Save.

Konfigurasikan JAAS untuk client Kafka

Konfigurasikan item konfigurasi kafka.client.jaas.content dalam file konfigurasi kafka_client_jaas.conf. Konfigurasi ini digunakan untuk menjalankan Kafka Schema Registry dan Kafka REST Proxy.

Pada halaman Configure Kafka, ubah item konfigurasi berikut lalu klik Save.

TabItem konfigurasiNilai
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

Nilai lengkap dari kafka.client.jaas.content:

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

Pada dialog yang muncul, masukkan Execution Reason lalu klik Save.

Restart layanan Kafka

Setelah menyelesaikan konfigurasi SASL, restart layanan Kafka agar perubahan diterapkan.

  1. Pada tab Configure di halaman layanan Kafka, pilih More > Restart di pojok kanan atas.

  2. Pada dialog yang muncul, masukkan Execution Reason lalu klik OK.

  3. Pada pesan Confirm, klik OK.

Verifikasi otentikasi SASL

Setelah layanan Kafka direstart, lakukan otentikasi ke kluster Kafka dengan mekanisme SCRAM-SHA-512. Contoh berikut menggunakan program Producer dan Consumer bawaan.

Buat file konfigurasi administrator

  1. Masuk ke node master kluster EMR Anda melalui SSH. Untuk informasi selengkapnya, lihat Masuk ke kluster.

  2. Jalankan perintah berikut untuk membuat file sasl_admin.properties:

       vim sasl_admin.properties
  3. Tambahkan konten berikut ke dalam file tersebut:

       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";

Buat pengguna biasa

Jalankan perintah berikut untuk membuat pengguna biasa:

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

Ganti <yourUsername> dan <yourUserpassword> dengan nama pengguna dan kata sandi yang ingin Anda tetapkan untuk pengguna biasa tersebut.

Buat file konfigurasi pengguna

  1. Jalankan perintah berikut untuk membuat file sasl_user.properties:

       vim sasl_user.properties
  2. Tambahkan konten berikut ke dalam file tersebut:

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

Buat topik

Jalankan perintah berikut untuk membuat topik:

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

test adalah nama topik tersebut. Tentukan nama topik sesuai kebutuhan bisnis Anda.

Produksi data

Jalankan perintah berikut untuk memproduksi data ke topik tersebut:

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

Konsumsi data

Jalankan perintah berikut untuk mengonsumsi data dari topik tersebut:

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

Referensi