Kontrol akses berbasis tag Lake Formation - AWS Lake Formation

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Kontrol akses berbasis tag Lake Formation

Lake Formation tag-based access control (LF-TBAC) adalah strategi otorisasi yang mendefinisikan izin berdasarkan atribut. Dalam Lake Formation, atribut ini disebut LF-tag. Anda dapat melampirkan LF-tag ke sumber daya Katalog Data, dan memberikan izin kepada prinsipal Lake Formation pada sumber daya tersebut menggunakan LF-tag ini. Lake Formation memungkinkan operasi pada sumber daya tersebut ketika nilai tag prinsipal cocok dengan nilai tag sumber daya. LF-TBAC sangat membantu dalam lingkungan yang berkembang pesat dan membantu situasi di mana manajemen kebijakan menjadi rumit.

LF-TBAC adalah metode yang direkomendasikan untuk digunakan untuk memberikan izin Lake Formation ketika ada sejumlah besar sumber daya Katalog Data. LF-TBAC lebih skalabel daripada metode sumber daya bernama dan membutuhkan lebih sedikit overhead manajemen izin.

catatan

Tag IAM tidak sama dengan LF-tag. Tag ini tidak dapat dipertukarkan. LF-tag digunakan untuk memberikan izin Lake Formation dan tag IAM digunakan untuk menentukan kebijakan IAM.

Cara kerja kontrol akses berbasis tag Lake Formation

Setiap LF-tag adalah pasangan kunci-nilai, seperti atau. department=sales classification=restricted Sebuah kunci dapat memiliki beberapa nilai yang ditentukan, sepertidepartment=sales,marketing,engineering,finance.

Untuk menggunakan metode LF-TBAC, administrator data lake dan insinyur data melakukan tugas-tugas berikut.

Tugas Detail tugas

1. Tentukan properti dan hubungan LF-tag.

-

2. Buat kreator LF-tag di Lake Formation.

Menambahkan kreator LF-tag

3. Buat LF-Tag di Lake Formation.

Membuat LF-tag

4. Tetapkan LF-tag ke sumber daya Katalog Data.

Menetapkan LF-tag ke sumber daya Katalog Data

5. Berikan izin kepada prinsipal lain untuk menetapkan LF-tag ke sumber daya, secara opsional dengan opsi hibah.

Pemberian, pencabutan, dan daftar izin nilai LF-tag

6. Berikan ekspresi LF-tag ke kepala sekolah, secara opsional dengan opsi hibah.

Memberikan izin data lake menggunakan metode LF-TBAC

7. (Disarankan) Setelah memverifikasi bahwa prinsipal memiliki akses ke sumber daya yang benar melalui metode LF-TBAC, cabut izin yang diberikan dengan menggunakan metode sumber daya bernama.

-

Pertimbangkan kasus di mana Anda harus memberikan izin kepada tiga kepala sekolah pada tiga database dan tujuh tabel.

Tiga tokoh pengguna berada di sebelah kiri, diatur secara vertikal. Di sebelah kanan ada tiga database berlabel A, B, dan C, disusun secara vertikal. Database A memiliki dua tabel berlabel A.1 dan A.2, database B memiliki label tabel B.1 dan B.2, dan Database C memiliki tiga tabel berlabel C.1, C.2, dan C.3. Tujuh belas panah menghubungkan pengguna ke database dan tabel, menunjukkan hibah pada database dan tabel kepada pengguna.

Untuk mencapai izin yang ditunjukkan dalam diagram sebelumnya dengan menggunakan metode sumber daya bernama, Anda harus membuat 17 hibah, sebagai berikut (dalam kode semu).

GRANT CREATE_TABLE ON Database A TO PRINCIPAL 1 GRANT SELECT, INSERT ON Table A.1 TO PRINCIPAL 1 GRANT SELECT, INSERT ON Table A.2 TO PRINCIPAL 1 GRANT SELECT, INSERT ON Table B.2 TO PRINCIPAL 1 ... GRANT SELECT, INSERT ON Table A.2 TO PRINCIPAL 2 GRANT CREATE_TABLE ON Database B TO PRINCIPAL 2 ... GRANT SELECT, INSERT ON Table C.3 TO PRINCIPAL 3

Sekarang pertimbangkan bagaimana Anda akan memberikan izin dengan menggunakan LF-TBAC. Diagram berikut menunjukkan bahwa Anda telah menetapkan LF-tag ke database dan tabel, dan telah memberikan izin pada LF-tag kepada prinsipal.

Dalam contoh ini, LF-tag mewakili area danau data yang berisi analitik untuk modul yang berbeda dari rangkaian aplikasi perencanaan sumber daya perusahaan (ERP). Anda untuk mengontrol akses ke data analitik untuk berbagai modul. Semua LF-tag memiliki kunci module dan nilai yang mungkinSales,Orders, dan. Customers Contoh LF-tag terlihat seperti ini:

module=Sales

Diagram hanya menunjukkan nilai LF-tag.

Seperti diagram sebelumnya, tiga angka pengguna berada di sebelah kiri, disusun secara vertikal, dan di sebelah kanan ada tiga database berlabel A, B, dan C, disusun secara vertikal. Database A memiliki dua tabel berlabel A.1 dan A.2, database B memiliki label tabel B.1 dan B.2, dan Database C memiliki tiga tabel berlabel C.1, C.2, dan C.3. Tidak ada panah antara pengguna dan database dan tabel. Sebagai gantinya, berlabel “flag” di sebelah pengguna menunjukkan bahwa user1 telah diberikan Penjualan dan Pelanggan LF-tag, pengguna 2 telah diberikan Pesanan LF-tag, dan pengguna 3 telah diberikan Pelanggan LF-tag. Bendera di sebelah database dan tabel menunjukkan penetapan tag LF berikut ke database dan tabel: Database A: Penjualan. Tabel A1: Bendera redup menunjukkan bahwa Penjualan diwarisi dari Database A. Tabel A2: Pesanan, tetapi tanda redup menunjukkan bahwa Penjualan diwarisi dari Database A. Database B: Pesanan. Tabel B.1 dan B.2 mewarisi Pesanan, dan Tabel B.2 memiliki Pelanggan. Database C memiliki Pelanggan, dan Tabel C.1, C.2, dan C.3 mewarisi Pelanggan. Tabel C tidak memiliki tugas lain.
Menandai tugas untuk sumber daya Katalog Data dan warisan

Tabel mewarisi LF-tag dari database dan kolom mewarisi LF-tag dari tabel. Nilai yang diwariskan dapat diganti. Pada diagram sebelumnya, tag LF redup diwariskan.

Karena pewarisan, administrator data lake hanya perlu membuat lima penetapan LF-tag berikut ke sumber daya (dalam kode semu).

ASSIGN TAGS module=Sales TO database A ASSIGN TAGS module=Orders TO table A.2 ASSIGN TAGS module=Orders TO database B ASSIGN TAGS module=Customers TO table B.2 ASSIGN TAGS module=Customers TO database C
Tag hibah untuk kepala sekolah

Setelah menetapkan LF-tag ke database dan tabel, administrator data lake harus membuat hanya empat hibah LF-tag ke prinsipal, sebagai berikut (dalam pseudo-code).

GRANT TAGS module=Sales TO Principal 1 GRANT TAGS module=Customers TO Principal 1 GRANT TAGS module=Orders TO Principal 2 GRANT TAGS module=Customers TO Principal 3

Sekarang, prinsipal dengan module=Sales LF-tag dapat mengakses sumber daya Katalog Data dengan module=Sales LF-tag (misalnya, database A), prinsipal dengan module=Customers LF-tag dapat mengakses sumber daya dengan LF-tag, dan sebagainya. module=Customers

Perintah hibah sebelumnya tidak lengkap. Ini karena meskipun mereka menunjukkan melalui LF-tag sumber daya Katalog Data bahwa prinsipal memiliki izin, mereka tidak menunjukkan dengan tepat izin Lake Formation mana (sepertiSELECT,ALTER) yang dimiliki prinsipal pada sumber daya tersebut. Oleh karena itu, perintah pseudo-code berikut adalah representasi yang lebih akurat tentang bagaimana izin Lake Formation diberikan pada sumber daya Katalog Data melalui LF-tag.

GRANT (CREATE_TABLE ON DATABASES) ON TAGS module=Sales TO Principal 1 GRANT (SELECT, INSERT ON TABLES) ON TAGS module=Sales TO Principal 1 GRANT (CREATE_TABLE ON DATABASES) ON TAGS module=Customers TO Principal 1 GRANT (SELECT, INSERT ON TABLES) ON TAGS module=Customers TO Principal 1 GRANT (CREATE_TABLE ON DATABASES) ON TAGS module=Orders TO Principal 2 GRANT (SELECT, INSERT ON TABLES) ON TAGS module=Orders TO Principal 2 GRANT (CREATE_TABLE ON DATABASES) ON TAGS module=Customers TO Principal 3 GRANT (SELECT, INSERT ON TABLES) ON TAGS module=Customers TO Principal 3
Menyatukannya - Menghasilkan izin pada sumber daya

Mengingat LF-tag yang ditetapkan ke database dan tabel di diagram sebelumnya, dan LF-tag yang diberikan kepada prinsipal dalam diagram, tabel berikut mencantumkan izin Lake Formation yang dimiliki kepala sekolah pada database dan tabel.

Utama Izin Diberikan Melalui LF-tag
Prinsipal 1
  • CREATE_TABLEpada database A

  • SELECT, INSERT di atas meja A.1

  • SELECT, INSERT di atas meja B.2

  • CREATE_TABLEpada database C

  • SELECT, INSERT di atas meja C.1

  • SELECT, INSERT di atas meja C.2

  • SELECT, INSERT di atas meja C.3

Kepala Sekolah 2
  • SELECT, INSERT di atas meja A.2

  • CREATE_TABLEpada database B

  • SELECT, INSERT di atas meja B.1

  • SELECT, INSERT di atas meja B.2

Kepala Sekolah 3
  • SELECT, INSERT di atas meja B.2

  • CREATE_TABLEpada database C

  • SELECT, INSERT di atas meja C.1

  • SELECT, INSERT di atas meja C.2

  • SELECT, INSERT di atas meja C.3

Intinya

Dalam contoh sederhana ini, menggunakan lima operasi penugasan dan delapan operasi hibah, administrator data lake dapat menentukan 17 izin. Ketika ada puluhan database dan ratusan tabel, keuntungan dari metode LF-TBAC atas metode sumber daya bernama menjadi jelas. Dalam kasus hipotetis kebutuhan untuk memberikan setiap akses utama ke setiap sumber daya, dan di mana n(P) jumlah prinsipal dan n(R) jumlah sumber daya:

  • Dengan metode sumber daya bernama, jumlah hibah yang diperlukan adalah n(P)n(R).

  • Dengan metode LF-TBAC, menggunakan satu LF-tag, total jumlah hibah kepada kepala sekolah dan penugasan ke sumber daya adalah +. n(P) n(R)