DLF-Auth adalah komponen dari Data Lake Formation (DLF) yang mengaktifkan fitur izin data DLF, menyediakan kontrol akses detail halus untuk database, tabel, kolom, dan fungsi. Fitur ini memungkinkan pengelolaan izin data terpadu pada data lake Anda. Topik ini menjelaskan cara mengaktifkan izin DLF-Auth.
Informasi latar belakang
Data Lake Formation (DLF) adalah layanan fully managed yang membantu Anda membangun data lake di cloud dengan cepat. Layanan ini menyediakan pengelolaan izin dan metadata terpadu untuk data lake Anda. Untuk informasi selengkapnya, lihat Pengenalan Produk.
Prasyarat
Anda telah membuat kluster E-MapReduce dengan layanan OpenLDAP yang dipilih. Untuk informasi selengkapnya, lihat Buat kluster.
Pada halaman Konfigurasi Perangkat Lunak, nilai default untuk parameter Metadata adalah DLF Unified Metadata.
Batasan
-
Pengelolaan izin Data Lake Formation (DLF) hanya didukung untuk pengguna Resource Access Management (RAM). Anda dapat menambahkan pengguna pada halaman manajemen pengguna di Konsol EMR.
-
Untuk informasi tentang wilayah yang mendukung fitur pengelolaan izin data dari Data Lake Formation (DLF), lihat Wilayah dan titik akhir yang didukung.
-
Jika Anda mengaktifkan Hive atau Spark untuk DLF-Auth, Anda tidak dapat mengaktifkan atau menonaktifkannya untuk Ranger, dan sebaliknya.
-
Tabel berikut mencantumkan versi EMR dan mesin komputasi yang didukung oleh DLF-Auth.
Versi utama EMR
Hive
Spark
Presto
Impala
EMR 3.x
EMR 3.39.0 dan sebelumnya
Tidak didukung
Tidak didukung
Tidak didukung
Tidak didukung
EMR-3.40.0
Didukung
Didukung
Didukung
Tidak didukung
EMR 3.41.0 hingga EMR 3.43.1
Didukung
Didukung
Tidak didukung
Tidak didukung
EMR 3.44.0 dan seterusnya
Didukung
Didukung
Didukung
Didukung
EMR 5.x
EMR 5.5.0 dan sebelumnya
Tidak didukung
Tidak didukung
Tidak didukung
Tidak didukung
EMR 5.6.0
Didukung
Dukungan
Didukung
Tidak didukung
EMR 5.7.0 hingga EMR 5.9.1
Didukung
Didukung
Tidak didukung
Tidak didukung
EMR 5.10.0 dan seterusnya
Didukung
Didukung
Didukung
Didukung
Prosedur
Ikuti langkah-langkah berikut untuk mengaktifkan DLF-Auth dan menerapkan pengelolaan izin terpadu yang sepenuhnya dikelola untuk data lake Anda.
Langkah 1: Aktifkan kontrol akses Hive
-
Buka halaman DLF-Auth.
-
Masuk ke EMR on ECS.
-
Di bilah navigasi atas, pilih wilayah dan kelompok sumber daya sesuai kebutuhan.
-
Pada halaman EMR on ECS, temukan kluster yang ingin Anda kelola dan klik Services di kolom Actions.
-
Pada halaman Services, klik Status di bagian layanan DLF-Auth.
-
-
Aktifkan kontrol akses Hive.
-
Pada halaman layanan DLF-Auth, aktifkan sakelar enableHive.
-
Pada kotak dialog yang muncul, klik OK.
-
-
Restart HiveServer.
-
Pada halaman Services, klik layanan Hive.
-
Pada halaman layanan Hive, temukan HiveServer dan klik di kolom Actions.
-
Pada kotak dialog yang muncul, masukkan Execution Reason dan klik OK.
-
Pada kotak dialog Confirm, klik OK.
-
Langkah 2: Tambahkan pengguna RAM
Tambahkan pengguna menggunakan fitur manajemen pengguna.
-
Buka halaman Manajemen Pengguna.
-
Masuk ke EMR on ECS.
-
Di bilah navigasi atas, pilih wilayah dan kelompok sumber daya sesuai kebutuhan.
-
Pada halaman EMR on ECS, temukan kluster yang ingin Anda kelola dan klik Services di kolom Actions.
-
Klik tab Users.
-
-
Pada halaman Users, klik Add User.
-
Pada kotak dialog Add User, pilih pengguna RAM yang sudah ada dari daftar drop-down Username untuk digunakan sebagai username EMR. Kemudian, masukkan password di bidang Password dan Confirm Password.
-
Klik OK.
Langkah 3: Validasi izin
Jika pengguna RAM memiliki izin AliyunDLFDssFullAccess atau diberikan AdministratorAccess, pengguna RAM tersebut memiliki izin akses ke semua resource DLF detail halus. Dalam kasus ini, Anda tidak perlu memberikan izin data.
-
Validasi izin pengguna saat ini sebelum memberikan izin baru.
-
Masuk ke kluster menggunakan protokol Secure Shell (SSH). Untuk informasi selengkapnya, lihat Masuk ke kluster.
-
Jalankan perintah berikut untuk mengakses HiveServer2.
beeline -u jdbc:hive2://master-1-1:10000 -n <user> -p <password>Catatan<user> dan <password> merepresentasikan username dan password yang Anda atur di Langkah 2: Tambahkan pengguna RAM.
-
Lihat informasi tabel yang sudah ada.
Sebagai contoh, jalankan perintah berikut untuk melihat informasi tabel test. Ganti
testdb.testdengan informasi aktual Anda.select * from testdb.test;Karena pengguna saat ini tidak memiliki izin yang diperlukan, kueri gagal dan mengembalikan error izin.
0: jdbc:hive2://xxx:10000> select * from testdb.test; 22/07/07 19:03:32 [main]: WARN conf.HiveConf: HiveConf of name hive.metastore.delta.compatible.mode.enabled does not e xist Error: Error while compiling statement: FAILED: HiveAccessControlException Permission denied: user [dlf-test] does not have [SELECT] privilege on [database=testdb/table=test/*]. Permission denied: DLF checkPermission failed. message=[Ac tion: CHECK_PERMISSIONS ErrorCode: NoPermission Message: Authorization Failed [4019], You have NO privilege 'Select' o n {acs:dlf:cn-hangzhou:xxx:metastore/catalogs/xxx/databases/testdb/tables/test}. Deny as def ault for Resource. Context ID:dd198392-9b30-4899-9b32-61e1a993bd55. --->Tips: Principal:acs:ram::xxx: user/dlf-test Not pass by dlf permission check. RequestId: C4EC27BE-31ED-5A4B-AD40-2C8EF60359C0] (state=42000,code=400 00)
-
-
Tambahkan izin untuk pengguna RAM.
-
Masuk ke Konsol Data Lake Formation.
-
Di panel navigasi kiri, pilih .
-
Pada halaman Grant Permissions, klik Add Authorization.
-
Pada halaman Add Authorization, konfigurasikan parameter berikut.
Parameter
Deskripsi
Principal
Principal Type
Default-nya adalah RAM User.
Choose Principal
Dari daftar drop-down Choose Principal, pilih pengguna yang Anda tambahkan di Langkah 2: Tambahkan pengguna RAM.
Resources
Authorization Method
Default-nya adalah otorisasi berbasis resource.
Resource Type
Pilih opsi yang sesuai.
Pada contoh ini, Metadata Table dipilih.
Permission
Data Permission
Pada contoh ini, Select digunakan.
Permissions
-
Klik OK.
-
-
Validasi izin pengguna saat ini setelah memberikan izin baru.
Ikuti petunjuk di Sublangkah a Langkah 1 untuk melihat informasi tabel lagi. Karena izin yang diperlukan telah diberikan, kueri sekarang mengembalikan informasi tentang tabel tersebut.
(Opsional) Langkah 4: Aktifkan otentikasi LDAP Hive
Jika Anda mengaktifkan izin DLF-Auth, Anda juga harus mengaktifkan otentikasi LDAP Hive. Hal ini memastikan bahwa pengguna yang terhubung ke Hive diautentikasi oleh LDAP sebelum dapat menjalankan skrip.
-
Buka halaman Cluster Services.
-
Masuk ke EMR on ECS.
-
Di bilah navigasi atas, pilih wilayah dan kelompok sumber daya sesuai kebutuhan.
-
Pada halaman EMR on ECS, temukan kluster yang ingin Anda kelola dan klik Services di kolom Actions.
-
-
Aktifkan otentikasi LDAP.
-
Pada halaman Services, klik Status di bagian layanan Hive.
-
Aktifkan sakelar enableLDAP.
-
Untuk EMR 5.11.1 atau yang lebih baru dan EMR 3.45.1 atau yang lebih baru
-
Di bagian Service Overview, aktifkan sakelar enableLDAP.
-
Pada kotak dialog yang muncul, klik OK.
-
-
Untuk EMR 5.11.0 atau yang lebih lama dan EMR 3.45.0 atau yang lebih lama
-
Di bagian Components, temukan HiveServer dan pilih di kolom Actions.
-
Pada kotak dialog yang muncul, masukkan Execution Reason dan klik OK.
-
Pada kotak dialog Confirm, klik OK.
-
-
-
Restart HiveServer.
-
Di bagian Components, temukan HiveServer dan klik Restart di kolom Actions.
-
Pada kotak dialog yang muncul, masukkan Execution Reason dan klik OK.
-
Pada kotak dialog Confirm, klik OK.
-
-
> enableLDAP