全部产品
Search
文档中心

E-MapReduce:Aktifkan otentikasi Kerberos

更新时间:Nov 10, 2025

Anda dapat mengonfigurasi dan mengaktifkan otentikasi Kerberos di ruang kerja Serverless Spark. Setelah fitur ini diaktifkan, klien harus menggunakan otentikasi Kerberos untuk mengirimkan tugas Spark di ruang kerja tersebut, sehingga meningkatkan keamanan eksekusi tugas.

Prasyarat

  • Anda telah membuat principal, mengekspor file Kerberos keytab, dan mengunggah file tersebut ke Alibaba Cloud Object Storage Service (OSS).

    Jika Anda menggunakan kluster EMR on ECS, untuk informasi selengkapnya, lihat Penggunaan dasar Kerberos.

  • Anda telah membuat ruang kerja Serverless Spark. Untuk informasi selengkapnya, lihat Kelola ruang kerja.

Batasan

  • Satu ruang kerja hanya dapat diikat ke satu kluster Kerberos.

  • Otentikasi Kerberos hanya didukung untuk pekerjaan batch Spark.

Prosedur

Langkah 1: Siapkan jaringan

Sebelum mengonfigurasi otentikasi Kerberos, pastikan terdapat konektivitas jaringan antara Serverless Spark dan Virtual Private Cloud (VPC) Anda. Untuk informasi selengkapnya, lihat Bangun konektivitas jaringan antara EMR Serverless Spark dan VPC lainnya.

Catatan

Saat menambahkan aturan grup keamanan, pastikan Anda membuka port UDP yang digunakan oleh layanan Kerberos—biasanya port 88.

Langkah 2: Konfigurasi otentikasi Kerberos

  1. Buka halaman otentikasi Kerberos.

    1. Masuk ke Konsol EMR.

    2. Pada panel navigasi sebelah kiri, pilih EMR Serverless > Spark.

    3. Pada halaman Spark, klik nama ruang kerja yang dituju.

    4. Pada halaman EMR Serverless Spark, klik Security Center > Kerberos Authentication pada panel navigasi sebelah kiri.

  2. Klik Bind Kerberos.

  3. Pada halaman Bind Kerberos, konfigurasikan parameter dan klik OK.

    Parameter

    Deskripsi

    Kerberos Name

    Masukkan nama kustom.

    Network Connectivity

    Pilih koneksi jaringan yang telah Anda buat.

    Kerberos krb5.conf

    1. Masukkan konten file krb5.conf.

      File krb5.conf biasanya berada di path /etc/krb5.conf pada server. Dapatkan konten file tersebut sesuai dengan lingkungan Anda:

      • Jika Anda menggunakan layanan Kerberos dari kluster EMR DataLake, peroleh kontennya sebagai berikut:

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

        2. Jalankan perintah berikut untuk melihat dan menyalin secara manual konten /etc/krb5.conf.

          cat /etc/krb5.conf
        3. Salin konten tersebut ke kolom Kerberos krb5.conf.

      • Untuk kluster EMR lain atau layanan Kerberos yang dikelola sendiri, ganti hostname dalam file tersebut dengan Alamat IP pribadi VPC.

    2. (Opsional) Tambahkan konfigurasi tambahan ke file krb5.conf berdasarkan jenis protokol jaringan.

      • Jika Anda membuka port UDP 88 saat mengonfigurasi koneksi jaringan di Langkah 1: Siapkan jaringan, tidak diperlukan konfigurasi tambahan.

      • Jika Anda menggunakan protokol TCP untuk koneksi jaringan di Langkah 1: Siapkan jaringan, tambahkan udp_preference_limit = 1 di bawah [libdefaults].

        image

  4. Pada kolom Tindakan, klik Enable Authentication.

  5. Pada kotak dialog yang muncul, klik OK.

Langkah 3: Kirim pekerjaan batch Spark

Setelah otentikasi Kerberos diaktifkan, klien harus melakukan autentikasi untuk mengirimkan pekerjaan batch Spark. Jika Anda mengirimkan pekerjaan tanpa konfigurasi yang diperlukan, pesan kesalahan spark.kerberos.keytab and spark.kerberos.principal not configured akan dikembalikan.

  1. Buat pekerjaan batch Spark. Untuk informasi selengkapnya, lihat PySpark Quick Start.

  2. Pada tab pengembangan baru, tambahkan konfigurasi berikut dan klik Run.

    image

    Parameter

    Deskripsi

    Network Connectivity

    Pilih nama koneksi jaringan yang Anda tambahkan di Langkah 1.

    Spark Configuration

    Konfigurasikan parameter berikut.

    spark.files oss://<bucketname>/path/test.keytab
    spark.kerberos.keytab test.keytab
    spark.kerberos.principal <username>@<REALM>

    Parameter tersebut dijelaskan sebagai berikut:

    • spark.files: Path lengkap file keytab yang diunggah ke OSS.

    • spark.kerberos.keytab: Nama file keytab.

    • spark.kerberos.principal: Nama principal dalam file keytab. Principal ini digunakan untuk otentikasi identitas dengan layanan Kerberos. Anda dapat menjalankan perintah klist -kt <keytab_file> untuk melihat nama principal dalam file keytab yang dituju.

    Untuk terhubung ke Hive Metastore yang diaktifkan Kerberos guna mendapatkan metadata, tambahkan informasi berikut ke bagian Spark Configuration.

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

    Atur parameter spark.hive.metastore.kerberos.principal ke principal dari file keytab yang digunakan oleh Hive Metastore. Untuk menemukan path ke file keytab tersebut, buka halaman Configuration layanan Hive di Konsol EMR on ECS. Pada tab hive-site.xml, temukan nilai parameter hive.metastore.kerberos.keytab.file. Anda kemudian dapat menjalankan perintah klist -kt <path_to_Hive_Metastore_keytab_file> untuk mengambil principal tersebut.

    Nilai parameter spark.hive.metastore.kerberos.principal memiliki format berikut:

    • Format umumnya adalah hive/<hostname>@<REALM>. <hostname> adalah nama domain lengkap dari node tempat Hive Metastore berjalan, yang dapat Anda peroleh dengan menjalankan perintah hostname -f. <REALM> adalah realm KDC.

    • Jika titik akhir Hive Metastore menggunakan hostname, Anda dapat menyederhanakan format menjadi hive/_HOST@<REALM>. Saat melakukan koneksi, Spark secara otomatis mengganti _HOST dengan hostname dari titik akhir Hive Metastore. Format `_HOST` ini diperlukan untuk mengonfigurasi beberapa Hive Metastore.

  3. Setelah pekerjaan berjalan, buka bagian Run Record dan klik Details pada kolom Tindakan.

  4. Di Job History, Anda dapat melihat log terkait pada halaman Development Jobs.

    image

Langkah 4 (Opsional): Terhubung ke Hive Metastore yang diaktifkan Kerberos

Jika katalog data ruang kerja perlu terhubung ke Hive Metastore yang diaktifkan Kerberos untuk mendapatkan metadata, Anda harus menentukan path file keytab dan nama principal saat menambahkan Hive Metastore eksternal.

image

  • Kerberos Keytab File Path: Path ke file keytab Kerberos.

  • Kerberos principal: Nama principal dari file keytab. Principal ini digunakan untuk otentikasi identitas dengan layanan Kerberos. Anda dapat menjalankan perintah klist -kt <keytab_file> untuk melihat nama principal dalam file keytab yang ditentukan.