All Products
Search
Document Center

E-MapReduce:Hubungkan ke Kafka dengan otentikasi SASL

Last Updated:Jun 17, 2026

Lapisan Otentikasi dan Keamanan Sederhana (Simple Authentication and Security Layer/SASL) adalah kerangka kerja yang memungkinkan lapisan aplikasi memilih dan menerapkan berbagai mekanisme otentikasi. SASL melakukan otentikasi pengguna dan memastikan hanya klien dengan kredensial yang valid yang dapat terhubung ke layanan Kafka Anda, sehingga meningkatkan keamanan secara signifikan. Topik ini menjelaskan cara mengaktifkan SASL dan menggunakannya untuk terhubung ke Kafka.

Prasyarat

Kluster Dataflow (yaitu kluster Kafka) dengan layanan Kafka yang dipilih harus dibuat di Konsol EMR. Untuk informasi selengkapnya, lihat Buat kluster Dataflow Kafka.

Prosedur

Langkah 1: Konfigurasikan SASL

E-MapReduce menggunakan file konfigurasi server.properties dan parameter kafka.sasl.config.type untuk mengelola konfigurasi SASL-nya.

SASL dinonaktifkan secara default untuk kluster Kafka. Contoh berikut mengaktifkan SASL menggunakan mekanisme otentikasi SCRAM-SHA-512.

  1. Buat pengguna.

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

    2. Jalankan perintah berikut untuk membuat pengguna admin.

      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
      Catatan

      Pada contoh ini, kata sandi untuk pengguna admin adalah admin-secret. Ganti dengan kata sandi Anda.

  2. Buka halaman konfigurasi layanan.

    1. Masuk ke Konsol E-MapReduce.

    2. Di bilah navigasi atas, pilih wilayah dan kelompok sumber daya sesuai kebutuhan.

    3. Klik Services di kolom Actions kluster target.

    4. Di halaman Services, klik Configure di area layanan Kafka.

  3. Ubah konfigurasi otentikasi SASL.

    1. Tambahkan item konfigurasi SASL.

      Di tab server.properties halaman konfigurasi layanan Kafka, tambahkan item konfigurasi tersebut.

      1. Klik Add Configuration Item.

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

        Parameter

        Nilai

        sasl.mechanism.inter.broker.protocol

        SCRAM-SHA-512

        sasl.enabled.mechanisms

        SCRAM-SHA-512

      3. Di kotak dialog yang muncul, masukkan alasan di bidang Execution Reason lalu klik Save.

    2. Ubah konfigurasi listener.

      1. Di halaman Configure, klik tab server.properties.

      2. Ubah nilai parameter kafka.sasl.config.type menjadi CUSTOM lalu klik Save.

      3. Di kotak dialog yang muncul, masukkan alasan di bidang Execution Reason lalu klik Save.

    3. Konfigurasikan JAAS sisi server.

      • Metode 1: Konfigurasikan JAAS sisi server dengan menambahkan item konfigurasi kustom.

        1. Di halaman konfigurasi layanan Kafka, klik tab server.properties.

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

          Parameter

          Nilai

          listener.name.sasl_plaintext.sasl.enabled.mechanisms

          SCRAM-SHA-512

          listener.name.sasl_plaintext.scram-sha-512.sasl.jaas.config

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

        3. Di kotak dialog yang muncul, masukkan alasan di bidang Execution Reason lalu klik Save.

      • Metode 2: Konfigurasikan JAAS menggunakan file konfigurasi.

        1. Di halaman konfigurasi layanan Kafka, ubah item konfigurasi berikut lalu klik Save.

          Tab

          Parameter

          Nilai

          kafka_server_jaas.conf

          kafka.server.jaas.content

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

          server.properties

          kafka_opts

          -Djava.security.auth.login.config=/etc/taihao-apps/kafka-conf/kafka-conf/kafka_server_jaas.conf

        2. Di kotak dialog yang muncul, masukkan alasan di bidang Execution Reason lalu klik Confirm.

    4. Konfigurasikan JAAS sisi klien.

      Konfigurasikan JAAS sisi klien menggunakan parameter kafka.client.jaas.content dalam file konfigurasi kafka_client_jaas.conf. Komponen Kafka Schema Registry dan Kafka Rest Proxy menggunakan konfigurasi ini saat startup.

      1. Di halaman konfigurasi layanan Kafka, ubah item konfigurasi berikut lalu klik Save.

        Tab

        Parameter

        Nilai

        kafka_client_jaas.conf

        kafka.client.jaas.content

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

        schema-registry.properties

        schema_registry_opts

        -Djava.security.auth.login.config=/etc/taihao-apps/kafka-conf/kafka-conf/kafka_client_jaas.conf

        kafka-rest.properties

        kafkarest_opts

        -Djava.security.auth.login.config=/etc/taihao-apps/kafka-conf/kafka-conf/kafka_client_jaas.conf

      2. Di kotak dialog yang muncul, masukkan alasan di bidang Execution Reason lalu klik Save.

  4. Mulai ulang layanan Kafka.

    1. Di halaman Configure layanan Kafka, pilih More > Restart.

    2. Di kotak dialog yang muncul, masukkan alasan eksekusi, lalu klik OK.

    3. Di kotak dialog Confirm, klik OK.

Langkah 2: Hubungkan ke Kafka dengan SASL

Contoh berikut menggunakan mekanisme SCRAM-SHA-512 dan alat producer serta consumer bawaan Kafka untuk menunjukkan cara klien melakukan otentikasi dan terhubung ke layanan Kafka.

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

  2. Buat file konfigurasi administrator.

    1. Jalankan perintah berikut untuk membuat file konfigurasi sasl_admin.properties.

      vim sasl_admin.properties
    2. Tambahkan konten berikut ke 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";
  3. 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

    Dalam perintah tersebut, ganti <yourUsername> dan <yourUserpassword> dengan nama pengguna dan kata sandi pengguna baru.

  4. Buat file konfigurasi pengguna.

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

      vim sasl_user.properties
    2. Tambahkan konten berikut ke 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>";
  5. 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

    Pada contoh ini, nama topik adalah test. Ganti dengan nama topik Anda.

  6. Jalankan perintah berikut untuk menghasilkan data menggunakan file konfigurasi SASL.

    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
  7. Jalankan perintah berikut untuk mengonsumsi data menggunakan file konfigurasi SASL.

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

Topik terkait

Untuk mengenkripsi transmisi data antara klien dan server, lihat Gunakan SSL untuk mengenkripsi koneksi Kafka.