All Products
Search
Document Center

E-MapReduce:Aktifkan otentikasi Kerberos

Last Updated:Apr 24, 2026

Aktifkan otentikasi Kerberos di ruang kerja Serverless Spark agar semua klien harus melakukan otentikasi sebelum mengirimkan task Spark. Hal ini mengurangi akses tidak sah dan meningkatkan keamanan eksekusi task.

Batasan

  • Satu ruang kerja hanya dapat di-bind ke satu kluster Kerberos.

  • Otentikasi Kerberos hanya didukung untuk pekerjaan batch Spark.

Penting

Otentikasi Kerberos memerlukan konektivitas jaringan antara EMR Serverless Spark dan Virtual Private Cloud (VPC) Anda, serta port UDP 88 harus terbuka untuk traffic Kerberos. Selesaikan pengaturan jaringan pada Langkah 1 sebelum mengonfigurasi otentikasi.

Prasyarat

Sebelum memulai, pastikan Anda telah:

Langkah 1: Siapkan jaringan

Buat konektivitas jaringan antara EMR Serverless Spark dan VPC Anda. Lihat Establish network connectivity between EMR Serverless Spark and other VPCs.

Catatan

Saat menambahkan aturan security group, buka port UDP 88 untuk traffic Kerberos. Jika Anda mengonfigurasi koneksi jaringan melalui TCP alih-alih UDP, tambahkan udp_preference_limit = 1 di bawah bagian [libdefaults] dalam file krb5.conf Anda pada Langkah 2.

Langkah 2: Konfigurasikan otentikasi Kerberos

Langkah ini menghubungkan ruang kerja Serverless Spark Anda ke kluster Kerberos dan mengaktifkan penegakan otentikasi.

  1. Di EMR console, pilih EMR Serverless > Spark di panel navigasi kiri.

  2. Di halaman Spark, klik nama ruang kerja yang dituju.

  3. Di panel navigasi kiri, klik Security > Kerberos Authentication.

  4. Klik Bind Kerberos.

  5. Di halaman Bind Kerberos, konfigurasikan parameter berikut lalu klik OK.

    ParameterDescription
    Kerberos NameMasukkan nama kustom.
    Network ConnectionPilih koneksi jaringan yang dibuat pada Langkah 1.
    Kerberos krb5.confMasukkan konten file krb5.conf Anda. Lihat petunjuk di bawah.

    Cara mendapatkan konten krb5.conf

    File krb5.conf biasanya berada di /etc/krb5.conf pada server Kerberos.

    • Kluster EMR DataLake: Masuk ke node master (lihat Log on to a cluster), jalankan cat /etc/krb5.conf, lalu salin output-nya ke bidang Kerberos krb5.conf.

    • Kluster EMR lain atau Kerberos yang dikelola sendiri: Ganti nilai hostname dalam file tersebut dengan Alamat IP pribadi VPC Anda.

    Jika Anda telah membuka port UDP 88 pada Langkah 1, tidak perlu mengubah file krb5.conf. Jika Anda menggunakan TCP, tambahkan udp_preference_limit = 1 di bawah bagian [libdefaults].

    image

  6. Di kolom Actions, klik Enable, lalu klik OK di dialog konfirmasi.

Langkah 3: Kirim pekerjaan batch Spark dengan otentikasi Kerberos

Setelah mengaktifkan otentikasi Kerberos, setiap pekerjaan batch Spark harus menyertakan kredensial Kerberos. Mengirim pekerjaan tanpa kredensial tersebut akan menghasilkan error: spark.kerberos.keytab and spark.kerberos.principal not configured.

  1. Buat pekerjaan batch Spark. Lihat PySpark Quick Start.

  2. Di tab pengembangan, atur Network Connection ke koneksi yang ditambahkan pada Langkah 1, lalu tambahkan parameter Kerberos berikut ke Spark Configuration dan klik Run.

    spark.files oss://<bucketname>/path/test.keytab
    spark.kerberos.keytab test.keytab
    spark.kerberos.principal <username>@<REALM>
    ParameterDescription
    spark.filesPath lengkap file keytab yang diunggah ke OSS.
    spark.kerberos.keytabNama file keytab.
    spark.kerberos.principalPrincipal dalam file keytab, digunakan untuk otentikasi identitas dengan Kerberos. Jalankan klist -kt <keytab_file> untuk melihat principal tersebut.

    (Opsional) Hubungkan ke Hive Metastore yang diaktifkan Kerberos dari pekerjaan Untuk mengkueri metadata dari Hive Metastore yang dilindungi Kerberos, tambahkan parameter berikut ke Spark Configuration:

    spark.hive.metastore.sasl.enabled true
    spark.hive.metastore.kerberos.principal hive/<hostname>@<REALM>

    Atur spark.hive.metastore.kerberos.principal ke principal dari file keytab yang digunakan oleh Hive Metastore. Untuk menemukannya:

    • Di Konsol EMR on ECS, buka halaman Configuration layanan Hive dan buka tab hive-site.xml. Temukan nilai hive.metastore.kerberos.keytab.file.

    • Jalankan klist -kt <path_to_Hive_Metastore_keytab_file> untuk mengambil principal tersebut.

    Format principal adalah hive/<hostname>@<REALM>, di mana <hostname> adalah fully qualified domain name (FQDN) dari node yang menjalankan Hive Metastore (jalankan hostname -f untuk mendapatkannya) dan <REALM> adalah realm KDC.

    Jika titik akhir Hive Metastore menggunakan hostname, gunakan hive/_HOST@<REALM>. Spark secara otomatis mengganti _HOST dengan hostname dari titik akhir Hive Metastore. Format ini wajib digunakan saat mengonfigurasi beberapa Hive Metastore.

  3. Setelah pekerjaan selesai dijalankan, buka bagian Execution Records dan klik Details di kolom Actions.

  4. Di Job History, lihat log di halaman Log Exploration.

    image

Langkah 4 (Opsional): Hubungkan katalog data ruang kerja ke Hive Metastore yang diaktifkan Kerberos

Jika katalog data ruang kerja perlu mengambil metadata dari Hive Metastore yang dilindungi Kerberos, tentukan path file keytab dan principal saat menambahkan Hive Metastore eksternal.

image
FieldDescription
Kerberos keytab filePath ke file keytab Kerberos.
Kerberos principalNama principal dari file keytab, digunakan untuk otentikasi identitas dengan Kerberos. Jalankan klist -kt <keytab_file> untuk melihat principal tersebut.