Mengamankan data lake dengan kontrol akses tingkat baris - AWS Lake Formation

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

Mengamankan data lake dengan kontrol akses tingkat baris

AWS Lake Formation Izin tingkat baris memungkinkan Anda memberikan akses ke baris tertentu dalam tabel berdasarkan kepatuhan data dan kebijakan tata kelola. Jika Anda memiliki tabel besar yang menyimpan miliaran catatan, Anda memerlukan cara untuk memungkinkan pengguna dan tim yang berbeda untuk hanya mengakses data yang diizinkan untuk dilihat. Kontrol akses tingkat baris adalah cara sederhana dan berkinerja baik untuk melindungi data, sekaligus memberi pengguna akses ke data yang mereka butuhkan untuk melakukan pekerjaan mereka. Lake Formation menyediakan audit terpusat dan pelaporan kepatuhan dengan mengidentifikasi kepala sekolah mana yang mengakses data apa, kapan, dan melalui layanan mana.

Dalam tutorial ini, Anda mempelajari cara kerja kontrol akses tingkat baris di Lake Formation, dan cara mengaturnya.

Tutorial ini mencakup AWS CloudFormation template untuk mengatur sumber daya yang dibutuhkan dengan cepat. Anda dapat meninjau dan menyesuaikannya sesuai dengan kebutuhan Anda.

Audiens yang dituju

Tutorial ini ditujukan untuk pengelola data, insinyur data, dan analis data. Tabel berikut mencantumkan peran dan tanggung jawab pemilik data dan konsumen data.

Peran Deskripsi
IAMAdministrator Pengguna yang dapat membuat pengguna dan peran serta bucket Amazon Simple Storage Service (Amazon S3). Memiliki kebijakan yang AdministratorAccess AWS dikelola.
Administrator danau data Pengguna yang bertanggung jawab untuk menyiapkan data lake, membuat filter data, dan memberikan izin kepada analis data.
Analis data Pengguna yang dapat menjalankan kueri terhadap data lake. Analis data yang berada di berbagai negara (untuk kasus penggunaan kami, AS dan Jepang) hanya dapat menganalisis ulasan produk untuk pelanggan yang berlokasi di negara mereka sendiri dan untuk alasan kepatuhan, seharusnya tidak dapat melihat data pelanggan yang berlokasi di negara lain.

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.

Ubah pengaturan Lake Formation
penting

Sebelum meluncurkan AWS CloudFormation template, nonaktifkan opsi Gunakan hanya kontrol IAM akses untuk database/tabel baru di Lake Formation dengan mengikuti langkah-langkah di bawah ini:

  1. Masuk ke konsol Lake Formation https://console.aws.amazon.com/lakeformation/di wilayah AS Timur (Virginia N.) atau wilayah AS Barat (Oregon).

  2. Di bawah Katalog Data, pilih Pengaturan.

  3. Hapus pilih Gunakan hanya kontrol IAM akses untuk database baru dan Gunakan hanya kontrol IAM akses untuk tabel baru di database baru.

  4. Pilih Simpan.

Langkah 1: Menyediakan sumber daya Anda

Tutorial ini mencakup AWS CloudFormation template untuk pengaturan cepat. Anda dapat meninjau dan menyesuaikannya sesuai dengan kebutuhan Anda. AWS CloudFormation Template menghasilkan sumber daya berikut:

  • Pengguna dan kebijakan untuk:

    • DataLakeAdmin

    • DataAnalystAS

    • DataAnalystJP

  • Pengaturan dan izin danau data Lake Formation

  • Fungsi Lambda (untuk sumber daya AWS CloudFormation kustom yang didukung Lambda) digunakan untuk menyalin file data sampel dari bucket Amazon S3 publik ke bucket Amazon S3

  • Bucket Amazon S3 untuk berfungsi sebagai danau data kami

  • AWS Glue Data Catalog Database, tabel, dan partisi

Buat sumber daya Anda

Ikuti langkah-langkah ini untuk membuat sumber daya Anda menggunakan AWS CloudFormation template.

  1. Masuk ke AWS CloudFormation konsol di https://console.aws.amazon.com/cloudformation di wilayah US East (Virginia N.).

  2. Pilih Launch Stack.

  3. Pilih Berikutnya di layar Buat tumpukan.

  4. Masukkan Nama tumpukan.

  5. Untuk DatalakeAdminUserNamedan DatalakeAdminUserPassword, masukkan nama IAM pengguna dan kata sandi Anda untuk pengguna admin danau data.

  6. Untuk DataAnalystUsUserNamedan DataAnalystUsUserPassword, masukkan nama pengguna dan kata sandi untuk nama pengguna dan kata sandi yang Anda inginkan untuk pengguna analis data yang bertanggung jawab atas pasar AS.

  7. Untuk DataAnalystJpUserNamedan DataAnalystJpUserPassword, masukkan nama pengguna dan kata sandi untuk nama pengguna dan kata sandi yang Anda inginkan untuk pengguna analis data yang bertanggung jawab atas pasar Jepang.

  8. Untuk DataLakeBucketName, masukkan nama bucket data Anda.

  9. Untuk DatabaseName, dan TableNamebiarkan sebagai default.

  10. Pilih Berikutnya

  11. Di halaman berikutnya, pilih Berikutnya.

  12. Tinjau detail di halaman akhir dan pilih Saya akui yang AWS CloudFormation mungkin membuat IAM sumber daya.

  13. Pilih Buat.

    Pembuatan tumpukan dapat memakan waktu satu menit untuk diselesaikan.

Langkah 2: Kueri tanpa filter data

Setelah Anda mengatur lingkungan, Anda dapat menanyakan tabel ulasan produk. Pertama kueri tabel tanpa kontrol akses tingkat baris untuk memastikan Anda dapat melihat data. Jika Anda menjalankan kueri di Amazon Athena untuk pertama kalinya, Anda perlu mengonfigurasi lokasi hasil kueri.

Kueri tabel tanpa kontrol akses tingkat baris
  1. Masuk Athena konsol di https://console.aws.amazon.com/athena/sebagai DatalakeAdmin pengguna, dan menjalankan query berikut:

    SELECT * FROM lakeformation_tutorial_row_security.amazon_reviews LIMIT 10

    Tangkapan layar berikut menunjukkan hasil kueri. Tabel ini hanya memiliki satu partisiproduct_category=Video, sehingga setiap rekaman adalah komentar ulasan untuk produk video.

    Query results showing 10 rows of Amazon product reviews for VHS tapes with various ratings.
  2. Selanjutnya, jalankan kueri agregasi untuk mengambil jumlah total catatan per. marketplace

    SELECT marketplace, count(*) as total_count FROM lakeformation_tutorial_row_security.amazon_reviews GROUP BY marketplace

    Tangkapan layar berikut menunjukkan hasil kueri. marketplaceKolom memiliki lima nilai yang berbeda. Pada langkah selanjutnya, Anda akan mengatur filter berbasis baris menggunakan kolom. marketplace

    Query results showing marketplace data with total counts for FR, UK, JP, DE, and US.

Langkah 3: Siapkan filter data dan berikan izin

Tutorial ini menggunakan dua analis data: satu bertanggung jawab untuk pasar AS dan satu lagi untuk pasar Jepang. Setiap analis menggunakan Athena untuk menganalisis ulasan pelanggan hanya untuk pasar spesifik mereka. Buat dua filter data yang berbeda, satu untuk analis yang bertanggung jawab atas pasar AS, dan satu lagi untuk yang bertanggung jawab atas pasar Jepang. Kemudian, berikan izin masing-masing kepada analis.

Buat filter data dan berikan izin
  1. Buat filter untuk membatasi akses ke US marketplace data.

    1. Masuk ke konsol Lake Formation https://console.aws.amazon.com/lakeformation/di wilayah US East (Virginia N.) sebagai DatalakeAdmin pengguna.

    2. Pilih Filter data.

    3. Pilih Buat filter baru.

    4. Untuk nama filter Data, masukkanamazon_reviews_US.

    5. Untuk database Target, pilih databaselakeformation_tutorial_row_security.

    6. Untuk tabel Target, pilih tabelamazon_reviews.

    7. Untuk akses tingkat kolom, biarkan sebagai default.

    8. Untuk ekspresi filter Baris, masukkanmarketplace='US'.

    9. Pilih Buat filter.

  2. Buat filter untuk membatasi akses ke marketplace data Jepang.

    1. Pada halaman Filter data, pilih Buat filter baru.

    2. Untuk nama filter Data, masukkanamazon_reviews_JP.

    3. Untuk database Target, pilih databaselakeformation_tutorial_row_security.

    4. Untuk tabel Target, pilihtable amazon_reviews.

    5. Untuk akses tingkat kolom, biarkan sebagai default.

    6. Untuk ekspresi filter Baris, masukkanmarketplace='JP'.

    7. Pilih Buat filter.

  3. Selanjutnya, berikan izin kepada analis data menggunakan filter data ini. Ikuti langkah-langkah berikut untuk memberikan izin kepada analis data AS (DataAnalystUS):

    1. Di bawah Izin, pilih Izin data lake.

    2. Di bawah Izin data, pilih Hibah.

    3. Untuk Prinsipal, pilih IAMpengguna dan peran, lalu pilih peran. DataAnalystUS

    4. Untuk tag LF atau sumber katalog, pilih Sumber daya katalog data bernama.

    5. Untuk Database, pilihlakeformation_tutorial_row_security.

    6. Untuk tabel-opsional, pilih. amazon_reviews

    7. Untuk filter Data — opsional ¸ pilihamazon_reviews_US.

    8. Untuk izin filter data, pilih Pilih.

    9. PilihIzin.

  4. Ikuti langkah-langkah berikut untuk memberikan izin kepada analis data Jepang (DataAnalystJP):

    1. Di bawah Izin, pilih Izin data lake.

    2. Di bawah Izin data, pilih Hibah.

    3. Untuk Prinsipal, pilih IAMpengguna dan peran, lalu pilih peran. DataAnalystJP

    4. Untuk tag LF atau sumber katalog, pilih Sumber daya katalog data bernama.

    5. Untuk Database, pilihlakeformation_tutorial_row_security.

    6. Untuk tabel-opsional, pilih. amazon_reviews

    7. Untuk filter Data — opsional ¸ pilihamazon_reviews_JP.

    8. Untuk izin filter data, pilih Pilih.

    9. PilihIzin.

Langkah 4: Kueri dengan filter data

Dengan filter data yang dilampirkan pada tabel ulasan produk, jalankan beberapa kueri dan lihat bagaimana izin diberlakukan oleh Lake Formation.

  1. Masuk ke konsol Athena di https://console.aws.amazon.com/athena/sebagai pengguna. DataAnalystUS

  2. Jalankan kueri berikut untuk mengambil beberapa catatan, yang difilter berdasarkan izin tingkat baris yang kami tentukan:

    SELECT * FROM lakeformation_tutorial_row_security.amazon_reviews LIMIT 10

    Tangkapan layar berikut menunjukkan hasil kueri.

    Query results showing 10 rows of Amazon product reviews data, including marketplace, ratings, and product titles.
  3. Demikian pula, jalankan kueri untuk menghitung jumlah total catatan per pasar.

    SELECT marketplace , count ( * ) as total_count FROM lakeformation_tutorial_row_security .amazon_reviews GROUP BY marketplace

    Hasil kueri hanya menunjukkan marketplace US dalam hasil. Ini karena pengguna hanya diperbolehkan untuk melihat baris di mana nilai marketplace kolom sama denganUS.

  4. Beralih ke DataAnalystJP pengguna dan jalankan kueri yang sama.

    SELECT * FROM lakeformation_tutorial_row_security.amazon_reviews LIMIT 10

    Hasil kueri hanya menunjukkan catatan milik JPmarketplace.

  5. Jalankan kueri untuk menghitung jumlah total catatan permarketplace.

    SELECT marketplace, count(*) as total_count FROM lakeformation_tutorial_row_security.amazon_reviews GROUP BY marketplace

    Hasil kueri hanya menunjukkan baris milik JPmarketplace.

Langkah 5: Bersihkan AWS sumber daya

Pembersihan sumber daya

Untuk mencegah biaya yang tidak diinginkan ke Anda Akun AWS, Anda dapat menghapus AWS sumber daya yang Anda gunakan untuk tutorial ini.