All Products
Search
Document Center

Data Lake Formation:Kontrol akses terpadu dengan DLF dan EMR

Last Updated:Jul 18, 2026

Gunakan Data Lake Formation (DLF) dan E-MapReduce (EMR) untuk menerapkan kontrol akses terpadu pada data lake melalui contoh skenario bisnis dunia nyata.

Latar Belakang

DLF menyediakan tampilan metadata terpadu yang mengatasi masalah konsistensi metadata dan berbagi data. Mesin komputasi yang terintegrasi dengan DLF juga memperoleh kemampuan kontrol akses tingkat enterprise.

Konsep Utama

  • EMR: E-MapReduce adalah layanan Alibaba Cloud untuk pemrosesan data besar. Untuk informasi selengkapnya, lihat Apa itu E-MapReduce.

  • DLF Catalog: Entitas tingkat teratas dalam sistem metadata DLF yang dapat berisi metadata objek seperti database dan tabel. Untuk informasi selengkapnya, lihat data catalog.

  • Izin data DLF: Sistem izin data yang disediakan DLF untuk data lake, mendukung kontrol akses detail halus pada empat level: database, tabel, kolom, dan fungsi. Untuk informasi selengkapnya, lihat Ikhtisar izin data.

Skenario Bisnis

Sebuah perusahaan yang menggunakan kluster EMR dengan beberapa mesin kueri (termasuk Hive, Spark, Presto, dan Impala) ingin menerapkan sistem kontrol akses terpadu untuk mengelola akses data bagi peran-peran berikut:

  • super administrator

    • Memiliki semua izin pada data lake dan dapat memberikannya kepada pengguna lain.

  • administrator data bisnis A

    • Memiliki akses penuh ke semua data terkait Bisnis A di database db_a dan dapat memberikan izin pada database tersebut kepada pengguna lain.

  • Business A, pengembang data

    • Memiliki akses penuh ke semua data di database db_a.

  • Analis Data Bisnis

    • Memiliki akses ke kolom tertentu dalam tabel tertentu di database db_a, seperti kolom col1 dan col2 pada tabel table1.

Prosedur

  1. Buat kluster EMR yang menggunakan DLF untuk manajemen metadata.

    1. Masuk ke Konsol E-MapReduce.

    2. Buat kluster EMR dan tentukan opsi berikut:

      • Business Scenario: Pilih Data Lake.

      • Optional Services: Pilih setidaknya komponen Hive dan DLF-Auth. Pilih komponen lain sesuai kebutuhan bisnis Anda.

      • Metadata: Pilih DLF Unified Metadata.

      • DLF Catalog: Pilih DLF Catalog default atau buat yang baru. Tutorial ini menggunakan catalog_test sebagai contoh.

    3. Konfigurasikan pengaturan lain sesuai kebutuhan dan buat kluster EMR.

      Catatan
      • Jika kluster E-MapReduce yang sudah ada tidak memiliki komponen DLF-Auth, Anda dapat menambahkannya sebagai layanan untuk menggunakan izin data DLF.

      • Jika Anda memiliki kluster E-MapReduce yang sudah ada dengan metadata Hive yang tidak dikelola oleh DLF, Anda harus melakukan migrasi metadata terlebih dahulu sebelum dapat menggunakan izin data DLF.Anda juga dapat menghubungi kami melalui grup DingTalk: 33719678.

  2. Inisialisasi database dan tabel yang diperlukan.

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

    2. Hubungkan ke Hive menggunakan Beeline.

      beeline -u jdbc:hive2://<primary_node_name>:10000
    3. Jalankan pernyataan berikut untuk menginisialisasi dan membuat data uji.

      -- Buat database dan tabel
      create database db_a;
      create table db_a.table1(
      col1 string,
      col2 string,
      col3 string
      );
      create table db_a.table2(
      col1 string,
      col2 string,
      col3 string
      );
      
      create database db_b;
      create table db_b.table1(
      col1 string,
      col2 string,
      col3 string
      );
      
      -- Inisialisasi data uji
      -- db_a.table1
      insert overwrite table db_a.table1 values('1','aliyun','emrA1'),('2','aliyun','dlfA1');
      
      -- db_a.table2
      insert overwrite table db_a.table2 values('1','aliyun','emrA2'),('2','aliyun','dlfA2');
      
      -- db_b.table1
      insert overwrite table db_b.table1 values('1','aliyun','emrB1'),('2','aliyun','dlfB1');
  3. Buat Pengguna RAM yang diperlukan untuk setiap peran.

    • super administrator: Buat Pengguna RAM bernama dlf_data_admin.

    • administrator data bisnis A: Buat Pengguna RAM bernama dlf_dba_admin.

    • developer data bisnis A: Buat Pengguna RAM bernama dlf_dba_dev.

    • analis data bisnis A: Buat Pengguna RAM bernama dlf_dba_analyst.

  4. Aktifkan kontrol akses.

    Untuk mengaktifkan kontrol akses pada kluster EMR, lakukan langkah-langkah berikut:

    1. Aktifkan kontrol akses di kluster EMR. Untuk informasi selengkapnya, lihat DLF-Auth.

    2. Aktifkan kontrol akses untuk DLF Catalog di DLF. Untuk informasi selengkapnya, lihat Mengonfigurasi izin.

      Catatan

      Untuk penggunaan produksi, kami merekomendasikan agar Anda juga mengaktifkan autentikasi LDAP guna memastikan identitas pengguna divalidasi dengan benar. Tutorial ini tidak mengaktifkan autentikasi LDAP demi kesederhanaan, sehingga Anda tidak diminta memasukkan kata sandi saat menghubungkan dengan Beeline.

  5. Konfigurasikan izin untuk super administrator agar dapat mengelola izin di Konsol Data Lake Formation dan mengakses semua data.

    1. Buka Konsol Data Lake Formation.

    2. Pada panel navigasi kiri, pilih Data Permission > Roles.

    3. Tambahkan pengguna dlf_data_admin ke peran Admin. Pengguna dlf_data_admin kini menjadi administrator yang dapat mengelola semua izin data di DLF dan mengonfigurasikannya untuk pengguna mana pun.

    4. Agar pengguna dlf_data_admin dapat mengonfigurasi izin data untuk Pengguna RAM di Konsol Data Lake Formation, Anda juga harus menyambungkan kebijakan AliyunDLFFullAccess dan AliyunRAMReadOnlyAccess ke pengguna ini di Konsol RAM.

    5. Masuk ke kluster EMR, hubungkan ke Hive sebagai pengguna dlf_data_admin, dan jalankan pernyataan HiveQL.

      beeline -u jdbc:hive2://<primary_node_name>:10000 -n dlf_data_admin
      select * from db_a.table1;
      select * from db_b.table1;

      Kueri berhasil, yang menunjukkan bahwa pengguna dlf_data_admin memiliki akses ke semua database dan tabel.

  6. Konfigurasikan izin untuk administrator data bisnis A agar dapat memberikan izin pada database db_a di Konsol Data Lake Formation dan mengakses semua data di database tersebut.

    1. Beralih ke Pengguna RAM dlf_data_admin di konsol Alibaba Cloud. Gunakan akun ini untuk langkah otorisasi berikutnya.

    2. Buka Konsol Data Lake Formation.

    3. Pada panel navigasi kiri, pilih Data Permission > Data Permissions, lalu klik Add Permission.

    4. Konfigurasikan parameter berikut:

      • Principal Type: RAM User/Role.

      • Choose Principal: dlf_dba_admin.

      • Resources: Resource Authorization.

      • Select Catalog: catalog_test.

      • Select Database: db_a.

      • Permissions:

        • Database - Data Permission: All.

        • Database - Granted Permission: All.

        • All objects in the database - Data Permission: All.

        • All objects in the database - Granted Permission: All.

    5. Klik OK untuk menyimpan otorisasi.

    6. Agar pengguna dlf_dba_admin dapat mengonfigurasi izin data untuk Pengguna RAM lain di Konsol Data Lake Formation, Anda juga harus menyambungkan kebijakan AliyunDLFFullAccess dan AliyunRAMReadOnlyAccess ke pengguna ini di Konsol RAM.

    7. Masuk ke kluster EMR, hubungkan ke Hive sebagai pengguna dlf_dba_admin, dan jalankan pernyataan HiveQL.

      beeline -u jdbc:hive2://<primary_node_name>:10000 -n dlf_dba_admin
      select * from db_a.table1;
      select * from db_b.table1;

      Kueri pertama berhasil karena pengguna memiliki izin untuk semua resource di database db_a.

      Kueri kedua gagal karena pengguna tidak memiliki izin untuk resource di database db_b.

  7. Konfigurasikan izin untuk developer data bisnis A agar dapat mengkueri dan memodifikasi data di database db_a.

    1. Beralih ke Pengguna RAM dlf_dba_admin di konsol Alibaba Cloud. Gunakan akun ini untuk memberikan izin data kepada pengguna lain.

    2. Buka Konsol Data Lake Formation.

    3. Pada panel navigasi kiri, pilih Data Permission > Data Permissions, lalu klik Add Permission.

    4. Konfigurasikan parameter berikut:

      • Principal Type: RAM User/Role.

      • Choose Principal: dlf_dba_dev.

      • Resources: Resource Authorization.

      • Select Catalog: catalog_test.

      • Select Database: db_a.

      • Permissions:

        • Database - Data Permission: All.

        • Database - Granted Permission: None.

        • All objects in the database - Data Permission: All.

        • All objects in the database - Granted Permission: All.

    5. Klik OK untuk menyimpan otorisasi.

    6. Masuk ke kluster EMR, hubungkan ke Hive sebagai pengguna dlf_dba_dev, dan jalankan pernyataan HiveQL.

      beeline -u jdbc:hive2://<primary_node_name>:10000 -n dlf_dba_dev
      select * from db_a.table1;
      insert into table db_a.table1 values('3','aliyun','emrA1'),('4','aliyun','dlfA1');
      
      select * from db_b.table1;
      insert into table db_b.table1 values('3','aliyun','emrA1'),('4','aliyun','dlfA1');
      

      Pernyataan SQL pertama dan kedua berhasil, yang mengonfirmasi bahwa pengguna dlf_dba_dev memiliki izin kueri dan modifikasi pada database db_a serta semua resource-nya.

      Pernyataan SQL ketiga dan keempat gagal karena pengguna dlf_dba_dev tidak memiliki izin untuk mengkueri atau memodifikasi database db_b.

  8. Tetapkan izin untuk analis data Bisnis A agar dapat mengakses table1(col1, col2) di database db_a.

    1. Masuk ke website Alibaba Cloud sebagai Pengguna RAM dlf_dba_admin. Gunakan akun ini untuk memberikan izin data kepada pengguna lain.

    2. Masuk ke Konsol Data Lake Formation.

    3. Pada panel navigasi kiri, pilih Data Permission > Data Permissions, lalu klik Add Permission.

    4. Masukkan informasi berikut:

      • Principal Type: RAM User/Role.

      • Choose Principal: dlf_dba_analyst.

      • Resources: Resource Authorization.

      • Resource Type: Column.

      • Select Data Catalog: catalog_test.

      • Select Database: db_a.

      • Select Table: table1.

      • Permissions:

        • Column-Data Permission: All.

    5. Klik OK untuk menyimpan informasi otorisasi.

    6. Masuk ke kluster EMR, hubungkan ke Hive sebagai dlf_dba_analyst, dan jalankan perintah HiveSQL.

      beeline -u jdbc:hive2://<name of the primary node>:10000 -n dlf_dba_analyst
      select * from db_a.table1;
      select col1,col2 from db_a.table1;
      insert into table db_a.table1 values('5','aliyun','emrA1'),('6','aliyun','dlfA1');
      select * from db_b.table1;

      Pernyataan SQL kedua berhasil karena pengguna dlf_dba_analyst memiliki izin untuk mengkueri kolom col1 dan col2 pada tabel db_a.table1.

      Pernyataan SQL pertama gagal karena pengguna dlf_dba_analyst tidak memiliki izin untuk mengkueri kolom col3 pada tabel db_a.table1.

      Pernyataan SQL ketiga gagal karena pengguna dlf_dba_analyst tidak memiliki izin untuk memodifikasi data pada tabel db_a.table1.

      Pernyataan SQL keempat gagal karena pengguna dlf_dba_analyst tidak memiliki izin untuk mengkueri data di database db_b.

Rangkuman

Contoh di atas menunjukkan cara menggunakan izin data DLF dalam skenario bisnis khas. Anda dapat mengonfigurasi izin sesuai kebutuhan untuk memberikan tingkat akses yang sesuai kepada berbagai pengguna pada berbagai resource.