Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Berbagi data lake menggunakan kontrol akses berbutir halus Lake Formation
Tutorial ini memberikan step-by-step petunjuk tentang bagaimana Anda dapat dengan cepat dan mudah berbagi kumpulan data menggunakan Lake Formation saat mengelola beberapa Akun AWS dengan. AWS Organizations Anda menentukan izin granular untuk mengontrol akses ke data sensitif.
Prosedur berikut juga menunjukkan bagaimana administrator data lake Akun A dapat memberikan akses halus untuk Akun B, dan bagaimana pengguna di Akun B, yang bertindak sebagai pengelola data, dapat memberikan akses halus ke tabel bersama untuk pengguna lain di akun mereka. Pengurus data dalam setiap akun dapat secara independen mendelegasikan akses ke pengguna mereka sendiri, memberikan masing-masing tim atau lini bisnis (LOB) otonomi.
Kasus penggunaan mengasumsikan Anda menggunakan AWS Organizations untuk mengelola Anda Akun AWS. Pengguna Akun A dalam satu unit organisasi (OU1) memberikan akses ke pengguna Akun B diOU2. Anda dapat menggunakan pendekatan yang sama ketika tidak menggunakan Organizations, seperti ketika Anda hanya memiliki beberapa akun. Diagram berikut menggambarkan kontrol akses berbutir halus dari dataset di danau data. Data lake tersedia di Akun A. Administrator data lake Akun A menyediakan akses halus untuk Akun B. Diagram juga menunjukkan bahwa pengguna Akun B menyediakan akses tingkat kolom dari tabel data lake Akun A ke pengguna lain di Akun B.
![AWS Organization structure with two OUs, showing data lake access and user permissions across accounts.](images/tutorial-fine-grained-access1.jpg)
Topik
Audiens yang dituju
Tutorial ini ditujukan untuk pengelola data, insinyur data, dan analis data. Tabel berikut mencantumkan peran yang digunakan dalam tutorial ini:
Peran | Deskripsi |
---|---|
IAMadministrator | Pengguna yang memiliki kebijakan AWS terkelola:AdministratorAccess . |
Administrator danau data |
Pengguna yang memiliki kebijakan AWS terkelola: |
Analis data | Pengguna yang memiliki kebijakan AWS terkelola: AmazonAthenaFullAccess terlampir. |
Prasyarat
Sebelum Anda memulai tutorial ini, Anda harus memiliki Akun AWS yang dapat Anda gunakan untuk masuk sebagai pengguna administratif dengan izin yang benar. Untuk informasi selengkapnya, lihat Selesaikan tugas AWS konfigurasi awal.
Tutorial mengasumsikan bahwa Anda sudah familiar denganIAM. Untuk selengkapnyaIAM, lihat Panduan IAM Pengguna.
Anda memerlukan sumber daya berikut untuk tutorial ini:
-
Dua unit organisasi:
OU1— Berisi Akun A
OU2— Berisi Akun B
Lokasi danau data Amazon S3 (bucket) di Akun A.
Pengguna administrator danau data di Akun A. Anda dapat membuat administrator danau data menggunakan konsol Lake Formation (https://console.aws.amazon.com/lakeformation/
) atau PutDataLakeSettings
pengoperasian Lake FormationAPI.Lake Formation dikonfigurasi di Akun A, dan lokasi danau data Amazon S3 terdaftar dengan Lake Formation di Akun A.
Dua pengguna di Akun B dengan kebijakan IAM terkelola berikut:
testuser1 - memiliki kebijakan AWS
AWSLakeFormationDataAdmin
terkelola terlampir.testuser2 - Memiliki kebijakan AWS
AmazonAthenaFullAccess
terkelola terlampir.
Database testdb dalam database Lake Formation untuk Akun B.
Langkah 1: Berikan akses halus ke akun lain
Pelajari cara administrator data lake Akun A menyediakan akses halus untuk Akun B.
Berikan akses halus ke akun lain
Masuk ke AWS Management Console https://console.aws.amazon.com/connect/
dalam Akun A sebagai administrator danau data. Buka konsol Lake Formation (https://console.aws.amazon.com/lakeformation/
), dan pilih Memulai. di panel navigasi, pilih Databases.
Pilih Buat database.
Di bagian Detail database, pilih Database.
Untuk Nama, masukkan nama (untuk tutorial ini, kita gunakan
sampledb01
).Pastikan bahwa Gunakan hanya kontrol IAM akses untuk tabel baru dalam database ini tidak dipilih. Membiarkan ini tidak dipilih memungkinkan kita untuk mengontrol akses dari Lake Formation.
Pilih Buat basis data.
Pada halaman Database, pilih database
sampledb01
Anda.Pada menu Actions, pilih Grant.
Di bagian Hibah izin, pilih Akun eksternal.
Untuk Akun AWS ID atau ID AWS organisasi, masukkan ID akun untuk Akun B diOU2.
Untuk Tabel, pilih tabel yang ingin Anda akses ke Akun B (untuk posting ini, kami menggunakan tabel
acc_a_area
). Secara opsional, Anda dapat memberikan akses ke kolom dalam tabel, yang kami lakukan di posting ini.Untuk Sertakan kolom ¸ pilih kolom yang ingin diakses Akun B (untuk posting ini, kami memberikan izin untuk mengetik, nama, dan pengidentifikasi).
Untuk Kolom, pilih Sertakan kolom.
Untuk izin Tabel, pilih Pilih.
Untuk izin yang Dapat Diberikan, pilih Pilih. Izin yang dapat diberikan diperlukan agar pengguna admin di Akun B dapat memberikan izin kepada pengguna lain di Akun B.
PilihIzin.
Di panel navigasi, pilih Tabel.
Anda dapat melihat satu koneksi aktif di Akun AWS dan AWS organisasi dengan bagian akses.
Buat tautan sumber daya
Layanan terintegrasi seperti Amazon Athena tidak dapat langsung mengakses database atau tabel di seluruh akun. Oleh karena itu, Anda perlu membuat tautan sumber daya sehingga Athena dapat mengakses tautan sumber daya di akun Anda ke database dan tabel di akun lain. Buat tautan sumber daya ke tabel (acc_a_area
) sehingga pengguna Akun B dapat melakukan kueri datanya dengan Athena.
Masuk ke AWS konsol https://console.aws.amazon.com/connect/
di Akun B sebagai testuser1
.Pada konsol Lake Formation (https://console.aws.amazon.com/lakeformation/
), di panel navigasi, pilih Tabel. Anda akan melihat tabel yang telah disediakan akses oleh Akun A. Pilih tabel
acc_a_area
.Pada menu Tindakan, pilih Buat tautan sumber daya.
Untuk nama link Resource, masukkan nama (untuk tutorial ini,
acc_a_area_rl
).Untuk Database, pilih database Anda (
testdb
).Pilih Buat.
Di panel navigasi, pilih Tabel.
Pilih tabel
acc_b_area_rl
.Pada menu Tindakan, pilih Lihat data.
Anda diarahkan ke konsol Athena, di mana Anda akan melihat database dan tabel.
Sekarang Anda dapat menjalankan kueri pada tabel untuk melihat nilai kolom yang aksesnya diberikan ke testuser1 dari Akun B.
Langkah 2: Berikan akses halus ke pengguna di akun yang sama
Bagian ini menunjukkan bagaimana pengguna di Akun B (testuser1
), bertindak sebagai data steward, menyediakan akses halus ke pengguna lain di akun yang sama (testuser2
) ke nama kolom dalam tabel bersama. aac_b_area_rl
Berikan akses halus ke pengguna di akun yang sama
Masuk ke AWS konsol https://console.aws.amazon.com/connect/
di Akun B sebagai testuser1
.Di konsol Lake Formation, di panel navigasi, pilih Tabel.
Anda dapat memberikan izin pada tabel melalui tautan sumber dayanya. Untuk melakukannya, pada halaman Tabel, pilih tautan sumber daya
acc_b_area_rl
, dan pada menu Tindakan, pilih Hibah sesuai target.Di bagian Hibah izin, pilih Akun saya.
Untuk IAMpengguna dan peran ¸ pilih pengguna
testuser2
.Untuk Kolom, pilih nama kolom.
Untuk izin Tabel, pilih Pilih.
PilihIzin.
Saat Anda membuat tautan sumber daya, hanya Anda yang dapat melihat dan mengaksesnya. Untuk mengizinkan pengguna lain di akun Anda mengakses tautan sumber daya, Anda perlu memberikan izin pada tautan sumber daya itu sendiri. Anda perlu memberikan DESCRIBEatau DROPizin. Pada halaman Tabel, pilih tabel Anda lagi dan pada menu Tindakan, pilih Hibah.
Di bagian Hibah izin, pilih Akun saya.
Untuk IAMpengguna dan peran, pilih pengguna
testuser2
.Untuk izin tautan Sumber daya ¸ pilih Jelaskan.
PilihIzin.
Masuk ke AWS konsol di Akun B sebagai
testuser2
.Pada konsol Athena (https://console.aws.amazon.com/athena/
), Anda akan melihat database dan tabel. acc_b_area_rl
Anda sekarang dapat menjalankan query pada tabel untuk melihat nilai kolom yangtestuser2
memiliki akses ke.