

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

# Pemfilteran data dan keamanan tingkat sel di Lake Formation
<a name="data-filtering"></a>

Saat Anda memberikan izin Lake Formation pada tabel Katalog Data, Anda dapat menyertakan spesifikasi pemfilteran data untuk membatasi akses ke data tertentu dalam hasil kueri dan mesin yang terintegrasi dengan Lake Formation. Lake Formation menggunakan pemfilteran data untuk mencapai keamanan tingkat kolom, keamanan tingkat baris, dan keamanan tingkat sel. Anda dapat menentukan dan menerapkan filter data pada kolom bersarang jika data sumber Anda berisi struktur bersarang.

Dengan kemampuan penyaringan data Lake Formation, Anda dapat menerapkan tingkat keamanan data berikut.

**Keamanan tingkat kolom**  
Pemberian izin pada tabel Katalog Data dengan keamanan tingkat kolom (pemfilteran kolom) memungkinkan pengguna untuk hanya melihat kolom tertentu dan kolom bersarang yang dapat mereka akses dalam tabel. Pertimbangkan `persons` tabel yang digunakan dalam beberapa aplikasi untuk perusahaan komunikasi multi-wilayah besar. Pemberian izin pada tabel Katalog Data dengan pemfilteran kolom dapat membatasi pengguna yang tidak bekerja di departemen SDM untuk melihat informasi identitas pribadi (PII) seperti nomor jaminan sosial atau tanggal lahir. Anda juga dapat menentukan kebijakan keamanan dan memberikan akses ke hanya sebagian sub-struktur kolom bersarang.

**Keamanan tingkat baris**  
Pemberian izin pada tabel Katalog Data dengan keamanan tingkat baris (pemfilteran baris) memungkinkan pengguna untuk melihat hanya baris data tertentu yang dapat mereka akses dalam tabel. Pemfilteran didasarkan pada nilai satu atau lebih kolom. Anda dapat menyertakan struktur kolom bersarang saat mendefinisikan ekspresi baris-filter. Misalnya, jika kantor regional yang berbeda dari perusahaan komunikasi memiliki departemen SDM mereka sendiri, Anda dapat membatasi catatan orang yang dapat dilihat karyawan SDM hanya untuk catatan untuk karyawan di wilayah mereka.

**Keamanan tingkat sel**  
Keamanan tingkat sel menggabungkan pemfilteran baris dan pemfilteran kolom untuk model izin yang sangat fleksibel. Jika Anda melihat baris dan kolom tabel sebagai kisi, dengan menggunakan keamanan tingkat sel, Anda dapat membatasi akses ke elemen individual (sel) kisi di mana saja dalam dua dimensi. Artinya, Anda dapat membatasi akses ke kolom yang berbeda tergantung pada baris. Ini diilustrasikan oleh diagram berikut, di mana kolom terbatas diarsir.

![\[Sebuah grid ditampilkan dengan 5 baris dan 6 kolom. Baris dan kolom memiliki header seperti Col1, Col2, Row1, Row2, dan sebagainya. Sel-sel grid dengan koordinat berikut diarsir: R3, C1; R3, C2; R3, C3; R5, C1; R5; C2; R5, C5; R5, C6.\]](http://docs.aws.amazon.com/id_id/lake-formation/latest/dg/images/cells-diagram.png)


Melanjutkan contoh tabel orang, Anda dapat membuat *filter data* di tingkat sel yang membatasi akses ke kolom alamat jalan jika baris memiliki kolom negara yang disetel ke “UK”, tetapi mengizinkan akses ke kolom alamat jalan jika baris memiliki kolom negara yang disetel ke “AS”.

Filter hanya berlaku untuk operasi baca. Oleh karena itu, Anda hanya dapat memberikan izin `SELECT` Lake Formation dengan filter.

**Keamanan tingkat sel pada kolom bersarang**  
Lake Formation memungkinkan Anda untuk menentukan dan menerapkan filter data dengan keamanan tingkat sel pada kolom bersarang. Namun, mesin analitik terintegrasi seperti Amazon Athena, Amazon EMR, dan Amazon Redshift Spectrum mendukung eksekusi kueri terhadap tabel bersarang yang dikelola Lake Formation dengan keamanan tingkat baris dan kolom. 

Untuk batasan, lihat [Batasan penyaringan data](data-filtering-notes.md).

**Topics**
+ [Filter data di Lake Formation](#data-filters-about)
+ [Dukungan PartiQL dalam ekspresi filter baris](partiql-support.md)
+ [Izin diperlukan untuk menanyakan tabel dengan pemfilteran tingkat sel](row-filtering-prereqs.md)
+ [Mengelola filter data](managing-filters.md)

## Filter data di Lake Formation
<a name="data-filters-about"></a>

*Anda dapat menerapkan keamanan tingkat kolom, tingkat baris, dan tingkat sel dengan membuat filter data.* Anda memilih filter data saat Anda memberikan izin `SELECT` Lake Formation pada tabel. Jika tabel berisi struktur kolom bersarang, Anda dapat menentukan filter data dengan menyertakan atau mengecualikan kolom turunan dan menentukan ekspresi filter tingkat baris pada atribut bersarang.



Setiap filter data milik tabel tertentu dalam Katalog Data Anda. Filter data mencakup informasi berikut:
+ Nama filter
+ Katalog IDs tabel yang terkait dengan filter
+ Nama tabel
+ Nama database yang berisi tabel
+ Spesifikasi kolom - daftar kolom dan kolom bersarang (dengan `struct` tipe data) untuk menyertakan atau mengecualikan dalam hasil kueri. 
+ Ekspresi filter baris - ekspresi yang menentukan baris untuk disertakan dalam hasil kueri. Dengan beberapa batasan, ekspresi memiliki sintaks `WHERE` klausa dalam bahasa PartiQL. Untuk menentukan semua baris, pilih **Akses ke semua baris** di bawah **Akses tingkat baris** di konsol atau gunakan `AllRowsWildcard` dalam panggilan API.

  Untuk informasi selengkapnya tentang apa yang didukung dalam ekspresi filter baris, lihat[Dukungan PartiQL dalam ekspresi filter baris](partiql-support.md).

Tingkat penyaringan yang Anda dapatkan tergantung pada bagaimana Anda mengisi filter data.
+ Saat Anda menentukan wildcard “semua kolom” dan memberikan ekspresi filter baris, Anda hanya membuat keamanan tingkat baris (pemfilteran baris).
+ Saat Anda menyertakan atau mengecualikan kolom tertentu dan kolom bersarang, dan menentukan “semua baris” menggunakan wildcard semua baris, Anda hanya membuat keamanan tingkat kolom (pemfilteran kolom).
+ Saat Anda menyertakan atau mengecualikan kolom tertentu dan juga memberikan ekspresi filter baris, Anda membangun keamanan tingkat sel (penyaringan sel).

Tangkapan layar berikut dari konsol Lake Formation menunjukkan filter data yang melakukan pemfilteran tingkat sel. Untuk kueri terhadap `orders` tabel, ini membatasi akses ke `customer_name` kolom dan hasil kueri hanya mengembalikan baris di mana `product_type` kolom berisi 'pharma'.

![\[Jendela filter data berisi bidang-bidang ini, disusun secara vertikal: Nama filter data; Basis data target; Tabel target; Grup tombol opsi dengan opsi Akses ke semua kolom, Sertakan kolom, dan Kecualikan kolom; Pilih kolom (daftar drop-down); Ekspresi filter baris (kotak teks multi-baris). Opsi Kecualikan kolom dipilih, kolom customer_name dipilih untuk pengecualian, dan bidang ekspresi filter baris berisi. 'product_type='pharma'\]](http://docs.aws.amazon.com/id_id/lake-formation/latest/dg/images/data-filter-sample-pharma.png)


Perhatikan penggunaan tanda kutip tunggal untuk melampirkan string literal,`'pharma'`. 

Anda dapat menggunakan konsol Lake Formation untuk membuat filter data ini, atau Anda dapat menyediakan objek permintaan berikut ke operasi `CreateDataCellsFilter` API.

```
{
     "Name": "restrict-pharma",
     "DatabaseName": "sales",
     "TableName": "orders",
     "TableCatalogId": "111122223333",      
     "RowFilter": {"FilterExpression": "product_type='pharma'"},
     "ColumnWildcard": {
         "ExcludedColumnNames": ["customer_name"]
     }
}
```

Anda dapat membuat filter data sebanyak yang Anda butuhkan untuk sebuah tabel. Untuk melakukannya, Anda memerlukan `SELECT` izin dengan opsi hibah di atas meja. Administrator Data Lake secara default memiliki izin untuk membuat *filter data* pada semua tabel di akun itu. Anda biasanya hanya menggunakan subset dari filter data yang mungkin saat memberikan izin pada tabel kepada prinsipal. Misalnya, Anda bisa membuat filter data kedua untuk `orders` tabel yang merupakan filter row-security-only data. Mengacu pada tangkapan layar sebelumnya, Anda dapat memilih opsi **Akses ke semua kolom** dan menyertakan ekspresi filter baris dari. `product_type<>pharma` Nama filter data ini bisa jadi`no-pharma`. Ini membatasi akses ke semua baris yang memiliki `product_type` kolom diatur ke 'pharma'.

Objek permintaan untuk operasi `CreateDataCellsFilter` API untuk filter data ini adalah sebagai berikut.

```
{
     "Name": "no-pharma",
     "DatabaseName": "sales",
     "TableName": "orders",
     "TableCatalogId": "111122223333",      
     "RowFilter": {"FilterExpression": "product_type<>'pharma'"},
     "ColumnNames": ["customer_id", "customer_name", "order_num"
          "product_id", "purchase_date", "product_type", 
          "product_manufacturer", "quantity", "price"]
}
```

Anda kemudian dapat memberikan `SELECT` pada `orders` tabel dengan filter `restrict-pharma` data ke pengguna administratif, dan `SELECT` pada `orders` tabel dengan filter `no-pharma` data untuk pengguna non-administratif. Untuk pengguna di sektor perawatan kesehatan, Anda akan memberikan `SELECT` di `orders` atas meja dengan akses penuh ke semua baris dan kolom (tanpa filter data), atau mungkin dengan filter data lain yang membatasi akses ke informasi harga.

 Anda dapat menyertakan atau mengecualikan kolom bersarang saat menentukan keamanan tingkat kolom dan tingkat baris dalam filter data. Dalam contoh berikut, akses ke `product.offer` bidang ditentukan menggunakan nama kolom yang memenuhi syarat (dibungkus dengan tanda kutip ganda). Hal ini penting untuk bidang bersarang untuk menghindari kesalahan yang terjadi ketika nama kolom berisi karakter khusus, dan untuk mempertahankan kompatibilitas mundur dengan definisi keamanan tingkat kolom tingkat atas. 

```
{
     "Name": "example_dcf",
     "DatabaseName": "example_db",
     "TableName": "example_table",
     "TableCatalogId": "111122223333",      
     "RowFilter": { "FilterExpression": "customer.customerName <> 'John'" },
     "ColumnNames": ["customer", "\"product\".\"offer\""]
}
```

**Lihat juga**  
[Mengelola filter data](managing-filters.md)

# Dukungan PartiQL dalam ekspresi filter baris
<a name="partiql-support"></a>

Anda dapat membuat ekspresi filter baris menggunakan subset tipe data, operator, dan agregasi PartiQL. Lake Formation tidak mengizinkan fungsi PartiQL yang ditentukan pengguna atau standar dalam ekspresi filter. Anda dapat menggunakan operator perbandingan untuk membandingkan kolom dengan konstanta (misalnya,`views >= 10000`), tetapi Anda tidak dapat membandingkan kolom dengan kolom lain. 

 Ekspresi filter baris dapat berupa ekspresi sederhana atau ekspresi komposit. Total panjang ekspresi harus kurang dari 2048 karakter. 

**Ekspresi sederhana**  
Ekspresi sederhana akan berupa format: ` <column name > <comparison operator ><value >`
+ **Nama kolom**

  Ini bisa berupa kolom data tingkat atas, kolom partisi, atau kolom bersarang yang ada dalam skema tabel dan harus termasuk dalam yang [Jenis data yang didukung](#row-filter-supported-datatypes) tercantum di bawah ini. 
+ **Operator perbandingan**

   Berikut ini adalah operator yang didukung: `=, >, <, >=, <=, <>,!=, BETWEEN, IN, LIKE, NOT, IS [NOT] NULL`
+  Semua perbandingan string dan kecocokan `LIKE` pola peka huruf besar/kecil. Anda tidak dapat menggunakan operator IS [NOT] NULL pada kolom partisi. 
+ **Nilai kolom**

   Nilai Kolom harus sesuai dengan tipe data dari nama kolom. 

**Ekspresi komposit**  
Ekspresi komposit akan berupa format:`( <simple expression >) <AND/OR >(<simple expression >)`. Ekspresi komposit dapat digabungkan lebih lanjut menggunakan operator logis`AND/OR`. 

## Jenis data yang didukung
<a name="row-filter-supported-datatypes"></a>

Filter baris yang merujuk ke AWS Glue Data Catalog tabel yang berisi tipe data yang tidak didukung akan menghasilkan kesalahan. Berikut ini adalah tipe data yang didukung untuk kolom tabel dan konstanta, yang dipetakan ke tipe Amazon Redshift data:
+ `STRING, CHAR, VARCHAR`
+ `INT, LONG, BIGINT, FLOAT, DECIMAL, DOUBLE`
+ `BOOLEAN`
+  `STRUCT` 

Untuk informasi selengkapnya tentang tipe data di Amazon Redshift, lihat [Jenis data](https://docs.aws.amazon.com/redshift/latest/dg/c_Supported_data_types.html) di Panduan Pengembang *Database Amazon Redshift*.

## Ekspresi filter baris
<a name="Row-Filter-Expressions"></a>

**Example**  
Berikut ini adalah contoh ekspresi filter baris yang valid untuk tabel dengan kolom: ` country (String), id (Long), year (partition column of type Integer), month (partition column of type Integer)`  
+ `year > 2010 and country != 'US'`
+ `(year > 2010 and country = 'US') or (month < 8 and id > 23)`
+ `(country between 'Z' and 'U') and (year = 2018)`
+ `(country like '%ited%') and (year > 2000)`

**Example**  
Berikut ini adalah contoh yang valid dari ekspresi baris filter untuk tabel dengan kolom bersarang: `year > 2010 and customer.customerId <> 1 `   
 Bidang bersarang di bawah kolom partisi tidak boleh direferensikan saat mendefinisikan ekspresi tingkat baris bersarang. 

Konstanta string harus diapit dalam tanda kutip tunggal.

## Kata kunci terpesan
<a name="partiql-reserved-keywords"></a>

Jika ekspresi filter baris Anda berisi kata kunci PartiQL, Anda akan menerima kesalahan penguraian karena nama kolom mungkin bertentangan dengan kata kunci. Ketika ini terjadi, lepaskan nama kolom dengan menggunakan tanda kutip ganda. Beberapa contoh kata kunci yang dicadangkan adalah “pertama”, “terakhir”, “asc”, “hilang”. Lihat spesifikasi PartiQL untuk daftar kata kunci yang dicadangkan. 

## Referensi PartiQL
<a name="partiql-ref"></a>

Untuk informasi lebih lanjut tentang PartiQL, lihat. [https://partiql.org/](https://partiql.org/)

# Izin diperlukan untuk menanyakan tabel dengan pemfilteran tingkat sel
<a name="row-filtering-prereqs"></a>

Izin berikut AWS Identity and Access Management (IAM) diperlukan untuk menjalankan kueri terhadap tabel dengan pemfilteran tingkat sel.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "lakeformation:StartQueryPlanning",
                "lakeformation:GetQueryState",
                "lakeformation:GetWorkUnits",
                "lakeformation:GetWorkUnitResults"
            ],
            "Resource": "*"
        }
    ]
}
```

------

Untuk informasi selengkapnya tentang izin Lake Formation, lihat[Referensi personas Lake Formation dan izin IAM](permissions-reference.md).

# Mengelola filter data
<a name="managing-filters"></a>

Untuk menerapkan keamanan tingkat kolom, tingkat baris, dan tingkat sel, Anda dapat membuat dan memelihara filter data. Setiap filter data milik tabel Katalog Data. Anda dapat membuat beberapa filter data untuk tabel, dan kemudian menggunakan satu atau lebih dari mereka saat memberikan izin pada tabel. Anda juga dapat menentukan dan menerapkan filter data pada kolom bersarang yang memiliki `struct` tipe data yang memungkinkan pengguna mengakses hanya sub-struktur kolom bersarang.

Anda memerlukan `SELECT` izin dengan opsi hibah untuk membuat atau melihat filter data. Untuk mengizinkan prinsipal di akun Anda melihat dan menggunakan filter data, Anda dapat memberikan `DESCRIBE` izin di dalamnya.

**catatan**  
Lake Formation tidak mendukung pemberian `Describe` izin pada filter data, yang dibagikan dari akun lain.

Anda dapat mengelola filter data menggunakan AWS Lake Formation konsol, API, atau AWS Command Line Interface (AWS CLI).

Untuk informasi tentang filter data, lihat [Filter data di Lake Formation](data-filtering.md#data-filters-about)

# Membuat filter data
<a name="creating-data-filters"></a>

Anda dapat membuat satu atau beberapa filter data untuk setiap tabel Katalog Data.

**Untuk membuat filter data untuk tabel Katalog Data (konsol)**

1. Buka konsol Lake Formation di [https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/).

   Masuk sebagai administrator danau data, pemilik tabel target, atau kepala sekolah yang memiliki izin Lake Formation pada tabel target.

1. Di panel navigasi, di bawah **Katalog data**, pilih **Filter data**.

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

1. Dalam **Buat filter data** kotak dialog, masukkan informasi berikut:
   + Nama filter data 
   + Target database - Tentukan database yang berisi tabel.
   + Tabel target 
   + Akses tingkat kolom - Biarkan set ini ke **Akses ke semua kolom untuk** menentukan pemfilteran baris saja. Pilih **Sertakan kolom** atau **Kecualikan kolom** untuk menentukan pemfilteran kolom atau sel, lalu tentukan kolom yang akan disertakan atau dikecualikan.

     Kolom bersarang - Jika Anda menerapkan filter pada tabel yang berisi kolom bersarang, Anda dapat secara eksplisit menentukan sub-struktur kolom struct bersarang dalam filter data. 

     Ketika Anda memberikan izin SELECT kepada kepala sekolah pada filer ini, prinsipal yang menjalankan kueri berikut, hanya akan melihat data untuk `customer.customerName` dan tidak. `customer.customerId`

     ```
     SELECT "customer" FROM "example_db"."example_table";
     ```  
![\[Column-level access settings with options to include specific columns and filter rows.\]](http://docs.aws.amazon.com/id_id/lake-formation/latest/dg/images/nested-column-filter.png)

      Saat Anda memberikan izin ke `customer` kolom, prinsipal menerima akses ke kolom dan bidang bersarang di bawah kolom (`customerName`dan`customerID`). 
   + Ekspresi filter baris - Masukkan ekspresi filter untuk menentukan pemfilteran baris atau sel. Untuk tipe dan operator data yang didukung, lihat[Dukungan PartiQL dalam ekspresi filter baris](partiql-support.md). Pilih **Akses ke semua baris** untuk memberikan akses ke semua.

     Anda dapat menyertakan struct kolom sebagian dari kolom bersarang dalam ekspresi filter baris untuk memfilter baris yang berisi nilai tertentu.

     Ketika prinsipal diberikan izin ke tabel dengan ekspresi filter baris`Select * from example_nestedtable where customer.customerName <>'John'`, dan akses **tingkat kolom** diatur ke **Akses ke semua kolom**, hasil kueri hanya menampilkan baris yang `customerName <>'John'` mengevaluasi ke true.

   Tangkapan layar berikut menunjukkan filter data yang mengimplementasikan penyaringan sel. Dalam kueri terhadap `orders` tabel, ia menolak akses ke `customer_name` kolom dan hanya menampilkan baris yang memiliki 'pharma' di kolom. `product_type`  
![\[Jendela filter data berisi bidang-bidang ini, disusun secara vertikal: Nama filter data; Basis data target; Tabel target; Grup tombol opsi dengan opsi Akses ke semua kolom, Sertakan kolom, dan Kecualikan kolom; Pilih kolom (daftar drop-down); Ekspresi filter baris (kotak teks multi-baris). Opsi Kecualikan kolom dipilih, kolom customer_name dipilih untuk pengecualian, dan bidang ekspresi filter baris berisi 'product_type='pharma'.\]](http://docs.aws.amazon.com/id_id/lake-formation/latest/dg/images/data-filter-sample-pharma.png)

1. Pilih **Buat filter**.

**Untuk membuat filter data dengan kebijakan filter sel pada bidang bersarang**

 Bagian ini menggunakan skema contoh berikut untuk menunjukkan cara membuat filter sel data: 

```
[
    { name: "customer", type: "struct<customerId:string,customerName:string>" },
    { name: "customerApplication", type: "struct<appId:string>" },
    { name: "product", type: "struct<offer:struct<prodId:string,listingId:string>,type:string>" },
    { name: "purchaseId", type: "string" },
]
```

1. Pada **Buat filter data**, halaman masukkan nama untuk filter data.

1.  Selanjutnya, gunakan drop-down untuk memilih nama database dan nama tabel. 

1. Di bagian **Akses tingkat kolom**, pilih kolom Termasuk, dan pilih kolom bersarang (). `customer.customerName`

1. Di bagian **Akses tingkat baris**, pilih opsi **Akses ke semua baris**.

1. Pilih **Buat filter**.

   Saat Anda memberikan `SELECT` izin pada filter ini, kepala sekolah mendapatkan akses ke semua baris di `customerName` kolom.

1. Selanjutnya, tentukan filter data lain untuk database/tabel yang sama.

1. Di bagian **Akses tingkat kolom**, pilih kolom Termasuk, dan pilih kolom bersarang lainnya (). `customer.customerid`

1. Di bagian **Akses tingkat baris**, pilih **Filter baris**, dan masukkan **ekspresi filter baris** ()`customer.customerid <> 5`.

1. Pilih **Buat filter**.

   Saat Anda memberikan `SELECT` izin pada filter ini, prinsipal menerima akses ke semua baris di`customerName`, dan `customerId` bidang kecuali sel yang nilainya 5 di `customerId` kolom.

# Memberikan izin filter data
<a name="granting-filter-perms"></a>

Anda dapat memberikan izin`SELECT`, `DESCRIBE` dan `DROP` Lake Formation pada filter data kepada kepala sekolah.

Pada awalnya, hanya Anda yang dapat melihat filter data yang Anda buat untuk sebuah tabel. Untuk mengaktifkan prinsipal lain untuk melihat filter data dan memberikan izin Katalog Data dengan filter data, Anda harus:
+ Berikan `SELECT` pada tabel kepada kepala sekolah dengan opsi hibah, dan terapkan filter data ke hibah.
+ Berikan `DESCRIBE` atau `DROP` izin pada filter data kepada kepala sekolah.

Anda dapat memberikan `SELECT` izin ke AWS akun eksternal. Administrator data lake di akun itu kemudian dapat memberikan izin itu kepada kepala sekolah lain di akun tersebut. Saat memberikan ke akun eksternal, Anda harus menyertakan opsi hibah sehingga administrator akun eksternal dapat lebih lanjut memasukkan izin ke pengguna lain di akun. his/her Saat memberikan kepada kepala sekolah di akun Anda, pemberian dengan opsi hibah adalah opsional.

Anda dapat memberikan dan mencabut izin pada filter data menggunakan AWS Lake Formation konsol, API, atau (). AWS Command Line Interface AWS CLI

------
#### [ Console ]

1. Masuk ke Konsol Manajemen AWS dan buka konsol Lake Formation di [https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/).

1. Di panel navigasi, di bawah **Izin, pilih Izin** **danau data**.

1. **Pada halaman **Izin**, di bagian **Izin data**, pilih Hibah.**

1. Pada halaman **Berikan izin data**, pilih prinsipal untuk memberikan izin. 

1. Di bagian LF-tag atau sumber katalog, pilih Sumber daya **katalog data bernama**. Kemudian pilih database, tabel, dan filter data yang ingin Anda berikan izin.  
![\[\]](http://docs.aws.amazon.com/id_id/lake-formation/latest/dg/images/grant-data-filter-perms-step2.png)

1. Di bagian **Izin filter data**, pilih izin yang ingin Anda berikan kepada prinsipal yang dipilih.  
![\[\]](http://docs.aws.amazon.com/id_id/lake-formation/latest/dg/images/grant-perms-on-filters.png)

------
#### [ AWS CLI ]
+ Masukkan `grant-permissions` perintah. Tentukan `DataCellsFilter` untuk `resource` argumen, dan tentukan `DESCRIBE` atau `DROP` untuk `Permissions` argumen dan, secara opsional, untuk `PermissionsWithGrantOption` argumen.

  Contoh berikut memberikan opsi `DESCRIBE` hibah kepada pengguna `datalake_user1` pada filter data`restrict-pharma`, yang termasuk dalam `orders` tabel di `sales` database di AWS akun 1111-2222-3333.

  ```
  aws lakeformation grant-permissions --cli-input-json file://grant-params.json
  ```

  Berikut ini adalah isi file`grant-params.json`.

  ```
  {
      "Principal": {"DataLakePrincipalIdentifier": "arn:aws:iam::111122223333:user/datalake_user1"},
      "Resource": {
          "DataCellsFilter": {
              "TableCatalogId": "111122223333",
              "DatabaseName": "sales",
              "TableName": "orders",
              "Name": "restrict-pharma"
          }
      },
      "Permissions": ["DESCRIBE"],
      "PermissionsWithGrantOption": ["DESCRIBE"]
  }
  ```

------

# Memberikan izin data yang disediakan oleh filter data
<a name="granting-data-perms-for-filters"></a>

Filter data mewakili subset data dalam tabel. Untuk menyediakan akses data ke kepala sekolah, `SELECT` izin harus diberikan kepada prinsipal tersebut. Dengan izin ini para kepala sekolah dapat:
+ Lihat nama tabel yang sebenarnya dalam daftar tabel yang dibagikan dengan akun mereka.
+ Buat filter data pada tabel bersama dan berikan izin kepada penggunanya pada filter data tersebut.

------
#### [ Console ]

**Untuk memberikan izin SELECT**

1. Buka halaman **Izin** di konsol Lake Formation, lalu pilih **Grant**.  
![\[\]](http://docs.aws.amazon.com/id_id/lake-formation/latest/dg/images/permissions-grant-action.png)

1. Pilih prinsipal yang ingin Anda berikan aksesnya, dan pilih Sumber daya katalog **data bernama**.  
![\[\]](http://docs.aws.amazon.com/id_id/lake-formation/latest/dg/images/grant-data-filter-perms-step2.png)

1. Untuk memberikan akses ke data yang diwakili oleh filter, **pilih Pilih** di bawah **Izin filter data**.  
![\[\]](http://docs.aws.amazon.com/id_id/lake-formation/latest/dg/images/grant-data-filter-perms-step3.png)

------
#### [ CLI ]

Masukkan `grant-permissions` perintah. Tentukan `DataCellsFilter` argumen sumber daya, dan tentukan `SELECT` untuk argumen Izin. 

Contoh berikut memberikan opsi hibah kepada pengguna `datalake_user1` pada filter data`restrict-pharma`, yang termasuk dalam `orders` tabel dalam `sales` database di Akun AWS `1111-2222-3333`. `SELECT` 

```
aws lakeformation grant-permissions --cli-input-json file://grant-params.json 
```

Berikut ini adalah isi file`grant-params.json`. 

```
{
    "Principal": {
        "DataLakePrincipalIdentifier": "arn:aws:iam::111122223333:user/datalake_user1"
    },
    "Resource": {
        "DataCellsFilter": {
            "TableCatalogId": "111122223333", 
            "DatabaseName": "sales", 
            "TableName": "orders", 
            "Name": "restrict-pharma"
        }
    },
    "Permissions": ["SELECT"]
}
```

------

# Melihat filter data
<a name="view-data-filters"></a>

Anda dapat menggunakan konsol Lake Formation AWS CLI, atau Lake Formation API untuk melihat filter data. 

Untuk melihat filter data, Anda harus menjadi administrator Data Lake atau memiliki izin yang diperlukan pada filter data.

------
#### [ Console ]

1. Masuk ke Konsol Manajemen AWS dan buka konsol Lake Formation di [https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/).

1. Di panel navigasi, di bawah **Katalog data**, pilih **Filter data**.

   Halaman menampilkan filter data yang dapat Anda akses.  
![\[Halaman Filter data menampilkan filter data yang tersedia dengan kolom berikut: Nama filter, Tabel, Database, dan ID katalog Tabel. Tangkapan layar menampilkan filter data tunggal dengan nilai berikut: test-df, cloudtrailtest_cloudtrail, lakeformation_cloudtrail, ID akun yang disunting. Di atas tabel ada empat tombol (dari kiri ke kanan): Segarkan/muat ulang, Lihat (berwarna abu-abu), Hapus (berwarna abu-abu), dan “Buat filter baru”. Ada juga bidang pencarian, yang kosong.\]](http://docs.aws.amazon.com/id_id/lake-formation/latest/dg/images/list-data-filters.jpg)

1. Untuk melihat detail filter data, pilih filter data, lalu pilih Lihat. Jendela baru muncul dengan informasi rinci filter data.  
![\[Jendela “Lihat filter data” menunjukkan informasi tambahan tentang filter data yang dipilih. Informasi yang ditampilkan meliputi nama, database, tabel, pengaturan akses tingkat kolom, ekspresi filter baris, dan kolom.\]](http://docs.aws.amazon.com/id_id/lake-formation/latest/dg/images/list-data-filters-details.jpg)

------
#### [ AWS CLI ]

Masukkan `list-data-cells-filter` perintah dan tentukan sumber daya tabel.

Contoh berikut mencantumkan filter data untuk `cloudtrailtest_cloudtrail` tabel.

```
aws lakeformation list-data-cells-filter --table '{ "CatalogId":"123456789012", 
"DatabaseName":"lakeformation_cloudtrail", "Name":"cloudtrailtest_cloudtrail"}'
```

------
#### [ API/SDK ]

Gunakan `ListDataCellsFilter` API dan tentukan sumber daya tabel.

Contoh berikut menggunakan Python untuk daftar 20 filter data pertama untuk tabel. `myTable`

```
response = client.list_data_cells_filter(
    Table = {
        'CatalogId': '111122223333',
        'DatabaseName': 'mydb',
        'Name': 'myTable'
    },
    MaxResults=20
)
```

------

# Izin filter data daftar
<a name="listing-filter-perms"></a>

Anda dapat menggunakan konsol Lake Formation untuk melihat izin yang diberikan pada filter data. 

Untuk melihat izin pada filter data, Anda harus menjadi administrator Data Lake atau memiliki izin yang diperlukan pada filter data.

------
#### [ Console ]

1. Masuk ke Konsol Manajemen AWS dan buka konsol Lake Formation di [https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/).

1. Di panel navigasi, di bawah **Izin, pilih Izin** **data**.

1. Pada halaman **Izin Data**, klik atau ketuk di bidang pencarian, dan pada menu **Properti**, pilih **Jenis sumber daya**.

1. Pada menu **Jenis sumber daya**, pilih **Jenis sumber daya: Filter sel data**.

   Filter data yang Anda miliki izin terdaftar. Anda mungkin harus menggulir secara horizontal untuk melihat kolom **Izin** dan **Grantable**.  
![\[Halaman Izin Data menampilkan tabel izin dengan kolom berikut: Prinsipal, Jenis sumber daya, Database, Tabel, Sumber Daya, Katalog, dan Izin. Kolom tipe sumber daya menunjukkan “Filter sel data” di keempat baris. Izin untuk baris pertama dan kedua adalah Deskripsikan, Jatuhkan, dan Pilih. Izin untuk baris ketiga adalah Deskripsikan. Di atas tabel adalah tombol Hapus filter dan ubin yang menunjukkan bahwa pencarian saat ini adalah untuk Jenis sumber daya: Filter sel data. Di atas itu adalah bidang pencarian (teks), dan di atasnya adalah tombol Refresh, Revoke, dan Grant.\]](http://docs.aws.amazon.com/id_id/lake-formation/latest/dg/images/data-permissions-cell-filters.png)

------
#### [ AWS CLI ]
+ Masukkan `list-permissions` perintah. Tentukan `DataCellsFilter` untuk `resource` argumen, dan tentukan `DESCRIBE` atau `DROP` untuk `Permissions` argumen dan, secara opsional, untuk `PermissionsWithGrantOption` argumen.

  Contoh berikut mencantumkan `DESCRIBE` izin dengan opsi hibah pada filter `restrict-pharma` data. Hasilnya terbatas pada izin yang diberikan untuk kepala sekolah `datalake_user1` dan `orders` tabel dalam `sales` database di AWS akun 1111-2222-3333.

  ```
  aws lakeformation list-permissions --cli-input-json file://list-params.json
  ```

  Berikut ini adalah isi file`grant-params.json`.

  ```
  {
      "Principal": {"DataLakePrincipalIdentifier": "arn:aws:iam::111122223333:user/datalake_user1"},
      "Resource": {
          "DataCellsFilter": {
              "TableCatalogId": "111122223333",
              "DatabaseName": "sales",
              "TableName": "orders",
              "Name": "restrict-pharma"
          }
      },
      "Permissions": ["DESCRIBE"],
      "PermissionsWithGrantOption": ["DESCRIBE"]
  }
  ```

------