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.
Topik
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:
Masuk ke konsol Lake Formation https://console.aws.amazon.com/lakeformation/
di wilayah AS Timur (Virginia N.) atau wilayah AS Barat (Oregon). Di bawah Katalog Data, pilih Pengaturan.
Hapus pilih Gunakan hanya kontrol IAM akses untuk database baru dan Gunakan hanya kontrol IAM akses untuk tabel baru di database baru.
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.
Masuk ke AWS CloudFormation konsol di https://console.aws.amazon.com/cloudformation
di wilayah US East (Virginia N.). Pilih Launch Stack
. Pilih Berikutnya di layar Buat tumpukan.
Masukkan Nama tumpukan.
Untuk DatalakeAdminUserNamedan DatalakeAdminUserPassword, masukkan nama IAM pengguna dan kata sandi Anda untuk pengguna admin danau data.
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.
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.
Untuk DataLakeBucketName, masukkan nama bucket data Anda.
Untuk DatabaseName, dan TableNamebiarkan sebagai default.
Pilih Berikutnya
Di halaman berikutnya, pilih Berikutnya.
Tinjau detail di halaman akhir dan pilih Saya akui yang AWS CloudFormation mungkin membuat IAM sumber daya.
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
-
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 partisi
product_category=Video
, sehingga setiap rekaman adalah komentar ulasan untuk produk video. -
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.
marketplace
Kolom memiliki lima nilai yang berbeda. Pada langkah selanjutnya, Anda akan mengatur filter berbasis baris menggunakan kolom.marketplace
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
Buat filter untuk membatasi akses ke
US
marketplace
data.Masuk ke konsol Lake Formation https://console.aws.amazon.com/lakeformation/
di wilayah US East (Virginia N.) sebagai DatalakeAdmin
pengguna.Pilih Filter data.
Pilih Buat filter baru.
Untuk nama filter Data, masukkan
amazon_reviews_US
.Untuk database Target, pilih database
lakeformation_tutorial_row_security
.Untuk tabel Target, pilih tabel
amazon_reviews
.Untuk akses tingkat kolom, biarkan sebagai default.
Untuk ekspresi filter Baris, masukkan
marketplace='US'
.Pilih Buat filter.
-
Buat filter untuk membatasi akses ke
marketplace
data Jepang.Pada halaman Filter data, pilih Buat filter baru.
Untuk nama filter Data, masukkan
amazon_reviews_JP
.Untuk database Target, pilih database
lakeformation_tutorial_row_security
.Untuk tabel Target, pilih
table amazon_reviews
.Untuk akses tingkat kolom, biarkan sebagai default.
Untuk ekspresi filter Baris, masukkan
marketplace='JP'
.Pilih Buat filter.
Selanjutnya, berikan izin kepada analis data menggunakan filter data ini. Ikuti langkah-langkah berikut untuk memberikan izin kepada analis data AS (
DataAnalystUS
):Di bawah Izin, pilih Izin data lake.
Di bawah Izin data, pilih Hibah.
-
Untuk Prinsipal, pilih IAMpengguna dan peran, lalu pilih peran.
DataAnalystUS
Untuk tag LF atau sumber katalog, pilih Sumber daya katalog data bernama.
-
Untuk Database, pilih
lakeformation_tutorial_row_security
. Untuk tabel-opsional, pilih.
amazon_reviews
Untuk filter Data — opsional ¸ pilih
amazon_reviews_US
.-
Untuk izin filter data, pilih Pilih.
PilihIzin.
Ikuti langkah-langkah berikut untuk memberikan izin kepada analis data Jepang (
DataAnalystJP
):Di bawah Izin, pilih Izin data lake.
Di bawah Izin data, pilih Hibah.
-
Untuk Prinsipal, pilih IAMpengguna dan peran, lalu pilih peran.
DataAnalystJP
Untuk tag LF atau sumber katalog, pilih Sumber daya katalog data bernama.
-
Untuk Database, pilih
lakeformation_tutorial_row_security
. Untuk tabel-opsional, pilih.
amazon_reviews
Untuk filter Data — opsional ¸ pilih
amazon_reviews_JP
.-
Untuk izin filter data, pilih Pilih.
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.
-
Masuk ke konsol Athena di https://console.aws.amazon.com/athena/
sebagai pengguna. DataAnalystUS
-
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.
-
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 nilaimarketplace
kolom sama denganUS
. -
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
JP
marketplace
. -
Jalankan kueri untuk menghitung jumlah total catatan per
marketplace
.SELECT marketplace, count(*) as total_count FROM lakeformation_tutorial_row_security.amazon_reviews GROUP BY marketplace
Hasil kueri hanya menunjukkan baris milik
JP
marketplace
.
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.