

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
<a name="cbac-tutorial"></a>

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.

**Topics**
+ [Audiens yang dituju](#tut-cbac-roles-tutorial)
+ [Prasyarat](#tut-cbac-prereqs)
+ [Langkah 1: Menyediakan sumber daya Anda](#set-up-cbac-resources)
+ [Langkah 2: Kueri tanpa filter data](#query-without-filters)
+ [Langkah 3: Siapkan filter data dan berikan izin](#setup-data-filters)
+ [Langkah 4: Kueri dengan filter data](#query-with-filters)
+ [Langkah 5: Bersihkan AWS sumber daya](#cbac-clean-up)

## Audiens yang dituju
<a name="tut-cbac-roles-tutorial"></a>

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 | 
| --- | --- | 
| Administrator IAM | 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
<a name="tut-cbac-prereqs"></a>

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](getting-started-setup.md#initial-aws-signup).

Tutorial mengasumsikan bahwa Anda sudah familiar dengan IAM. Untuk informasi tentang IAM, lihat [Panduan Pengguna IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html).

**Ubah pengaturan Lake Formation**
**penting**  
Sebelum meluncurkan CloudFormation template, nonaktifkan opsi **Gunakan hanya kontrol akses IAM 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/](https://console.aws.amazon.com/lakeformation/)di wilayah AS Timur (Virginia N.) atau wilayah AS Barat (Oregon).

1. Di bawah Katalog Data, pilih **Pengaturan**.

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

1.  Pilih **Simpan**.

## Langkah 1: Menyediakan sumber daya Anda
<a name="set-up-cbac-resources"></a>

Tutorial ini mencakup CloudFormation template untuk pengaturan cepat. Anda dapat meninjau dan menyesuaikannya sesuai dengan kebutuhan Anda. 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 CloudFormation khusus yang didukung Lambda) digunakan untuk menyalin file data sampel dari bucket Amazon S3 publik ke bucket Amazon S3 Anda
+ 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 CloudFormation template.

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

1. Pilih [Launch Stack](https://console.aws.amazon.com/cloudformation/home?region=us-east-1#/stacks/create?templateURL=https://aws-bigdata-blog.s3.amazonaws.com/artifacts/lakeformation_row_security/lakeformation_tutorial_row_security.yaml).

1. Pilih **Berikutnya** di layar **Buat tumpukan**.

1. Masukkan **Nama tumpukan**.

1. Untuk **DatalakeAdminUserName**dan **DatalakeAdminUserPassword**, masukkan nama pengguna dan kata sandi IAM Anda untuk pengguna admin danau data.

1. Untuk **DataAnalystUsUserName**dan **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.

1. Untuk **DataAnalystJpUserName**dan **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.

1. Untuk **DataLakeBucketName**, masukkan nama bucket data Anda.

1. Untuk **DatabaseName**, dan **TableName**biarkan sebagai default.

1. Pilih **Berikutnya**

1. Di halaman berikutnya, pilih **Berikutnya**.

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

1. Pilih **Buat**.

   Pembuatan tumpukan dapat memakan waktu satu menit untuk diselesaikan.

## Langkah 2: Kueri tanpa filter data
<a name="query-without-filters"></a>

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 ke Athena konsol di [https://console.aws.amazon.com/athena/](https://console.aws.amazon.com/athena/home)sebagai `DatalakeAdmin` pengguna, dan jalankan kueri 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.  
![Tabel hasil kueri yang menampilkan ulasan produk Amazon dengan kolom untuk marketplace, ID pelanggan, ID ulasan, detail produk, peringkat, dan suara.](http://docs.aws.amazon.com/id_id/lake-formation/latest/dg/images/cbac-tut-query-results1.jpg)

1. 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`  
![Hasil kueri menunjukkan kolom pasar dengan lima nilai: FR, Inggris, JP, DE, dan AS dengan jumlah.](http://docs.aws.amazon.com/id_id/lake-formation/latest/dg/images/cbac-tut-query-results2.jpg)

## Langkah 3: Siapkan filter data dan berikan izin
<a name="setup-data-filters"></a>

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/](https://console.aws.amazon.com/lakeformation/)di wilayah US East (Virginia N.) sebagai `DatalakeAdmin` pengguna.

   1. Pilih **Filter data**.

   1. Pilih **Buat filter baru**.

   1. Untuk **nama filter Data**, masukkan`amazon_reviews_US`.

   1. Untuk **database Target**, pilih database`lakeformation_tutorial_row_security`.

   1. Untuk **tabel Target**, pilih tabel`amazon_reviews`.

   1.  Untuk **akses tingkat kolom**, biarkan sebagai default.

   1. Untuk **ekspresi filter Baris**, masukkan`marketplace='US'`.

   1.  Pilih **Buat filter**.

1. Buat filter untuk membatasi akses ke `marketplace` data Jepang.

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

   1. Untuk **nama filter Data**, masukkan`amazon_reviews_JP`.

   1. Untuk **database Target**, pilih database`lakeformation_tutorial_row_security`.

   1.  Untuk **tabel Target**, pilih`table amazon_reviews`.

   1. Untuk **akses tingkat kolom**, biarkan sebagai default.

   1. Untuk ekspresi filter Baris, masukkan`marketplace='JP'`.

   1.  Pilih **Buat filter**.

1. 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**.

   1. Di bawah **Izin data**, pilih **Hibah**. 

   1. Untuk **Prinsipal**, pilih **pengguna dan peran IAM, lalu pilih peran**. `DataAnalystUS`

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

   1. Untuk **Database**, pilih`lakeformation_tutorial_row_security`.

   1.  Untuk **tabel-opsional, pilih**. `amazon_reviews`

   1. Untuk **filter Data — opsional** ¸ pilih`amazon_reviews_US`.

   1. Untuk **izin filter data**, pilih **Pilih**.

   1. Pilih**Izin**.

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

   1. Di bawah **Izin**, pilih Izin **data lake**.

   1. Di bawah **Izin data**, pilih **Hibah**. 

   1. Untuk **Prinsipal**, pilih **pengguna dan peran IAM, lalu pilih peran**. `DataAnalystJP`

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

   1. Untuk **Database**, pilih`lakeformation_tutorial_row_security`.

   1.  Untuk **tabel-opsional, pilih**. `amazon_reviews`

   1. Untuk **filter Data — opsional** ¸ pilih`amazon_reviews_JP`.

   1. Untuk **izin filter data**, pilih **Pilih**.

   1. Pilih**Izin**.

## Langkah 4: Kueri dengan filter data
<a name="query-with-filters"></a>

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/](https://console.aws.amazon.com/athena/home)sebagai pengguna. `DataAnalystUS`

1. 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.  
![Tabel hasil kueri yang menampilkan ulasan produk Amazon dengan kolom untuk marketplace, ID pelanggan, ID ulasan, detail produk, dan peringkat.](http://docs.aws.amazon.com/id_id/lake-formation/latest/dg/images/cbac-tut-query-results3.png)

1. 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 query hanya menunjukkan `marketplace` `US` dalam hasil. Ini karena pengguna hanya diperbolehkan untuk melihat baris di mana nilai `marketplace` kolom sama dengan`US`.

1. 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`.

1. 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
<a name="cbac-clean-up"></a>

**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.
+ [Hapus tumpukan formasi cloud](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-console-delete-stack.html).