All Products
Search
Document Center

E-MapReduce:Konfigurasikan kontrol akses Ranger untuk Hive

Last Updated:Jul 07, 2026

Topik ini menjelaskan cara mengaktifkan kontrol akses Ranger untuk Hive dan memberikan contoh konfigurasi izin Hive Ranger.

Prasyarat

Anda telah membuat kluster DataLake dan memilih layanan Ranger. Untuk informasi selengkapnya, lihat Buat kluster.

Catatan penggunaan

Setelah kontrol akses Ranger diaktifkan untuk Hive, layanan HiveServer2 akan memuat plugin Hive Ranger. Ranger hanya memverifikasi izin ketika Anda mengirimkan pekerjaan SQL melalui HiveServer2. Akses ke Hive dengan cara lain tidak akan memicu verifikasi ini.

  • Metode akses yang didukung untuk verifikasi izin

    • Mengakses HiveServer2 menggunakan klien Beeline.

    • Menyambung ke HiveServer2 menggunakan URL JDBC.

  • Metode akses yang tidak didukung untuk verifikasi izin

    • Menyambung langsung ke Metastore menggunakan klien Hive.

    • Menyambung langsung ke Metastore menggunakan API Hive-Client.

Penting

Kontrol akses Ranger hanya berlaku pada lapisan metadata Hive dan operasi SQL. Ranger tidak mendukung kontrol akses untuk lapisan penyimpanan OSS atau OSS-HDFS. Jangan mengonfigurasi kebijakan izin lapisan penyimpanan di Ranger karena tidak akan berlaku.

Prosedur

  1. Buka halaman Cluster Service.

    1. Masuk ke Konsol EMR on ECS.

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

    3. Di kolom Actions kluster target, klik Services.

  2. Aktifkan Hive di Ranger.

    1. Di halaman Services, temukan layanan Ranger-plugin dan klik Status-nya.

    2. Di bagian Service Overview, aktifkan sakelar enableHive.

    3. Di kotak dialog yang muncul, klik OK.

  3. Restart HiveServer.

    1. Di halaman Services, pilih more > Hive.

    2. Di bagian Components, klik Restart di kolom Actions untuk HiveServer.

    3. Di kotak dialog yang muncul, masukkan Execution Reason dan klik OK.

    4. Di kotak dialog Confirm, klik OK.

Konfigurasi izin

Ikhtisar

Izin Ranger dikonfigurasi di Ranger UI. Untuk petunjuk mengakses Ranger UI, lihat Ikhtisar Ranger.

Untuk mengonfigurasi izin Hive di Ranger, klik emr-hive di bawah HADOOP SQL, seperti yang ditunjukkan pada gambar berikut.hive power

Jika layanan emr-hive tidak ditampilkan di Ranger UI, lakukan langkah-langkah berikut:

  1. Masuk ke Konsol EMR on ECS.

  2. Di halaman layanan kluster, temukan layanan Ranger-plugin dan klik Status untuk membuka halaman konfigurasi.

  3. Cari parameter enableImpala dan atur nilainya menjadi true.

  4. Simpan konfigurasi.

  5. Segarkan halaman Ranger UI. Layanan emr-hive seharusnya kini muncul di bawah HADOOP SQL.

Setelah Anda membuka layanan emr-hive, Anda dapat melihat daftar semua kebijakan izin yang telah dikonfigurasi. Secara default, Ranger menyertakan beberapa kebijakan. Misalnya, satu kebijakan default memberikan pengguna hive (pengguna startup untuk layanan HiveServer) akses penuh ke semua resource database, tabel, kolom, UDF, dan URL. Kebijakan default lain memberikan semua pengguna izin create untuk database dan resource dalam database default.

Tambahkan kebijakan izin

Klik Add New Policy di pojok kanan atas untuk menambahkan kebijakan izin. Sebuah kebijakan memerlukan Nama Kebijakan yang unik. Kebijakan dasar terdiri dari tiga komponen utama: resource, pengguna, dan izin. Resource adalah aset yang diatur oleh kebijakan, seperti database, tabel, kolom, atau URL. Pengguna adalah akun yang dikenai kebijakan tersebut. Izin adalah jenis akses yang diberikan.

  • Resource kebijakan

    Di Ranger untuk Hive, resource kebijakan mencakup database, table, column, url, dan udf. Anda dapat memilih jenis resource untuk mengonfigurasi izinnya. Secara default, formulir kebijakan menampilkan bidang untuk database, table, dan column. Anda dapat mengklik nama resource untuk beralih ke jenis lainnya.

    Saat mengonfigurasi kebijakan, Anda harus memasukkan nama resource tersebut. Misalnya, Anda dapat memasukkan testdb untuk database, test untuk table, id untuk column, atau oss://test-bucket/test/tmp untuk url. Anda juga dapat memasukkan tanda bintang (*) untuk mencocokkan semua resource jenis tersebut, seperti yang ditunjukkan pada gambar berikut.*

  • Pengguna kebijakan

    Kebijakan harus diterapkan pada pengguna tertentu. Anda dapat memilih pengguna dari daftar Select User, seperti yang ditunjukkan pada gambar berikut.User

  • Izin kebijakan

    Klik Add Permissions untuk menampilkan bagian add/edit permissions. Lalu, pilih permission yang diperlukan, seperti yang ditunjukkan pada gambar berikut.permission

Contoh 1: Izin tingkat kolom

Kasus penggunaan umum untuk kontrol akses Ranger adalah memberikan izin select kepada pengguna tertentu pada suatu tabel. Hal ini memastikan bahwa pengguna dapat menjalankan kueri select columns from table. Gambar berikut menunjukkan contoh konfigurasinya.exmple

Kebijakan ini memberikan pengguna test izin select pada column=id di table=test dalam database=testdb. Hal ini memungkinkan pengguna menjalankan kueri select id from testdb.test. Untuk mengizinkan pengguna memilih semua kolom dari testdb.test, atur bidang column menjadi *.

Contoh 2: Izin tingkat tabel

Di Ranger untuk Hive, izin create untuk tabel dapat dikonfigurasi pada tingkat tabel. Misalnya, jika Anda memberikan izin create untuk database=testdb, table=test, dan column=*, pengguna hanya dapat membuat tabel bernama test. Pengguna tidak dapat membuat tabel lain. Untuk mengizinkan pengguna membuat tabel apa pun dalam suatu database, berikan izin create untuk database=testdb, table=*, dan column=*. Gambar berikut menunjukkan konfigurasi ini.Setting

Contoh 3: Izin URL

Saat Anda menjalankan pernyataan SQL Hive yang mencakup klausa LOCATION dengan skema oss, Ranger memverifikasi izin baca dan tulis pengguna untuk URL tersebut. Misalnya, menjalankan create external table test(id int, name string) location 'oss://test-bucket/test' memicu pemeriksaan izin untuk akses baca pada oss://test-bucket/test.

Dalam kasus ini, Anda harus mengonfigurasi kebijakan untuk izin URL. Untuk mengubah jenis resource menjadi url, lihat petunjuk di bagian "Tambahkan kebijakan izin". Gambar berikut menunjukkan contoh konfigurasinya.image

Jika Anda tidak perlu mengontrol izin URL, Anda juga dapat memodifikasi kebijakan untuk all - url dalam Policy Name izin default dan tambahkan public ke Select Group. Hal ini memberikan semua pengguna izin baca dan tulis untuk semua URL. Langkah-langkah spesifiknya ditunjukkan pada gambar di bawah.

Catatan

Di Ranger, public adalah kelompok khusus yang mewakili semua pengguna. Ketika Select Group kebijakan diatur ke public, izin dalam kebijakan tersebut berlaku untuk semua pengguna.

public

FAQ

Bagaimana cara mengonfigurasi izin Hive Ranger untuk akun read-only?

Untuk memberikan akun read-only hanya izin select pada resource Hive tertentu, buat kebijakan Ranger dengan langkah-langkah berikut:

  1. Di Ranger UI, klik emr-hive di bawah HADOOP SQL untuk membuka daftar kebijakan Hive.

  2. Klik Add New Policy di pojok kanan atas.

  3. Konfigurasikan resource kebijakan:

    • database: Masukkan nama database target, atau masukkan * untuk mencocokkan semua database.

    • table: Masukkan nama tabel target, atau masukkan * untuk mencocokkan semua tabel.

    • column: Masukkan * untuk mencocokkan semua kolom, atau tentukan nama kolom individual.

  4. Di bidang Select User, pilih akun read-only.

  5. Klik Add Permissions, lalu pilih hanya izin select.

  6. Klik Add untuk menyimpan kebijakan.

Jika Anda tidak yakin akun mana yang harus ditentukan, Anda dapat memilih semua pengguna dari daftar dropdown Select User, atau periksa log audit Ranger untuk mengidentifikasi akun yang sebelumnya pernah terhubung ke Hive.

Apakah EMR 4.9.0 mendukung penggunaan Ranger untuk mengontrol izin Impala?

Tidak. EMR 4.9.0 tidak mendukung penggunaan Ranger untuk mengontrol izin Impala. Untuk menggunakan Ranger dalam kontrol akses Impala, upgrade kluster Anda ke versi EMR yang lebih baru yang mendukung fitur ini, atau gunakan solusi pengelolaan izin alternatif.