All Products
Search
Document Center

E-MapReduce:Konfigurasikan kontrol akses Ranger untuk Hive

Last Updated:Aug 01, 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 lebih lanjut, lihat Buat kluster.

Catatan penggunaan

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

  • Metode akses yang didukung untuk verifikasi izin

    • Mengakses HiveServer2 menggunakan klien Beeline.

    • Menyambung ke HiveServer2 menggunakan JDBC URL.

  • Metode akses yang tidak didukung untuk verifikasi izin

    • Menyambung langsung ke Metastore menggunakan klien Hive.

    • Menyambung langsung ke Metastore menggunakan Hive-Client API.

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 ranger.

    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. Setelah membuka halaman Service Manager Ranger, Anda dapat menemukan instans layanan emr-hive yang telah dibuat di kategori HADOOP SQL. Anda dapat melihat, mengedit, atau menghapus instans layanan ini.

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. Muat ulang 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 lain.

    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. Setiap baris konfigurasi resource berisi dropdown jenis resource (seperti column), bidang input nilai (wajib diisi), dan sakelar Include untuk menentukan apakah resource tersebut disertakan atau dikecualikan.

  • Pengguna kebijakan

    Kebijakan harus diterapkan pada pengguna tertentu. Anda dapat memilih pengguna dari daftar Select User. Di kotak dialog Select User, pilih pengguna yang akan diberi otorisasi (misalnya, test).

  • Izin kebijakan

    Klik Add Permissions untuk menampilkan bagian add/edit permissions. Di panel add/edit permissions, pilih izin yang diperlukan (misalnya, Select dan Create), lalu klik Add untuk mengonfirmasi.

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. Konfigurasikan kebijakan Ranger dengan nilai bidang berikut:

  • Policy Name: select-permission-example

  • database: testdb (Include)

  • table: test (Include)

  • column: id (Include)

  • Audit Logging: Yes

  • Allow Conditions: Select User adalah test, Permissions adalah select

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=*.

Buat kebijakan akses di Apache Ranger dengan konfigurasi utama berikut:

  • Policy Name: create-permission-example

  • Policy Type: Access

  • database: testdb (Include enabled)

  • table: * (Include enabled)

  • column: * (Include enabled)

  • Audit Logging: Yes

Di bagian Allow Conditions, atur Select User menjadi test dan Permissions menjadi Create.

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". Edit kebijakan untuk layanan emr-hive di Ranger dengan konfigurasi utama berikut:

  • Policy Name: url-permission-example

  • Jenis resource: url, nilai: oss://test-bucket/test, dengan Recursive diaktifkan

  • Allow Conditions: Pengguna adalah test, Permissions adalah Read

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.

Catatan

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

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 tersebut.

  5. Klik Add Permissions, dan 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.