

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

# Orientasi ke izin Lake Formation
<a name="onboarding-lf-permissions"></a>

AWS Lake Formation menggunakan AWS Glue Data Catalog (Katalog Data) untuk menyimpan metadata untuk danau data Amazon S3 dan sumber data eksternal seperti Amazon Redshift dalam bentuk katalog, database, dan tabel. Metadata dalam Katalog Data diatur dalam hierarki data tiga tingkat yang terdiri dari katalog, database, dan tabel. Ini mengatur data dari berbagai sumber ke dalam wadah logis yang disebut katalog. Database adalah kumpulan tabel. Katalog Data juga berisi tautan sumber daya, yang merupakan tautan ke database dan tabel bersama di akun eksternal, dan digunakan untuk akses lintas akun ke data di danau data. Setiap AWS akun memiliki satu Katalog Data per AWS Wilayah.

 Lake Formation menyediakan model izin sistem manajemen basis data relasional (RDBMS) untuk memberikan atau mencabut akses ke katalog, database, tabel, dan kolom di Katalog Data dengan data dasar di Amazon S3. 

Sebelum Anda mempelajari tentang detail model izin Lake Formation, akan sangat membantu untuk meninjau informasi latar belakang berikut:
+ Danau data yang dikelola oleh Lake Formation berada di lokasi yang ditentukan di Amazon Simple Storage Service (Amazon S3). Katalog Data juga berisi objek katalog. Setiap katalog mewakili data dari sumber seperti gudang data Amazon Redshift, Amazon DynamoDB database, dan sumber data pihak ketiga seperti Snowflake, MySQL, dan lebih dari 30 sumber data eksternal, yang terintegrasi melalui konektor federasi.
+ Lake Formation memelihara Katalog Data yang berisi metadata tentang data sumber yang akan diimpor ke danau data Anda, seperti data dalam log dan database relasional, dan tentang data di danau data Anda di Amazon S3. Katalog Data juga berisi metadata tentang data dari sumber data eksternal selain Amazon S3. Metadata diatur sebagai katalog, database, dan tabel. Tabel metadata berisi skema, lokasi, partisi, dan informasi lain tentang data yang mereka wakili. Database metadata adalah kumpulan tabel.
+  Katalog Data Lake Formation adalah Katalog Data yang sama yang digunakan olehAWS Glue. Anda dapat menggunakan AWS Glue crawler untuk membuat tabel Katalog Data, dan Anda dapat menggunakan pekerjaan AWS Glue ekstrak, transformasi, dan muat (ETL) untuk mengisi data yang mendasarinya di data lake Anda.
+ Katalog, database, dan tabel dalam Katalog Data disebut sebagai sumber daya Katalog *Data*. Tabel dalam Katalog Data disebut sebagai *tabel metadata* untuk membedakannya dari tabel di sumber data atau data tabular di Amazon S3. *Data yang ditunjukkan tabel metadata di Amazon S3 atau dalam sumber data disebut sebagai data yang mendasari.*
+ *Prinsipal* adalah pengguna atau peran, pengguna atau grup Amazon Quick, pengguna atau grup yang mengautentikasi dengan Lake Formation melalui penyedia SAMB, atau untuk kontrol akses lintas akun, ID AWS akun, ID organisasi, atau ID unit organisasi.
+ AWS Gluecrawler membuat tabel metadata, tetapi Anda juga dapat membuat tabel metadata secara manual dengan konsol Lake Formation, API, atau (). AWS Command Line Interface AWS CLI Saat membuat tabel metadata, Anda harus menentukan lokasi. Ketika Anda membuat database, lokasi adalah opsional. Lokasi tabel dapat berupa lokasi Amazon S3 atau lokasi sumber data seperti database Amazon Relational Database Service (Amazon RDS). Lokasi database selalu merupakan lokasi Amazon S3.
+ Layanan yang terintegrasi dengan Lake Formation, seperti Amazon Athena dan Amazon Redshift, dapat mengakses Katalog Data untuk mendapatkan metadata dan untuk memeriksa otorisasi untuk menjalankan kueri. Untuk daftar lengkap layanan terintegrasi, lihat[AWS integrasi layanan dengan Lake Formation](service-integrations.md).

**Topics**
+ [Ikhtisar izin Lake Formation](lf-permissions-overview.md)
+ [Referensi personas Lake Formation dan izin IAM](permissions-reference.md)
+ [Mengubah pengaturan default untuk data lake](change-settings.md)
+ [Izin Formasi Danau Implisit](implicit-permissions.md)
+ [Referensi izin Lake Formation](lf-permissions-reference.md)
+ [Mengintegrasikan Pusat Identitas IAM](identity-center-integration.md)
+ [Menambahkan lokasi Amazon S3 ke danau data Anda](register-data-lake.md)
+ [Mode akses hibrid](hybrid-access-mode.md)
+ [Membuat objek di AWS Glue Data Catalog](populating-catalog.md)
+ [Mengimpor data menggunakan alur kerja di Lake Formation](workflows.md)

# Ikhtisar izin Lake Formation
<a name="lf-permissions-overview"></a>

Ada dua jenis izin utama di AWS Lake Formation:
+ Akses metadata — Izin pada sumber daya Katalog Data (Izin *Katalog Data*). 

  Izin ini memungkinkan prinsipal untuk membuat, membaca, memperbarui, dan menghapus database dan tabel metadata di Katalog Data. 
+ Akses data yang mendasari — Izin pada lokasi di Amazon Simple Storage Service (Amazon S3) *(izin akses data* *dan izin lokasi data*). 
  + Izin data lake memungkinkan prinsipal untuk membaca dan menulis data ke lokasi Amazon *S3* yang mendasarinya—data yang ditunjukkan oleh sumber daya Katalog Data. 
  + Izin lokasi data memungkinkan prinsipal untuk membuat dan mengubah database dan tabel metadata yang mengarah ke lokasi Amazon S3 tertentu. 

Untuk kedua area tersebut, Lake Formation menggunakan kombinasi izin Lake Formation dan AWS Identity and Access Management (IAM). Model izin IAM terdiri dari kebijakan IAM. Model izin Lake Formation diimplementasikan sebagai GRANT/REVOKE perintah gaya DBMS, seperti. `Grant SELECT on tableName to userName`

Ketika kepala sekolah membuat permintaan untuk mengakses sumber daya Katalog Data atau data yang mendasarinya, agar permintaan berhasil, ia harus lulus pemeriksaan izin oleh IAM dan Lake Formation.

![\[Permintaan pemohon harus melewati dua “pintu” untuk mendapatkan sumber daya: izin Lake Formation dan izin IAM.\]](http://docs.aws.amazon.com/id_id/lake-formation/latest/dg/images/permissions_doors.png)


Izin Lake Formation mengontrol akses ke sumber daya Katalog Data, lokasi Amazon S3, dan data dasar di lokasi tersebut. Izin IAM mengontrol akses ke Lake Formation dan AWS Glue APIs dan sumber daya. Jadi meskipun Anda mungkin memiliki izin Lake Formation untuk membuat tabel metadata di Data Catalog (`CREATE_TABLE`), operasi Anda gagal jika Anda tidak memiliki izin IAM pada API. `glue:CreateTable` (Mengapa `glue:` izin? Karena Lake Formation menggunakan Katalog AWS Glue Data.)

**catatan**  
Izin Lake Formation hanya berlaku di Wilayah di mana mereka diberikan.

AWS Lake Formation mengharuskan setiap kepala sekolah (pengguna atau peran) diberi wewenang untuk melakukan tindakan pada sumber daya yang dikelola Lake Formation. Seorang kepala sekolah diberikan otorisasi yang diperlukan oleh administrator danau data atau kepala sekolah lain dengan izin untuk memberikan izin Lake Formation.

Ketika Anda memberikan izin Lake Formation kepada kepala sekolah, Anda dapat secara opsional memberikan kemampuan untuk memberikan izin itu kepada kepala sekolah lain.

Anda dapat menggunakan Lake Formation API, halaman AWS Command Line Interface (AWS CLI), atau **izin Data** dan **lokasi Data** pada konsol Lake Formation untuk memberikan dan mencabut izin Lake Formation.

# Metode untuk kontrol akses berbutir halus
<a name="access-control-fine-grained"></a>

Dengan data lake, tujuannya adalah untuk memiliki kontrol akses halus ke data. Di Lake Formation, ini berarti kontrol akses berbutir halus ke sumber daya Katalog Data dan lokasi Amazon S3. Anda dapat mencapai kontrol akses berbutir halus dengan salah satu metode berikut.


| Metode | Izin Lake Formation | Izin IAM | Komentar | 
| --- | --- | --- | --- | 
| Metode 1 | Buka | Berbutir halus |  **Ini adalah metode default** untuk kompatibilitas mundur denganAWS Glue. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/lake-formation/latest/dg/access-control-fine-grained.html) Pada konsol Lake Formation, metode ini muncul sebagai **Gunakan hanya kontrol akses IAM**.  | 
| Metode 2 | Berbutir halus | Berbutir kasar |  **Ini adalah metode yang direkomendasikan.** [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/lake-formation/latest/dg/access-control-fine-grained.html)  | 

**penting**  
Ketahui hal-hal berikut:  
Secara default, Lake Formation memiliki pengaturan **kontrol akses Use only IAM** yang diaktifkan untuk kompatibilitas dengan perilaku Katalog AWS Glue Data yang ada. Kami menyarankan Anda menonaktifkan pengaturan ini setelah Anda beralih menggunakan izin Lake Formation. Untuk informasi selengkapnya, lihat [Mengubah pengaturan default untuk data lake](change-settings.md).
Administrator data lake dan pembuat database memiliki izin Lake Formation implisit yang harus Anda pahami. Untuk informasi selengkapnya, lihat [Izin Formasi Danau Implisit](implicit-permissions.md).

# Kontrol akses metadata
<a name="access-control-metadata"></a>

Untuk kontrol akses sumber daya Katalog Data, diskusi berikut mengasumsikan kontrol akses berbutir halus dengan izin Lake Formation dan kontrol akses berbutir kasar dengan kebijakan IAM.

Ada dua metode berbeda untuk memberikan izin Lake Formation pada sumber daya Katalog Data:
+ **Kontrol akses sumber daya bernama** — Dengan metode ini, Anda memberikan izin pada database atau tabel tertentu dengan menentukan nama database atau tabel. Hibah memiliki formulir ini:

  Berikan *izin* kepada *kepala sekolah tentang *sumber daya* [dengan opsi hibah*].

  Dengan opsi hibah, Anda dapat mengizinkan penerima hibah untuk memberikan izin kepada kepala sekolah lainnya.
+ **Kontrol akses berbasis tag** — Dengan metode ini, Anda menetapkan satu atau beberapa LF-tag ke database, tabel, dan kolom Katalog Data, dan memberikan izin pada satu atau beberapa LF-tag ke prinsipal. Setiap LF-tag adalah pasangan kunci-nilai, seperti. `department=sales` Prinsipal yang memiliki LF-tag yang cocok dengan LF-tag pada sumber daya Katalog Data dapat mengakses sumber daya tersebut. Metode ini direkomendasikan untuk danau data dengan sejumlah besar database dan tabel. Ini dijelaskan secara rinci dalam[Kontrol akses berbasis tag Lake Formation](tag-based-access-control.md).

Izin yang dimiliki kepala sekolah pada sumber daya adalah gabungan izin yang diberikan oleh kedua metode.

Tabel berikut merangkum izin Lake Formation yang tersedia pada sumber daya Katalog Data. Judul kolom menunjukkan sumber daya tempat izin diberikan.


| Katalog | Basis Data | Tabel | 
| --- | --- | --- | 
| CREATE\$1DATABASE | CREATE\$1TABLE | ALTER | 
|  | ALTER | DROP | 
|  | DROP | DESCRIBE | 
|  | DESCRIBE | SELECT\$1 | 
|  |  | INSERT\$1 | 
|  |  | DELETE\$1 | 

Misalnya, `CREATE_TABLE` izin diberikan pada database. Ini berarti bahwa prinsipal diperbolehkan untuk membuat tabel dalam database itu.

Izin dengan tanda bintang (\$1) diberikan pada sumber daya Katalog Data, tetapi berlaku untuk data yang mendasarinya. Misalnya, `DROP` izin pada tabel metadata memungkinkan Anda untuk menjatuhkan tabel dari Katalog Data. Namun, `DELETE` izin yang diberikan pada tabel yang sama memungkinkan Anda untuk menghapus data dasar tabel di Amazon S3, menggunakan, misalnya, pernyataan SQL`DELETE`. Dengan izin ini, Anda juga dapat melihat tabel di konsol Lake Formation dan mengambil informasi tentang tabel dengan API. AWS Glue Dengan demikian`SELECT`,`INSERT`,, dan `DELETE` keduanya merupakan izin Katalog Data dan izin akses data.

Saat memberikan `SELECT` pada tabel, Anda dapat menambahkan filter yang menyertakan atau mengecualikan satu atau beberapa kolom. Ini memungkinkan kontrol akses berbutir halus pada kolom tabel metadata, membatasi kolom yang dapat dilihat pengguna layanan terintegrasi saat menjalankan kueri. Kemampuan ini tidak tersedia hanya dengan menggunakan kebijakan IAM.

Ada juga izin khusus bernama`Super`. `Super`Izin memungkinkan kepala sekolah untuk melakukan setiap operasi Lake Formation yang didukung pada database atau tabel yang diberikan. Izin ini dapat hidup berdampingan dengan izin Lake Formation lainnya. Misalnya, Anda dapat memberikan`Super`,`SELECT`, dan `INSERT` pada tabel metadata. Prinsipal dapat melakukan semua tindakan yang didukung di atas meja, dan ketika Anda mencabut`Super`, `INSERT` izin `SELECT` dan tetap ada.

Untuk detail tentang setiap izin, lihat[Referensi izin Lake Formation](lf-permissions-reference.md).

**penting**  
Untuk dapat melihat tabel Katalog Data yang dibuat oleh pengguna lain, Anda harus diberikan setidaknya satu izin Lake Formation di atas meja. Jika Anda diberikan setidaknya satu izin di atas meja, Anda juga dapat melihat tabel yang berisi database.

Anda dapat memberikan atau mencabut izin Katalog Data menggunakan konsol Lake Formation, API, atau (). AWS Command Line Interface AWS CLI Berikut ini adalah contoh AWS CLI perintah yang memberikan `datalake_user1` izin pengguna untuk membuat tabel dalam `retail` database.

```
aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:user/datalake_user1 
 --permissions "CREATE_TABLE" --resource '{ "Database": {"Name":"retail"}}'
```

Berikut ini adalah contoh kebijakan IAM kontrol akses kasar yang melengkapi kontrol akses berbutir halus dengan izin Lake Formation. Ini memungkinkan semua operasi pada database atau tabel metadata apa pun.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "glue:*Database*",
                "glue:*Table*",
                "glue:*Partition*"
            ],
            "Resource": "*"
        }
    ]
}
```

------

Contoh selanjutnya juga berbutir kasar tetapi agak lebih membatasi. Ini memungkinkan operasi hanya-baca pada semua database dan tabel metadata di Katalog Data di akun dan Wilayah yang ditunjuk.

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

****  

```
{  
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "glue:GetTables",
                "glue:SearchTables",
                "glue:GetTable",
                "glue:GetDatabase", 
                "glue:GetDatabases"
            ],
            "Resource": "arn:aws:glue:us-east-1:111122223333:*"
        } 
    ]   
}
```

------

Bandingkan kebijakan ini dengan kebijakan berikut, yang menerapkan kontrol akses berbutir halus berbasis IAM. Ini memberikan izin hanya pada subset tabel dalam database metadata manajemen hubungan pelanggan (CRM) di akun dan Wilayah yang ditunjuk.

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

****  

```
{  
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "glue:GetTables",
                "glue:SearchTables",
                "glue:GetTable",
                "glue:GetDatabase", 
                "glue:GetDatabases"
            ],
            "Resource": [
                "arn:aws:glue:us-east-1:111122223333:catalog",
                "arn:aws:glue:us-east-1:111122223333:database/CRM",
                "arn:aws:glue:us-east-1:111122223333:table/CRM/P*"
            ]
        } 
    ]   
}
```

------

Untuk lebih banyak contoh kebijakan kontrol akses berbutir kasar, lihat. [Referensi personas Lake Formation dan izin IAM](permissions-reference.md)

# Kontrol akses data yang mendasari
<a name="access-control-underlying-data"></a>

Ketika AWS layanan terintegrasi meminta akses ke data di lokasi Amazon S3 yang dikendalikan oleh akses, Lake AWS Lake Formation Formation menyediakan kredensi sementara untuk mengakses data.

Untuk mengaktifkan Lake Formation mengontrol akses ke data dasar di lokasi Amazon S3, Anda *mendaftarkan* lokasi tersebut dengan Lake Formation.

Setelah mendaftarkan lokasi Amazon S3, Anda dapat mulai memberikan izin Lake Formation berikut:
+ Izin akses data (`SELECT`,`INSERT`, dan `DELETE)` pada tabel Katalog Data yang mengarah ke lokasi tersebut.
+ Izin lokasi data di lokasi tersebut.

Izin lokasi data Lake Formation mengontrol kemampuan untuk membuat sumber daya Katalog Data yang mengarah ke lokasi Amazon S3 tertentu. Izin lokasi data memberikan lapisan keamanan ekstra ke lokasi di dalam danau data. Ketika Anda memberikan `CREATE_TABLE` atau `ALTER` izin kepada kepala sekolah, Anda juga memberikan izin lokasi data untuk membatasi lokasi yang prinsipal dapat membuat atau mengubah tabel metadata. 

Lokasi Amazon S3 adalah ember atau awalan di bawah ember, tetapi bukan objek Amazon S3 individual.

Anda dapat memberikan izin lokasi data kepada prinsipal menggunakan konsol Lake Formation, API, atau. AWS CLI Bentuk umum hibah adalah sebagai berikut: 

```
grant DATA_LOCATION_ACCESS to principal on S3 location [with grant option]
```

Jika Anda menyertakan`with grant option`, penerima hibah dapat memberikan izin kepada prinsipal lain.

Ingatlah bahwa izin Lake Formation selalu bekerja dalam kombinasi dengan izin AWS Identity and Access Management (IAM) untuk kontrol akses berbutir halus. Untuk read/write izin pada data Amazon S3 yang mendasarinya, izin IAM diberikan sebagai berikut:

Saat mendaftarkan lokasi, Anda menentukan peran IAM yang memberikan izin baca/tulis di lokasi tersebut. Lake Formation mengasumsikan peran itu ketika memasok kredensi sementara ke layanan terintegrasi. AWS Peran tipikal mungkin memiliki kebijakan berikut yang dilampirkan, di mana lokasi terdaftar adalah bucket`awsexamplebucket`.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:PutObject",
                "s3:GetObject",
                "s3:DeleteObject"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-bucket/*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:ListBucket"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-bucket"
            ]
        }
    ]
}
```

------

Lake Formation menyediakan peran terkait layanan yang dapat Anda gunakan saat pendaftaran untuk membuat kebijakan seperti ini secara otomatis. Untuk informasi selengkapnya, lihat [Menggunakan peran terkait layanan untuk Lake Formation](service-linked-roles.md).

Oleh karena itu, mendaftarkan lokasi Amazon S3 memberikan `s3:` izin IAM yang diperlukan di lokasi tersebut, di mana izin ditentukan oleh peran yang digunakan untuk mendaftarkan lokasi.

**penting**  
Hindari mendaftarkan bucket Amazon S3 yang mengaktifkan **Requester pay**. Untuk ember yang terdaftar di Lake Formation, peran yang digunakan untuk mendaftarkan ember selalu dipandang sebagai pemohon. Jika bucket diakses oleh AWS akun lain, pemilik bucket akan dikenakan biaya untuk akses data jika peran tersebut milik akun yang sama dengan pemilik bucket.

Untuk read/write akses ke data yang mendasarinya, selain izin Lake Formation, kepala sekolah juga memerlukan izin IAM. `lakeformation:GetDataAccess` Dengan izin ini, Lake Formation memberikan permintaan kredensil sementara untuk mengakses data.

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

****  

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

------

 Dalam kebijakan di atas, Anda harus mengatur parameter Resource ke '\$1' (all. Menentukan sumber daya lain untuk izin ini tidak didukung. Konfigurasi ini memastikan bahwa Lake Formation dapat mengelola akses data di seluruh lingkungan danau data Anda secara efisien. 

**catatan**  
Amazon Athena mengharuskan pengguna untuk memiliki izin. `lakeformation:GetDataAccess` Layanan terintegrasi lainnya memerlukan peran eksekusi yang mendasarinya untuk memiliki `lakeformation:GetDataAccess` izin.

Izin ini termasuk dalam kebijakan yang disarankan di[Referensi personas Lake Formation dan izin IAM](permissions-reference.md).

Untuk meringkas, untuk mengaktifkan kepala sekolah Lake Formation membaca dan menulis data yang mendasarinya dengan akses yang dikendalikan oleh izin Lake Formation:
+ Daftarkan lokasi Amazon S3 yang berisi data dengan Lake Formation.
+ Prinsipal yang membuat tabel Katalog Data yang mengarah ke lokasi data yang mendasarinya harus memiliki izin lokasi data.
+ Kepala sekolah yang membaca dan menulis data dasar harus memiliki izin akses data Lake Formation pada tabel Katalog Data yang mengarah ke lokasi data yang mendasarinya.
+ Kepala sekolah yang membaca dan menulis data dasar harus memiliki izin `lakeformation:GetDataAccess` IAM ketika lokasi data yang mendasarinya terdaftar di Lake Formation.

**catatan**  
Model izin Lake Formation tidak mencegah akses ke lokasi Amazon S3 melalui Amazon S3 API atau konsol jika Anda memiliki akses ke lokasi tersebut melalui kebijakan IAM atau Amazon S3. Anda dapat melampirkan kebijakan IAM ke kepala sekolah untuk memblokir akses ini.

**Lebih lanjut tentang izin lokasi data**  
Izin lokasi data mengatur hasil dari membuat dan memperbarui operasi pada database dan tabel Katalog Data. Aturannya adalah sebagai berikut:
+ Prinsipal harus memiliki izin lokasi data eksplisit atau implisit di lokasi Amazon S3 untuk membuat atau memperbarui database atau tabel yang menentukan lokasi tersebut.
+ Izin eksplisit `DATA_LOCATION_ACCESS` diberikan menggunakan konsol, API, atau AWS CLI.
+ Izin implisit diberikan ketika database memiliki properti lokasi yang menunjuk ke lokasi terdaftar, kepala sekolah memiliki `CREATE_TABLE` izin pada database, dan prinsipal mencoba membuat tabel di lokasi tersebut atau lokasi anak.
+ Jika prinsipal diberikan izin lokasi data pada suatu lokasi, kepala sekolah memiliki izin lokasi data di semua lokasi turunan.
+ Seorang prinsipal tidak memerlukan izin lokasi data untuk melakukan read/write operasi pada data yang mendasarinya. Hal ini cukup untuk memiliki `SELECT` atau izin akses `INSERT` data. Izin lokasi data hanya berlaku untuk membuat sumber daya Katalog Data yang mengarah ke lokasi.

Pertimbangkan skenario yang ditunjukkan pada diagram berikut.

![\[Hirarki folder dan dua database, database A dan B, dengan database B menunjuk ke folder Layanan Pelanggan.\]](http://docs.aws.amazon.com/id_id/lake-formation/latest/dg/images/location-permissions-example.png)


Dalam diagram ini:
+ Bucket Amazon S3`Products`,`Finance`, dan `Customer Service` terdaftar di Lake Formation.
+ `Database A`tidak memiliki properti lokasi, dan `Database B` memiliki properti lokasi yang menunjuk ke `Customer Service` ember.
+ Pengguna `datalake_user` memiliki `CREATE_TABLE` pada kedua database.
+ Pengguna `datalake_user` telah diberikan izin lokasi data hanya pada `Products` bucket. 

Berikut ini adalah hasil ketika pengguna `datalake_user` mencoba untuk membuat tabel katalog dalam database tertentu di lokasi tertentu.


**Lokasi tempat `datalake_user` mencoba membuat tabel**  

| Database dan Lokasi | Berhasil atau Gagal | Alasan | 
| --- | --- | --- | 
| Database A di Finance/Sales | Gagal | Tidak ada izin lokasi data | 
| Database A di Products | Berhasil | Memiliki izin lokasi data | 
| Database A di HR/Plans | Berhasil | Lokasi tidak terdaftar | 
| Database B di Customer Service/Incidents | Berhasil | Database memiliki properti lokasi di Customer Service | 

Untuk informasi selengkapnya, lihat informasi berikut:
+ [Menambahkan lokasi Amazon S3 ke danau data Anda](register-data-lake.md)
+ [Referensi izin Lake Formation](lf-permissions-reference.md)
+ [Referensi personas Lake Formation dan izin IAM](permissions-reference.md)

# Referensi personas Lake Formation dan izin IAM
<a name="permissions-reference"></a>

Bagian ini mencantumkan beberapa persona Lake Formation yang disarankan dan izin yang disarankan AWS Identity and Access Management (IAM) mereka. Untuk informasi tentang izin Lake Formation, lihat[Referensi izin Lake Formation](lf-permissions-reference.md).

## AWS Lake Formation persona
<a name="lf-personas"></a>

Tabel berikut mencantumkan AWS Lake Formation persona yang disarankan.


**Personas Lake Formation**  

| Persona | Deskripsi | 
| --- | --- | 
| Administrator IAM (pengguna super) | (Wajib) Pengguna yang dapat membuat pengguna dan peran IAM. Memiliki kebijakan yang AdministratorAccess AWS dikelola. Memiliki semua izin pada semua sumber daya Lake Formation. Dapat menambahkan administrator danau data. Tidak dapat memberikan izin Lake Formation jika tidak juga ditunjuk sebagai administrator danau data. | 
| Administrator danau data | (Wajib) Pengguna yang dapat mendaftarkan lokasi Amazon S3, mengakses Katalog Data, membuat database, membuat dan menjalankan alur kerja, memberikan izin Lake Formation kepada pengguna lain, dan melihat log. AWS CloudTrail Memiliki izin IAM lebih sedikit daripada administrator IAM, tetapi cukup untuk mengelola data lake. Tidak dapat menambahkan administrator danau data lainnya. | 
| Hanya baca administrator | (Opsional) Pengguna yang dapat melihat prinsipal, sumber daya Katalog Data, izin, dan AWS CloudTrail log, tanpa izin untuk melakukan pembaruan. | 
| Insinyur data | (Opsional) Pengguna yang dapat membuat database, membuat dan menjalankan crawler dan alur kerja, serta memberikan izin Lake Formation pada tabel Katalog Data yang dibuat oleh crawler dan alur kerja. Kami menyarankan Anda membuat semua pembuat database insinyur data. Untuk informasi selengkapnya, lihat [Membuat basis data](creating-database.md). | 
| Analis data | (Opsional) Pengguna yang dapat menjalankan kueri terhadap data lake menggunakan, misalnya, Amazon Athena. Hanya memiliki izin yang cukup untuk menjalankan kueri. | 
| Peran alur kerja | (Wajib) Peran yang menjalankan alur kerja atas nama pengguna. Anda menentukan peran ini saat membuat alur kerja dari cetak biru. | 

**catatan**  
Di Lake Formation, administrator data lake yang ditambahkan setelah pembuatan database dapat memberikan izin tetapi tidak secara otomatis memiliki izin akses data seperti SELECT atau DESCRIPTE. Administrator yang membuat database menerima `SUPER` izin pada database tersebut. Perilaku ini disengaja—sementara semua administrator dapat memberikan izin yang diperlukan, izin ini tidak diterapkan secara otomatis ke sumber daya yang sudah ada sebelumnya. Oleh karena itu, administrator harus secara eksplisit memberikan diri mereka akses ke database yang ada sebelum mereka diberi hak istimewa admin. 

## AWS kebijakan terkelola untuk Lake Formation
<a name="lf-managed-policies"></a>

Anda dapat memberikan izin AWS Identity and Access Management (IAM) yang diperlukan untuk bekerja AWS Lake Formation dengan menggunakan kebijakan AWS terkelola dan kebijakan inline. Kebijakan AWS terkelola berikut tersedia untuk Lake Formation.

### AWS kebijakan terkelola: AWSLake FormationDataAdmin
<a name="lf-data-admin"></a>

 [AWSLakeFormationDataAdmin](https://console.aws.amazon.com/iam/home#/policies/arn:aws:iam::aws:policy/AWSLakeFormationDataAdmin)kebijakan memberikan akses administratif ke AWS Lake Formation dan layanan terkait seperti AWS Glue untuk mengelola danau data. 

Anda dapat melampirkan `AWSLakeFormationDataAdmin` ke pengguna, grup, dan peran Anda.

**Detail izin**
+ `CloudTrail`— Memungkinkan kepala sekolah untuk melihat log. AWS CloudTrail Ini diperlukan untuk meninjau kesalahan apa pun dalam pengaturan data lake.
+ `Glue`— Memungkinkan prinsipal untuk melihat, membuat, dan memperbarui tabel metadata dan database dalam Katalog Data. Ini termasuk operasi API yang dimulai dengan`Get`,`List`,`Create`,`Update`,`Delete`, dan`Search`. Ini diperlukan untuk mengelola metadata tabel data lake.
+ `IAM`— Memungkinkan kepala sekolah untuk mengambil informasi tentang pengguna IAM, peran, dan kebijakan yang dilampirkan pada peran. Ini diperlukan agar admin data meninjau dan mencantumkan pengguna dan peran IAM untuk memberikan izin Lake Formation.
+ `Lake Formation`— Memberikan admin data lake memerlukan izin Lake Formation untuk mengelola data lake.
+ `S3`— Memungkinkan kepala sekolah untuk mengambil informasi tentang bucket Amazon S3 dan lokasinya untuk mengatur lokasi data untuk data lake.

```
"Statement": [
        {
            "Sid": "AWSLakeFormationDataAdminAllow",
            "Effect": "Allow",
            "Action": [
                "lakeformation:*",
                "cloudtrail:DescribeTrails",
                "cloudtrail:LookupEvents",
                "glue:CreateCatalog",
		"glue:UpdateCatalog",
                "glue:DeleteCatalog",
		"glue:GetCatalog",
	        "glue:GetCatalogs",
                "glue:GetDatabase",
                "glue:GetDatabases",
                "glue:CreateDatabase",
                "glue:UpdateDatabase",
                "glue:DeleteDatabase",
                "glue:GetConnections",
                "glue:SearchTables",
                "glue:GetTable",
                "glue:CreateTable",
                "glue:UpdateTable",
                "glue:DeleteTable",
                "glue:GetTableVersions",
                "glue:GetPartitions",
                "glue:GetTables",
                "glue:ListWorkflows",
                "glue:BatchGetWorkflows",
                "glue:DeleteWorkflow",
                "glue:GetWorkflowRuns",
                "glue:StartWorkflowRun",
                "glue:GetWorkflow",
                "s3:ListBucket",
                "s3:GetBucketLocation",
                "s3:ListAllMyBuckets",
                "s3:GetBucketAcl",
                "iam:ListUsers",
                "iam:ListRoles",
                "iam:GetRole",
                "iam:GetRolePolicy"
            ],
            "Resource": "*"
        },
        {
            "Sid": "AWSLakeFormationDataAdminDeny",
            "Effect": "Deny",
            "Action": [
                "lakeformation:PutDataLakeSettings"
            ],
                "Resource": "*"
        }
    ]
}
```

**catatan**  
`AWSLakeFormationDataAdmin`Kebijakan ini tidak memberikan setiap izin yang diperlukan untuk administrator data lake. Izin tambahan diperlukan untuk membuat dan menjalankan alur kerja dan mendaftarkan lokasi dengan peran terkait layanan. `AWSServiceRoleForLakeFormationDataAccess` Untuk informasi selengkapnya, lihat [Buat administrator danau data](initial-lf-config.md#create-data-lake-admin) dan [Menggunakan peran terkait layanan untuk Lake Formation](service-linked-roles.md).

### AWS kebijakan terkelola: AWSLake FormationCrossAccountManager
<a name="lf-cross-account-manager"></a>

[AWSLakeFormationCrossAccountManager](https://console.aws.amazon.com/iam/home#/policies/arn:aws:iam::aws:policy/AWSLakeFormationCrossAccountManager)kebijakan menyediakan akses lintas akun ke AWS Glue sumber daya melalui Lake Formation, dan memberikan akses baca ke layanan lain yang diperlukan seperti AWS Organizations dan AWS RAM.

Anda dapat melampirkan `AWSLakeFormationCrossAccountManager` ke pengguna, grup, dan peran Anda.

**Detail izin**

Kebijakan ini mencakup izin berikut.
+ `Glue`— Memungkinkan prinsipal untuk mengatur atau menghapus kebijakan sumber daya Katalog Data untuk kontrol akses.
+ `Organizations`— Memungkinkan kepala sekolah untuk mengambil informasi akun dan unit organisasi (OU) untuk suatu organisasi.
+ `ram:CreateResourceShare`— Memungkinkan kepala sekolah untuk membuat pembagian sumber daya.
+ `ram:UpdateResourceShare`—Memungkinkan prinsipal untuk memodifikasi beberapa properti dari pembagian sumber daya yang ditentukan.
+ `ram:DeleteResourceShare`— Memungkinkan prinsipal untuk menghapus pembagian sumber daya yang ditentukan.
+ `ram:AssociateResourceShare`— Memungkinkan prinsipal untuk menambahkan daftar prinsipal dan daftar sumber daya yang ditentukan ke pembagian sumber daya.
+ `ram:DisassociateResourceShare`— Memungkinkan prinsipal untuk menghapus prinsip atau sumber daya yang ditentukan dari berpartisipasi dalam pembagian sumber daya yang ditentukan. 
+ `ram:GetResourceShares`— Memungkinkan kepala sekolah untuk mengambil rincian tentang pembagian sumber daya yang Anda miliki atau yang dibagikan dengan Anda. 
+ `ram:RequestedResourceType`— Memungkinkan prinsipal untuk mengambil jenis sumber daya (database, tabel atau katalog).
+ `AssociateResourceSharePermission`— Memungkinkan prinsipal untuk menambah atau mengganti AWS RAM izin untuk jenis sumber daya yang disertakan dalam pembagian sumber daya. Anda dapat memiliki persis satu izin yang terkait dengan setiap jenis sumber daya dalam pembagian sumber daya.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [{
            "Sid": "AllowCreateResourceShare",
            "Effect": "Allow",
            "Action": [
                "ram:CreateResourceShare"
            ],
            "Resource": "*",
            "Condition": {
                "StringLikeIfExists": {
                    "ram:RequestedResourceType": [
                        "glue:Table",
                        "glue:Database",
                        "glue:Catalog"
                    ]
                }
            }
        },
        {
            "Sid": "AllowManageResourceShare",
            "Effect": "Allow",
            "Action": [
                "ram:UpdateResourceShare",
                "ram:DeleteResourceShare",
                "ram:AssociateResourceShare",
                "ram:DisassociateResourceShare",
                "ram:GetResourceShares"
            ],
            "Resource": "*",
            "Condition": {
                "StringLike": {
                    "ram:ResourceShareName": [
                        "LakeFormation*"
                    ]
                }
            }
        },
        {
            "Sid": "AllowManageResourceSharePermissions",
            "Effect": "Allow",
            "Action": [
                "ram:AssociateResourceSharePermission"
            ],
            "Resource": "*",
            "Condition": {
                "ArnLike": {
                    "ram:PermissionArn": [
                        "arn:aws:ram::aws:permission/AWSRAMLFEnabled*"
                    ]
                }
            }
        },
        {
            "Sid": "AllowXAcctManagerPermissions",
            "Effect": "Allow",
            "Action": [
                "glue:PutResourcePolicy",
                "glue:DeleteResourcePolicy",
                "organizations:DescribeOrganization",
                "organizations:DescribeAccount",
                "ram:Get*",
                "ram:List*"
            ],
            "Resource": "*"
        },
        {
            "Sid": "AllowOrganizationsPermissions",
            "Effect": "Allow",
            "Action": [
                "organizations:ListRoots",
                "organizations:ListAccountsForParent",
                "organizations:ListOrganizationalUnitsForParent"
            ],
            "Resource": "*"
        }
    ]
}
```

------

### AWS kebijakan terkelola: AWSGlue ConsoleFullAccess
<a name="glue-console-access-policy"></a>

[AWSGlueConsoleFullAccess](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/AWSGlueConsoleFullAccess)kebijakan memberikan akses penuh ke AWS Glue sumber daya ketika identitas yang dilampirkan kebijakan menggunakan. Konsol Manajemen AWS Jika Anda mengikuti konvensi penamaan untuk sumber daya yang ditentukan dalam kebijakan ini, maka pengguna memiliki kemampuan konsol penuh. Kebijakan ini biasanya dilampirkan ke pengguna AWS Glue konsol.

Selain itu, AWS Glue Lake Formation mengambil peran layanan `AWSGlueServiceRole` untuk memungkinkan akses ke layanan terkait, termasuk Amazon Elastic Compute Cloud (Amazon EC2), Amazon Simple Storage Service (Amazon S3), dan Amazon. CloudWatch

### AWS managed policy:LakeFormationDataAccessServiceRolePolicy
<a name="lake-formation-data-access-service-role-policy"></a>

Kebijakan ini dilampirkan ke peran terkait layanan bernama `ServiceRoleForLakeFormationDataAccess` yang memungkinkan layanan melakukan tindakan pada sumber daya atas permintaan Anda. Anda tidak dapat melampirkan kebijakan ini ke identitas IAM Anda.

Kebijakan ini memungkinkan AWS layanan terintegrasi Lake Formation seperti Amazon Athena atau Amazon Redshift menggunakan peran terkait layanan untuk menemukan sumber daya Amazon S3.

Untuk informasi selengkapnya, lihat [Menggunakan peran terkait layanan untuk Lake Formation](service-linked-roles.md).

**Detail izin**

Kebijakan ini mencakup izin berikut.
+ `s3:ListAllMyBuckets`— Mengembalikan daftar semua bucket yang dimiliki oleh pengirim permintaan yang diautentikasi.

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

****  

```
{
	"Version":"2012-10-17",		 	 	 
	"Statement": [
		{
			"Sid": "LakeFormationDataAccessServiceRolePolicy",
			"Effect": "Allow",
			"Action": [
				"s3:ListAllMyBuckets"
			],
			"Resource": [
				"arn:aws:s3:::*"
			]
		}
	]
}
```

------

**Lake Formation memperbarui kebijakan AWS terkelola**  
Lihat detail tentang pembaruan kebijakan AWS terkelola untuk Lake Formation sejak layanan ini mulai melacak perubahan ini.


| Ubah | Deskripsi | Date | 
| --- | --- | --- | 
| AWSLakeFormationCrossAccountManagerKebijakan yang diperbarui Lake Formation.  | Lake Formation meningkatkan [AWSLakeFormationCrossAccountManager](https://us-east-1.console.aws.amazon.com/iam/home#/policies/arn:aws:iam::aws:policy/AWSLakeFormationCrossAccountManager)kebijakan dengan mengganti operator StringLike kondisi dengan ArnLike operator yang memungkinkan IAM melakukan pemeriksaan format ARN. | Januari, 2025 | 
| AWSLakeFormationDataAdminKebijakan yang diperbarui Lake Formation.  | Lake Formation meningkatkan [AWSLakeFormationDataAdmin](https://us-east-1.console.aws.amazon.com/iam/home#/policies/arn:aws:iam::aws:policy/AWSLakeFormationDataAdmin)kebijakan dengan menambahkan AWS Glue Data Catalog CRUD berikut APIs sebagai bagian dari fitur multi-katalog. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/lake-formation/latest/dg/permissions-reference.html)Perubahan kebijakan terkelola ini adalah untuk memastikan bahwa persona administrator Lake Formation secara default memiliki izin IAM pada operasi baru ini. | Desember, 2024 | 
| AWSLakeFormationCrossAccountManagerKebijakan yang diperbarui Lake Formation.  | Lake Formation meningkatkan [AWSLakeFormationCrossAccountManager](https://us-east-1.console.aws.amazon.com/iam/home#/policies/arn:aws:iam::aws:policy/AWSLakeFormationCrossAccountManager)kebijakan dengan menambahkan elemen Sid ke dalam pernyataan kebijakan. | Maret, 2024 | 
| AWSLakeFormationDataAdminKebijakan yang diperbarui Lake Formation.  | Lake Formation meningkatkan [AWSLakeFormationDataAdmin](https://us-east-1.console.aws.amazon.com/iam/home#/policies/arn:aws:iam::aws:policy/AWSLakeFormationDataAdmin)kebijakan dengan menambahkan elemen Sid ke pernyataan kebijakan dan menghapus tindakan yang berlebihan. | Maret, 2024 | 
| LakeFormationDataAccessServiceRolePolicyKebijakan yang diperbarui Lake Formation.  | Lake Formation meningkatkan [LakeFormationDataAccessServiceRolePolicy](https://us-east-1.console.aws.amazon.com/iam/home#/policies/arn:aws:iam::aws:policy/LakeFormationDataAccessServiceRolePolicy)kebijakan dengan menambahkan elemen Sid ke pernyataan kebijakan. | Februari, 2024 | 
| AWSLakeFormationCrossAccountManagerKebijakan yang diperbarui Lake Formation.  | Lake Formation meningkatkan [AWSLakeFormationCrossAccountManager](https://us-east-1.console.aws.amazon.com/iam/home#/policies/arn:aws:iam::aws:policy/AWSLakeFormationCrossAccountManager)kebijakan dengan menambahkan izin baru untuk mengaktifkan berbagi data lintas akun dalam mode akses hibrida. | Oktober, 2023 | 
| AWSLakeFormationCrossAccountManagerKebijakan yang diperbarui Lake Formation.  | Lake Formation menyempurnakan [AWSLakeFormationCrossAccountManager](https://us-east-1.console.aws.amazon.com/iam/home#/policies/arn:aws:iam::aws:policy/AWSLakeFormationCrossAccountManager)kebijakan untuk membuat hanya satu pembagian sumber daya per akun penerima saat sumber daya pertama kali dibagikan. Semua sumber daya yang dibagikan setelahnya dengan akun yang sama dilampirkan ke pembagian sumber daya yang sama. | 6 Mei 2022 | 
| Lake Formation mulai melacak perubahan. | Lake Formation mulai melacak perubahan untuk kebijakan yang AWS dikelola. | 6 Mei 2022 | 

## Personas menyarankan izin
<a name="lf-permissions-tables"></a>

Berikut ini adalah izin yang disarankan untuk setiap persona. Administrator IAM tidak disertakan karena pengguna tersebut memiliki semua izin pada semua sumber daya.

**Topics**
+ [Izin administrator danau data](#persona-dl-admin)
+ [Baca hanya izin administrator](#persona-read-only-admin)
+ [Izin insinyur data](#persona-engineer)
+ [Izin analis data](#persona-user)
+ [Izin peran alur kerja](#persona-workflow-role)

### Izin administrator danau data
<a name="persona-dl-admin"></a>

**penting**  
Dalam kebijakan berikut, ganti *<account-id>* dengan nomor AWS akun yang valid, dan ganti *<workflow\$1role>* dengan nama peran yang memiliki izin untuk menjalankan alur kerja, seperti yang didefinisikan dalam. [Izin peran alur kerja](#persona-workflow-role)


| Jenis Kebijakan | Kebijakan | 
| --- | --- | 
| AWS kebijakan terkelola |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/lake-formation/latest/dg/permissions-reference.html) Untuk informasi tentang kebijakan AWS terkelola opsional, lihat[Buat administrator danau data](initial-lf-config.md#create-data-lake-admin).  | 
| Kebijakan sebaris (untuk membuat peran terkait layanan Lake Formation) |  <pre>{<br />    "Version": "2012-10-17",		 	 	 <br />    "Statement": [<br />        {<br />            "Effect": "Allow",<br />            "Action": "iam:CreateServiceLinkedRole",<br />            "Resource": "*",<br />            "Condition": {<br />                "StringEquals": {<br />                    "iam:AWSServiceName": "lakeformation.amazonaws.com"<br />                }<br />            }<br />        },<br />        {<br />            "Effect": "Allow",<br />            "Action": [<br />                "iam:PutRolePolicy"<br />            ],<br />            "Resource": "arn:aws:iam::<account-id>:role/aws-service-role/lakeformation.amazonaws.com/AWSServiceRoleForLakeFormationDataAccess"<br />        }<br />    ]<br />}<br /></pre>  | 
| (Opsional) Kebijakan sebaris (kebijakan peran sandi untuk peran alur kerja). Ini diperlukan hanya jika administrator data lake membuat dan menjalankan alur kerja. |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/lake-formation/latest/dg/permissions-reference.html)  | 
| (Opsional) Kebijakan sebaris (jika akun Anda memberikan atau menerima izin Lake Formation lintas akun). Kebijakan ini untuk menerima atau menolak undangan berbagi AWS RAM sumber daya, dan untuk memungkinkan pemberian izin lintas akun kepada organisasi. ram:EnableSharingWithAwsOrganizationdiperlukan hanya untuk administrator danau data di akun AWS Organizations manajemen. |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/lake-formation/latest/dg/permissions-reference.html)  | 

### Baca hanya izin administrator
<a name="persona-read-only-admin"></a>


| Tipe kebijakan | Kebijakan | 
| --- | --- | 
| Kebijakan inline (dasar) |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/lake-formation/latest/dg/permissions-reference.html)  | 

### Izin insinyur data
<a name="persona-engineer"></a>

**penting**  
Dalam kebijakan berikut, ganti *<account-id>* dengan nomor AWS akun yang valid, dan ganti *<workflow\$1role>* dengan nama peran alur kerja.


| Jenis Kebijakan | Kebijakan | 
| --- | --- | 
| AWS kebijakan terkelola | AWSGlueConsoleFullAccess | 
| Kebijakan inline (dasar) |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/lake-formation/latest/dg/permissions-reference.html)  | 
| Kebijakan inline (untuk operasi pada tabel yang diatur, termasuk operasi dalam transaksi) |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/lake-formation/latest/dg/permissions-reference.html)  | 
| Kebijakan inline (untuk kontrol akses metadata menggunakan metode kontrol akses berbasis tag Lake Formation (LF-TBAC)) |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/lake-formation/latest/dg/permissions-reference.html)  | 
| Kebijakan inline (kebijakan passrole untuk peran alur kerja) |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/lake-formation/latest/dg/permissions-reference.html)  | 

### Izin analis data
<a name="persona-user"></a>


| Jenis Kebijakan | Kebijakan | 
| --- | --- | 
| AWS kebijakan terkelola | AmazonAthenaFullAccess | 
| Kebijakan inline (dasar) |  <pre>{<br />    "Version": "2012-10-17",		 	 	 <br />    "Statement": [<br />        {<br />            "Effect": "Allow",<br />            "Action": [<br />                "lakeformation:GetDataAccess",<br />                "glue:GetTable",<br />                "glue:GetTables",<br />                "glue:SearchTables",<br />                "glue:GetDatabase",<br />                "glue:GetDatabases",<br />                "glue:GetPartitions",<br />                "lakeformation:GetResourceLFTags",<br />                "lakeformation:ListLFTags",<br />                "lakeformation:GetLFTag",<br />                "lakeformation:SearchTablesByLFTags",<br />                "lakeformation:SearchDatabasesByLFTags"                <br />           ],<br />            "Resource": "*"<br />        }<br />    ]<br />}</pre>  | 
| (Opsional) Kebijakan inline (untuk operasi pada tabel yang diatur, termasuk operasi dalam transaksi) |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/lake-formation/latest/dg/permissions-reference.html)  | 

### Izin peran alur kerja
<a name="persona-workflow-role"></a>

Peran ini memiliki izin yang diperlukan untuk menjalankan alur kerja. Anda menentukan peran dengan izin ini saat membuat alur kerja.

**penting**  
Dalam kebijakan berikut, ganti *<region>* dengan pengenal AWS Wilayah yang valid (misalnya`us-east-1`), *<account-id>* dengan nomor AWS akun yang valid, *<workflow\$1role>* dengan nama peran alur kerja, dan *<your-s3-cloudtrail-bucket>* dengan jalur Amazon S3 ke log Anda. AWS CloudTrail 


| Jenis Kebijakan | Kebijakan | 
| --- | --- | 
| AWS kebijakan terkelola | AWSGlueServiceRole  | 
| Kebijakan inline (akses data) |  <pre>{<br />    "Version": "2012-10-17",		 	 	 <br />    "Statement": [<br />        {<br />            "Sid": "Lakeformation",<br />            "Effect": "Allow",<br />            "Action": [<br />                 "lakeformation:GetDataAccess",<br />                 "lakeformation:GrantPermissions"<br />             ],<br />            "Resource": "*"<br />        }<br />    ]<br />}</pre>  | 
| Kebijakan inline (kebijakan passrole untuk peran alur kerja) |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/lake-formation/latest/dg/permissions-reference.html)  | 
| Kebijakan sebaris (untuk menelan data di luar data lake, misalnya, AWS CloudTrail log) |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/lake-formation/latest/dg/permissions-reference.html)  | 

# Mengubah pengaturan default untuk data lake
<a name="change-settings"></a>

Untuk menjaga kompatibilitas mundur denganAWS Glue, AWS Lake Formation memiliki pengaturan keamanan awal berikut:
+ `Super`Izin diberikan kepada grup `IAMAllowedPrincipals` pada semua sumber daya Katalog AWS Glue Data yang ada.
+ Pengaturan “Gunakan hanya kontrol akses IAM” diaktifkan untuk sumber daya Katalog Data baru.

Pengaturan ini secara efektif menyebabkan akses ke sumber daya Katalog Data dan lokasi Amazon S3 dikendalikan semata-mata oleh kebijakan AWS Identity and Access Management (IAM). Izin Lake Formation individu tidak berlaku.

`IAMAllowedPrincipals`Grup ini mencakup setiap pengguna IAM dan peran yang diizinkan mengakses sumber daya Katalog Data Anda oleh kebijakan IAM Anda. `Super`Izin memungkinkan kepala sekolah untuk melakukan setiap operasi Lake Formation yang didukung pada database atau tabel yang diberikan.

Untuk mengubah pengaturan keamanan sehingga akses ke sumber Data Catalog (database dan tabel) dikelola oleh izin Lake Formation, lakukan hal berikut:

1. Ubah pengaturan keamanan default untuk sumber daya baru. Untuk petunjuk, lihat [Ubah model izin default atau gunakan mode akses hybrid](initial-lf-config.md#setup-change-cat-settings).

1. Ubah pengaturan untuk sumber daya Katalog Data yang ada. Untuk petunjuk, lihat [Memutakhirkan izin AWS Glue data ke model AWS Lake Formation](upgrade-glue-lake-formation.md).

**Mengubah setelan keamanan default menggunakan operasi Lake Formation `PutDataLakeSettings` API**  
Anda juga dapat mengubah pengaturan keamanan default dengan menggunakan operasi Lake Formation [PutDataLakeSettings](https://docs.aws.amazon.com/lake-formation/latest/APIReference/API_PutDataLakeSettings.html)API. Tindakan ini mengambil argumen ID katalog opsional dan [DataLakeSettings](https://docs.aws.amazon.com/lake-formation/latest/APIReference/API_DataLakeSettings.html)struktur.

Untuk menerapkan metadata dan kontrol akses data yang mendasari oleh Lake Formation pada database dan tabel baru, kodekan struktur sebagai `DataLakeSettings` berikut.

**catatan**  
Ganti *<AccountID>* dengan ID AWS akun yang valid dan *<Username>* dengan nama pengguna IAM yang valid. Anda dapat menentukan lebih dari satu pengguna sebagai administrator danau data.

```
{
    "DataLakeSettings": {
        "DataLakeAdmins": [
            {
                "DataLakePrincipalIdentifier": "arn:aws:iam::<AccountId>:user/<Username>"
            }
        ],
        "CreateDatabaseDefaultPermissions": [],
        "CreateTableDefaultPermissions": []
    }
}
```

Anda juga dapat mengkodekan struktur sebagai berikut. Menghilangkan `CreateTableDefaultPermissions` parameter `CreateDatabaseDefaultPermissions` or sama dengan melewatkan daftar kosong.

```
{
    "DataLakeSettings": {
        "DataLakeAdmins": [
            {
                "DataLakePrincipalIdentifier": "arn:aws:iam::<AccountId>:user/<Username>"
            }
        ]
    }
}
```

Tindakan ini secara efektif mencabut semua izin Lake Formation dari `IAMAllowedPrincipals` grup pada database dan tabel baru. Saat membuat database, Anda dapat mengganti pengaturan ini.

Untuk menegakkan metadata dan kontrol akses data yang mendasarinya hanya oleh IAM pada database dan tabel baru, kodekan struktur sebagai berikut. `DataLakeSettings`

```
{
    "DataLakeSettings": {
        "DataLakeAdmins": [
            {
                "DataLakePrincipalIdentifier": "arn:aws:iam::<AccountId>:user/<Username>"
            }
        ],
        "CreateDatabaseDefaultPermissions": [
            {
                "Principal": {
                    "DataLakePrincipalIdentifier": "IAM_ALLOWED_PRINCIPALS"
                },
                "Permissions": [
                    "ALL"
                ]
            }
        ],
        "CreateTableDefaultPermissions": [
            {
                "Principal": {
                    "DataLakePrincipalIdentifier": "IAM_ALLOWED_PRINCIPALS"
                },
                "Permissions": [
                    "ALL"
                ]
            }
        ]
    }
}
```

Ini memberikan izin `Super` Lake Formation ke `IAMAllowedPrincipals` grup pada database dan tabel baru. Saat membuat database, Anda dapat mengganti pengaturan ini.

**catatan**  
Dalam `DataLakeSettings` struktur sebelumnya, satu-satunya nilai yang diizinkan `DataLakePrincipalIdentifier` adalah`IAM_ALLOWED_PRINCIPALS`, dan satu-satunya nilai yang diizinkan adalah. `Permissions` `ALL`

# Izin Formasi Danau Implisit
<a name="implicit-permissions"></a>

AWS Lake Formation memberikan izin implisit berikut kepada administrator data lake, pembuat database, dan pembuat tabel.

**Administrator data lake**  
+ Memiliki `Describe` akses ke semua sumber daya dalam Katalog Data kecuali untuk sumber daya yang dibagikan dari akun lain secara langsung ke prinsipal yang berbeda. Akses ini tidak dapat dicabut dari administrator.
+ Memiliki izin lokasi data di mana-mana di danau data.
+ Dapat memberikan atau mencabut akses ke sumber daya apa pun dalam Katalog Data kepada prinsipal mana pun (termasuk mandiri). Akses ini tidak dapat dicabut dari administrator.
+ Dapat membuat database di Katalog Data.
+ Dapat memberikan izin untuk membuat database ke pengguna lain.
Administrator data lake dapat mendaftarkan lokasi Amazon S3 hanya jika mereka memiliki izin IAM untuk melakukannya. Kebijakan administrator data lake yang disarankan dalam panduan ini memberikan izin tersebut. Selain itu, administrator data lake tidak memiliki izin implisit untuk menjatuhkan database atau alter/drop tabel yang dibuat oleh orang lain. Namun, mereka dapat memberikan izin kepada diri mereka sendiri untuk melakukannya.
Untuk informasi selengkapnya tentang administrator data lake, lihat[Buat administrator danau data](initial-lf-config.md#create-data-lake-admin).

**Pembuat katalog**  
+ Memiliki semua izin katalog pada katalog yang mereka buat, memiliki izin pada database dan tabel yang mereka buat di katalog, dan dapat memberikan izin kepada prinsipal lain di AWS akun yang sama untuk membuat database dan tabel di katalog. Pembuat katalog yang juga memiliki kebijakan `AWSLakeFormationCrossAccountManager` AWS terkelola dapat memberikan izin pada katalog ke AWS akun atau organisasi lain.

  Administrator data lake dapat menggunakan konsol Lake Formation atau API untuk menunjuk pembuat katalog.
**catatan**  
Pembuat katalog tidak secara implisit memiliki izin pada database dan tabel yang dibuat orang lain dalam katalog.
Untuk informasi selengkapnya tentang membuat katalog, lihat. [Membawa data Anda ke AWS Glue Data Catalog](bring-your-data-overview.md)

**Pembuat basis data**  
+ Memiliki semua izin database pada database yang mereka buat, memiliki izin pada tabel yang mereka buat dalam database, dan dapat memberikan prinsipal lain dalam izin AWS akun yang sama untuk membuat tabel dalam database. Pembuat database yang juga memiliki kebijakan `AWSLakeFormationCrossAccountManager` AWS terkelola dapat memberikan izin pada database ke AWS akun atau organisasi lain.

  Administrator data lake dapat menggunakan konsol Lake Formation atau API untuk menunjuk pembuat database.
**catatan**  
Pembuat database tidak secara implisit memiliki izin pada tabel yang dibuat orang lain dalam database.
Untuk informasi selengkapnya, lihat [Membuat basis data](creating-database.md).

**Pembuat tabel**  
+ Memiliki semua izin pada tabel yang mereka buat.
+ Dapat memberikan izin pada semua tabel yang mereka buat ke kepala sekolah di akun yang sama. AWS 
+ Dapat memberikan izin pada semua tabel yang dibuat ke AWS akun atau organisasi lain jika memiliki kebijakan `AWSLakeFormationCrossAccountManager` AWS terkelola.
+ Dapat melihat database yang berisi tabel yang mereka buat.

# Referensi izin Lake Formation
<a name="lf-permissions-reference"></a>

Untuk melakukan AWS Lake Formation operasi, kepala sekolah memerlukan izin Lake Formation dan AWS Identity and Access Management (IAM). Anda biasanya memberikan izin IAM menggunakan kebijakan kontrol akses *berbutir kasar*, seperti yang dijelaskan dalam. [Ikhtisar izin Lake Formation](lf-permissions-overview.md) Anda dapat memberikan izin Lake Formation dengan menggunakan konsol, API, atau AWS Command Line Interface (AWS CLI). 

Untuk mempelajari cara memberikan atau mencabut izin Lake Formation, lihat dan. [Memberikan izin pada sumber daya Katalog Data](granting-catalog-permissions.md) [Memberikan izin lokasi data](granting-location-permissions.md)

**catatan**  
Contoh di bagian ini menunjukkan cara memberikan izin kepada kepala sekolah di akun yang sama. AWS Untuk contoh hibah lintas akun, lihat. [Berbagi data lintas akun di Lake Formation](cross-account-permissions.md) 

## Izin Lake Formation per jenis sumber daya
<a name="lf-resource-permissions-summary"></a>

Berikut ini adalah izin Lake Formation valid yang tersedia untuk setiap jenis sumber daya:

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/lake-formation/latest/dg/lf-permissions-reference.html)

**Topics**
+ [Izin Lake Formation per jenis sumber daya](#lf-resource-permissions-summary)
+ [Lake Formation memberikan dan mencabut perintah AWS CLI](#perm-command-format)
+ [Izin Lake Formation](#lf-permissions)

## Lake Formation memberikan dan mencabut perintah AWS CLI
<a name="perm-command-format"></a>

Setiap deskripsi izin di bagian ini mencakup contoh pemberian izin menggunakan AWS CLI perintah. Berikut ini adalah sinopsis dari Formasi dan perintah Lake. **grant-permissions** **revoke-permissions** AWS CLI 

```
grant-permissions
[--catalog-id <value>]
--principal <value>
--resource <value>
--permissions <value>
[--permissions-with-grant-option <value>]
[--cli-input-json <value>]
[--generate-cli-skeleton <value>]
```

```
revoke-permissions
[--catalog-id <value>]
--principal <value>
--resource <value>
--permissions <value>
[--permissions-with-grant-option <value>]
[--cli-input-json <value>]
[--generate-cli-skeleton <value>]
```

*Untuk deskripsi terperinci tentang perintah ini, lihat izin [pemberian dan pencabutan izin di Referensi [Perintah](https://docs.aws.amazon.com/cli/latest/reference/lakeformation/revoke-permissions.html)](https://docs.aws.amazon.com/cli/latest/reference/lakeformation/grant-permissions.html).AWS CLI * Bagian ini memberikan informasi tambahan tentang `--principal` opsi.

Nilai `--principal` opsi adalah salah satu dari yang berikut:
+ Nama Sumber Daya Amazon (ARN) untuk pengguna atau peran AWS Identity and Access Management (IAM)
+ ARN untuk pengguna atau grup yang mengautentikasi melalui penyedia SAFL, seperti Microsoft Active Directory Federation Service (AD FS)
+ ARN untuk pengguna atau grup Amazon Quick
+ Untuk izin lintas akun, ID AWS akun, ID organisasi, atau ID unit organisasi
+ Untuk pengguna atau grup IAM Identity Center, pengguna IAM Identity Center atau grup ARN.

Berikut ini adalah sintaks dan contoh untuk semua `--principal` jenis.

**Principal adalah pengguna IAM**  
Sintaksis:  

```
--principal DataLakePrincipalIdentifier=arn:aws:iam::<account-id>:user/<user-name>
```
Contoh:  

```
--principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:user/datalake_user1
```

**Principal adalah peran IAM**  
Sintaksis:  

```
--principal DataLakePrincipalIdentifier=arn:aws:iam::<account-id>:role/<role-name>
```
Contoh:  

```
--principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:role/workflowrole
```

**Principal adalah pengguna yang mengautentikasi melalui penyedia SAFL**  
Sintaksis:  

```
--principal DataLakePrincipalIdentifier=arn:aws:iam::<account-id>:saml-provider/<SAMLproviderName>:user/<user-name>
```
Contoh:  

```
--principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:saml-provider/idp1:user/datalake_user1
```

```
--principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:saml-provider/AthenaLakeFormationOkta:user/athena-user@example.com
```

**Principal adalah grup yang mengautentikasi melalui penyedia SAFL**  
Sintaksis:  

```
--principal DataLakePrincipalIdentifier=arn:aws:iam::<account-id>:saml-provider/<SAMLproviderName>:group/<group-name> 
```
Contoh:  

```
--principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:saml-provider/idp1:group/data-scientists
```

```
--principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:saml-provider/AthenaLakeFormationOkta:group/my-group
```

**Principal adalah pengguna Amazon Quick Enterprise Edition**  
Sintaksis:  

```
--principal DataLakePrincipalIdentifier=arn:aws:quicksight:<region>:<account-id>:user/<namespace>/<user-name>
```
Untuk *<namespace>*, Anda harus menentukan `default`.
Contoh:  

```
--principal DataLakePrincipalIdentifier=arn:aws:quicksight:us-east-1:111122223333:user/default/bi_user1
```

**Principal adalah grup Amazon Quick Enterprise Edition**  
Sintaksis:  

```
--principal DataLakePrincipalIdentifier=arn:aws:quicksight:<region>:<account-id>:group/<namespace>/<group-name> 
```
Untuk *<namespace>*, Anda harus menentukan `default`.
Contoh:  

```
--principal DataLakePrincipalIdentifier=arn:aws:quicksight:us-east-1:111122223333:group/default/data_scientists
```

**Principal adalah AWS akun**  
Sintaksis:  

```
--principal DataLakePrincipalIdentifier=<account-id>
```
Contoh:  

```
--principal DataLakePrincipalIdentifier=111122223333
```

**Principal adalah sebuah organisasi**  
Sintaksis:  

```
--principal DataLakePrincipalIdentifier=arn:aws:organizations::<account-id>:organization/<organization-id>
```
Contoh:  

```
--principal DataLakePrincipalIdentifier=arn:aws:organizations::111122223333:organization/o-abcdefghijkl
```

**Principal adalah unit organisasi**  
Sintaksis:  

```
--principal DataLakePrincipalIdentifier=arn:aws:organizations::<account-id>:ou/<organization-id>/<organizational-unit-id>
```
Contoh:  

```
--principal DataLakePrincipalIdentifier=arn:aws:organizations::111122223333:ou/o-abcdefghijkl/ou-ab00-cdefghij
```

**Principal adalah pengguna atau grup identitas IAM Identity Center**  
Contoh: Pengguna  

```
--principal DataLakePrincipalIdentifier=arn:aws:identitystore:::user/<UserID>
```
Contoh: Grup:  

```
--principal DataLakePrincipalIdentifier=arn:aws:identitystore:::group/<GroupID>
```

**Principal adalah grup IAM - `IAMAllowedPrincipals`**  
Lake Formation menetapkan `Super` izin pada semua database dan tabel dalam Katalog Data ke grup yang dipanggil secara `IAMAllowedPrincipals` default. Jika izin grup ini ada pada database atau tabel, semua prinsipal di akun Anda akan memiliki akses ke sumber daya melalui kebijakan utama IAM untuk. AWS Glue Ini memberikan kompatibilitas mundur saat Anda mulai menggunakan izin Lake Formation untuk mengamankan sumber daya Katalog Data yang sebelumnya dilindungi oleh kebijakan IAM. AWS Glue  
Saat Anda menggunakan Lake Formation untuk mengelola izin untuk sumber daya Katalog Data Anda, Anda harus terlebih dahulu mencabut `IAMAllowedPrincipals` izin pada sumber daya, atau memilih prinsip dan sumber daya ke mode akses hibrid agar izin Lake Formation berfungsi.   
Contoh:  

```
--principal DataLakePrincipalIdentifier=IAM_Allowed_Principals
```

**Principal adalah grup IAM - `ALLIAMPrincipals`**  
Saat Anda memberikan izin untuk `ALLIAMPrincipals` mengelompokkan sumber daya Katalog Data, setiap prinsipal di akun mendapatkan akses ke sumber daya Katalog Data menggunakan izin Lake Formation dan izin IAM.  
Contoh:  

```
--principal DataLakePrincipalIdentifier=123456789012:IAMPrincipals
```

## Izin Lake Formation
<a name="lf-permissions"></a>

Bagian ini berisi izin Lake Formation yang tersedia yang dapat Anda berikan kepada kepala sekolah.

### `ALTER`
<a name="perm-alter"></a>


| Izin | Diberikan pada sumber daya ini | Penerima hibah juga membutuhkan | 
| --- | --- | --- | 
| ALTER | DATABASE | glue:UpdateDatabase  | 
| ALTER | TABLE | glue:UpdateTable | 
| ALTER | LF-Tag | lakeformation:UpdateLFTag | 

Prinsipal dengan izin ini dapat mengubah metadata untuk database atau tabel di Katalog Data. Untuk tabel, Anda dapat mengubah skema kolom dan menambahkan parameter kolom. Anda tidak dapat mengubah kolom dalam data dasar yang ditunjukkan oleh tabel metadata.

Jika properti yang sedang diubah adalah lokasi Amazon Simple Storage Service (Amazon S3) terdaftar, prinsipal harus memiliki izin lokasi data di lokasi baru.

**Example**  
Contoh berikut memberikan `ALTER` izin kepada pengguna `datalake_user1` pada database `retail` di AWS akun 1111-2222-3333.  

```
aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:user/datalake_user1 --permissions "ALTER" --resource '{ "Database": {"Name":"retail"}}'
```

**Example**  
Contoh berikut memberikan `ALTER` kepada pengguna `datalake_user1` pada tabel `inventory` dalam database`retail`.  

```
aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:user/datalake_user1 --permissions "ALTER" --resource '{ "Table": {"DatabaseName":"retail", "Name":"inventory"}}'
```

### `CREATE_DATABASE`
<a name="perm-create-database"></a>


| Izin | Diberikan pada sumber daya ini | Penerima hibah juga membutuhkan | 
| --- | --- | --- | 
| CREATE\$1DATABASE | Katalog Data | glue:CreateDatabase | 

Prinsipal dengan izin ini dapat membuat database metadata atau tautan sumber daya di Katalog Data. Prinsipal juga dapat membuat tabel dalam database.

**Example**  
Contoh berikut memberikan `CREATE_DATABASE` kepada pengguna `datalake_user1` di AWS akun 1111-2222-3333.  

```
aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:user/datalake_user1 --permissions "CREATE_DATABASE" --resource '{ "Catalog": {}}'
```

Saat prinsipal membuat database di Katalog Data, tidak ada izin untuk data dasar yang diberikan. Izin metadata tambahan berikut diberikan (bersama dengan kemampuan untuk memberikan izin ini kepada orang lain):
+ `CREATE_TABLE`dalam database
+ `ALTER`basis data
+ `DROP`basis data

Saat membuat database, prinsipal dapat secara opsional menentukan lokasi Amazon S3. Bergantung pada apakah prinsipal memiliki izin lokasi data, `CREATE_DATABASE` izin mungkin tidak cukup untuk membuat database dalam semua kasus. Penting untuk mengingat tiga kasus berikut.


| Buat kasus penggunaan basis data | Izin diperlukan | 
| --- | --- | 
| Properti lokasi tidak ditentukan. | CREATE\$1DATABASEsudah cukup. | 
| Properti lokasi ditentukan, dan lokasi tidak dikelola oleh Lake Formation (tidak terdaftar). | CREATE\$1DATABASEsudah cukup. | 
| Properti lokasi ditentukan, dan lokasi dikelola oleh Lake Formation (terdaftar). | CREATE\$1DATABASEdiperlukan ditambah izin lokasi data pada lokasi yang ditentukan. | 

### `CREATE_TABLE`
<a name="perm-create-table"></a>


| Izin | Diberikan pada sumber daya ini | Penerima hibah juga membutuhkan | 
| --- | --- | --- | 
| CREATE\$1TABLE | DATABASE | glue:CreateTable  | 

Prinsipal dengan izin ini dapat membuat tabel metadata atau tautan sumber daya di Katalog Data dalam database yang ditentukan.

**Example**  
Contoh berikut memberikan `datalake_user1` izin pengguna untuk membuat tabel dalam `retail` database di AWS akun 1111-2222-3333.  

```
aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:user/datalake_user1 
 --permissions "CREATE_TABLE" --resource '{ "Database": {"Name":"retail"}}'
```

Saat prinsipal membuat tabel di Katalog Data, semua izin Lake Formation pada tabel diberikan kepada kepala sekolah, dengan kemampuan untuk memberikan izin ini kepada orang lain.

**Hibah Lintas Akun**  
Jika akun pemilik database memberikan `CREATE_TABLE` akun penerima, dan pengguna di akun penerima berhasil membuat tabel di database akun pemilik, aturan berikut berlaku:
+ Administrator pengguna dan data lake di akun penerima memiliki semua izin Lake Formation di atas meja. Mereka dapat memberikan izin di atas meja ke kepala sekolah lain di akun mereka. Mereka tidak dapat memberikan izin kepada kepala sekolah di akun pemilik atau akun lainnya.
+ Administrator data lake di akun pemilik dapat memberikan izin di atas meja ke kepala sekolah lain di akun mereka.

**Izin Lokasi Data**  
Saat Anda mencoba membuat tabel yang mengarah ke lokasi Amazon S3, tergantung pada apakah Anda memiliki izin lokasi data, `CREATE_TABLE` izin tersebut mungkin tidak cukup untuk membuat tabel. Penting untuk mengingat tiga kasus berikut.


| Buat kasus penggunaan tabel | Izin diperlukan | 
| --- | --- | 
| Lokasi yang ditentukan tidak dikelola oleh Lake Formation (tidak terdaftar). | CREATE\$1TABLEsudah cukup. | 
| Lokasi yang ditentukan dikelola oleh Lake Formation (terdaftar), dan database yang berisi tidak memiliki properti lokasi atau memiliki properti lokasi yang bukan awalan Amazon S3 dari lokasi tabel. | CREATE\$1TABLEdiperlukan ditambah izin lokasi data pada lokasi yang ditentukan. | 
| Lokasi yang ditentukan dikelola oleh Lake Formation (terdaftar), dan database yang berisi memiliki properti lokasi yang menunjuk ke lokasi yang terdaftar dan merupakan awalan Amazon S3 dari lokasi tabel. | CREATE\$1TABLEsudah cukup. | 

### `DATA_LOCATION_ACCESS`
<a name="perm-location"></a>


| Izin | Diberikan pada sumber daya ini | Penerima hibah juga membutuhkan | 
| --- | --- | --- | 
| DATA\$1LOCATION\$1ACCESS | Lokasi Amazon S3 | (Izin Amazon S3 di lokasi, yang harus ditentukan oleh peran yang digunakan untuk mendaftarkan lokasi.) | 

Ini adalah satu-satunya izin lokasi data. Prinsipal dengan izin ini dapat membuat database metadata atau tabel yang menunjuk ke lokasi Amazon S3 yang ditentukan. Lokasi harus didaftarkan. Kepala sekolah yang memiliki izin lokasi data di lokasi juga memiliki izin lokasi pada lokasi anak.

**Example**  
Contoh berikut memberikan izin lokasi data `s3://products/retail` ke pengguna di AWS akun `datalake_user1` 1111-2222-3333.  

```
aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:user/datalake_user1 --permissions "DATA_LOCATION_ACCESS" --resource '{ "DataLocation": {"ResourceArn":"arn:aws:s3:::products/retail"}}'
```

`DATA_LOCATION_ACCESS`tidak diperlukan untuk menanyakan atau memperbarui data yang mendasarinya. Izin ini hanya berlaku untuk membuat sumber daya Katalog Data.

Untuk informasi selengkapnya tentang izin lokasi data, lihat[Underlying data access control](access-control-underlying-data.md#data-location-permissions).

### `DELETE`
<a name="perm-delete"></a>


| Izin | Diberikan pada sumber daya ini | Penerima hibah juga membutuhkan | 
| --- | --- | --- | 
| DELETE | TABLE | (Tidak diperlukan izin IAM tambahan jika lokasi terdaftar.) | 

Prinsipal dengan izin ini dapat menyisipkan, memperbarui, dan membaca data yang mendasarinya di lokasi Amazon S3 yang ditentukan oleh tabel. Kepala sekolah juga dapat melihat tabel di konsol Lake Formation dan mengambil informasi tentang tabel dengan AWS Glue API.

**Example**  
Contoh berikut memberikan `DELETE` izin kepada pengguna `datalake_user1` pada tabel `inventory` dalam database `retail` di AWS akun 1111-2222-3333.  

```
aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:user/datalake_user1 --permissions "DELETE" --resource '{ "Table": {"DatabaseName":"retail", "Name":"inventory"}}'
```

Izin ini hanya berlaku untuk data di Amazon S3, dan bukan untuk data di penyimpanan data lain seperti Amazon Relational Database Service (Amazon RDS).

### `DESCRIBE`
<a name="perm-describe"></a>


| Izin | Diberikan pada sumber daya ini | Penerima hibah juga membutuhkan | 
| --- | --- | --- | 
| DESCRIBE |  Tautan sumber daya tabel Tautan sumber daya basis data  |  `glue:GetTable` `glue:GetDatabase`  | 
| DESCRIBE | DATABASE | glue:GetDatabase | 
| DESCRIBE | TABLE | glue:GetTable | 
| DESCRIBE | LF-Tag |  `glue:GetTable` `glue:GetDatabase` `lakeformation:GetResourceLFTags` `lakeformation:ListLFTags` `lakeformation:GetLFTag` `lakeformation:SearchTablesByLFTags` `lakeformation:SearchDatabasesByLFTags`  | 

Kepala sekolah dengan izin ini dapat melihat database, tabel, atau tautan sumber daya yang ditentukan. Tidak ada izin Katalog Data lainnya yang diberikan secara implisit, dan tidak ada izin akses data yang diberikan secara implisit. Database dan tabel muncul di editor kueri layanan terintegrasi, tetapi tidak ada kueri yang dapat dibuat terhadapnya kecuali izin Lake Formation lainnya (misalnya,`SELECT`) diberikan.

Misalnya, pengguna yang memiliki `DESCRIBE` database dapat melihat database dan semua metadata database (deskripsi, lokasi, dan sebagainya). Namun, pengguna tidak dapat mengetahui tabel mana yang berisi database, dan tidak dapat menjatuhkan, mengubah, atau membuat tabel dalam database. Demikian pula, pengguna yang memiliki `DESCRIBE` tabel dapat melihat metadata tabel dan tabel (deskripsi, skema, lokasi, dan sebagainya), tetapi tidak dapat menjatuhkan, mengubah, atau menjalankan kueri terhadap tabel.

Berikut ini adalah beberapa aturan tambahan untuk`DESCRIBE`:
+ Jika pengguna memiliki izin Lake Formation lainnya pada database, tabel, atau tautan sumber daya, secara implisit `DESCRIBE` diberikan.
+ Jika pengguna hanya memiliki `SELECT` subset kolom untuk tabel (sebagian`SELECT`), pengguna dibatasi untuk hanya melihat kolom tersebut.
+ Anda tidak dapat memberikan `DESCRIBE` kepada pengguna yang memiliki pilihan sebagian pada tabel. Sebaliknya, Anda tidak dapat menentukan penyertaan kolom atau daftar pengecualian untuk tabel yang `DESCRIBE` diberikan pada.

**Example**  
Contoh berikut memberikan `DESCRIBE` izin kepada pengguna `datalake_user1` pada tautan `inventory-link` sumber daya tabel di database `retail` di AWS akun 1111-2222-3333.  

```
aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:user/datalake_user1 --permissions "DESCRIBE" --resource '{ "Table": {"DatabaseName":"retail", "Name":"inventory-link"}}'
```

### `DROP`
<a name="perm-drop"></a>


| Izin | Diberikan pada sumber daya ini | Penerima hibah juga membutuhkan | 
| --- | --- | --- | 
| DROP | DATABASE | glue:DeleteDatabase | 
| DROP | TABLE | glue:DeleteTable  | 
| DROP | LF-Tag | lakeformation:DeleteLFTag  | 
| DROP |  Tautan sumber daya basis data Tautan sumber daya tabel  | `glue:DeleteDatabase` `glue:DeleteTable`  | 

Prinsipal dengan izin ini dapat menjatuhkan database, tabel, atau tautan sumber daya di Katalog Data. Anda tidak dapat memberikan DROP pada database ke akun atau organisasi eksternal.

**Awas**  
Menjatuhkan database menjatuhkan semua tabel dalam database.

**Example**  
Contoh berikut memberikan `DROP` izin kepada pengguna pada database `datalake_user1` di AWS akun `retail` 1111-2222-3333.  

```
aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:user/datalake_user1 --permissions "DROP" --resource '{ "Database": {"Name":"retail"}}'
```

**Example**  
Contoh berikut memberikan `DROP` kepada pengguna `datalake_user1` pada tabel `inventory` dalam database`retail`.  

```
aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:user/datalake_user1 --permissions "DROP" --resource '{ "Table": {"DatabaseName":"retail", "Name":"inventory"}}'
```

**Example**  
Contoh berikut memberikan `DROP` kepada pengguna `datalake_user1` pada link sumber daya tabel `inventory-link` dalam database`retail`.  

```
aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:user/datalake_user1 --permissions "DROP" --resource '{ "Table": {"DatabaseName":"retail", "Name":"inventory-link"}}'
```

### `INSERT`
<a name="perm-insert"></a>


| Izin | Diberikan pada sumber daya ini | Penerima hibah juga membutuhkan | 
| --- | --- | --- | 
| INSERT | TABLE | (Tidak diperlukan izin IAM tambahan jika lokasi terdaftar.) | 

Prinsipal dengan izin ini dapat menyisipkan, memperbarui, dan membaca data yang mendasarinya di lokasi Amazon S3 yang ditentukan oleh tabel. Kepala sekolah juga dapat melihat tabel di konsol Lake Formation dan mengambil informasi tentang tabel dengan AWS Glue API.

**Example**  
Contoh berikut memberikan `INSERT` izin kepada pengguna `datalake_user1` pada tabel `inventory` dalam database `retail` di AWS akun 1111-2222-3333.  

```
aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:user/datalake_user1 --permissions "INSERT" --resource '{ "Table": {"DatabaseName":"retail", "Name":"inventory"}}'
```

Izin ini hanya berlaku untuk data di Amazon S3, dan bukan untuk data di penyimpanan data lain seperti Amazon RDS.

### `SELECT`
<a name="perm-select"></a>


| Izin | Diberikan pada sumber daya ini | Penerima hibah juga membutuhkan | 
| --- | --- | --- | 
| SELECT |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/lake-formation/latest/dg/lf-permissions-reference.html)  | (Tidak diperlukan izin IAM tambahan jika lokasi terdaftar.) | 

Prinsipal dengan izin ini dapat melihat tabel di Katalog Data, dan dapat menanyakan data yang mendasarinya di Amazon S3 di lokasi yang ditentukan oleh tabel. Kepala sekolah dapat melihat tabel di konsol Lake Formation dan mengambil informasi tentang tabel dengan AWS Glue API. Jika pemfilteran kolom diterapkan saat izin ini diberikan, prinsipal dapat melihat metadata hanya untuk kolom yang disertakan dan hanya dapat menanyakan data dari kolom yang disertakan.

**catatan**  
Merupakan tanggung jawab layanan analitik terintegrasi untuk menerapkan pemfilteran kolom saat memproses kueri.

**Example**  
Contoh berikut memberikan `SELECT` izin kepada pengguna `datalake_user1` pada tabel `inventory` dalam database `retail` di AWS akun 1111-2222-3333.  

```
aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:user/datalake_user1 --permissions "SELECT" --resource '{ "Table": {"DatabaseName":"retail", "Name":"inventory"}}'
```

Izin ini hanya berlaku untuk data di Amazon S3, dan bukan untuk data di penyimpanan data lain seperti Amazon RDS.

Anda dapat memfilter (membatasi akses ke) kolom tertentu dengan daftar inklusi opsional atau daftar pengecualian. Daftar inklusi menentukan kolom yang dapat diakses. Daftar pengecualian menentukan kolom yang tidak dapat diakses. Dengan tidak adanya daftar inklusi atau pengecualian, semua kolom tabel dapat diakses.

Hasil `glue:GetTable` pengembalian hanya kolom yang pemanggil memiliki izin untuk melihat. Layanan terintegrasi seperti Amazon Athena dan Amazon Redshift menghormati inklusi kolom dan daftar pengecualian.

**Example**  
Contoh berikut memberikan `SELECT` kepada pengguna `datalake_user1` pada tabel `inventory` menggunakan daftar inklusi.  

```
aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:user/datalake_user1 --permissions "SELECT"  --resource '{ "TableWithColumns": {"DatabaseName":"retail", "Name":"inventory", "ColumnNames": ["prodcode","location","period","withdrawals"]}}'
```

**Example**  
Contoh berikutnya ini memberikan `SELECT` pada `inventory` tabel menggunakan daftar pengecualian.  

```
aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:user/datalake_user1 --permissions "SELECT"  --resource '{ "TableWithColumns": {"DatabaseName":"retail", "Name":"inventory", "ColumnWildcard": {"ExcludedColumnNames": ["intkey", "prodcode"]}}}'
```

Pembatasan berikut berlaku untuk `SELECT` izin:
+ Saat memberikan`SELECT`, Anda tidak dapat menyertakan opsi hibah jika pemfilteran kolom diterapkan.
+ Anda tidak dapat membatasi kontrol akses pada kolom yang merupakan kunci partisi.
+ Seorang kepala sekolah dengan `SELECT` izin pada subset kolom dalam tabel tidak dapat diberikan`ALTER`,, `DROP``DELETE`, atau `INSERT` izin pada tabel itu. Demikian pula, kepala sekolah dengan`ALTER`,`DROP`,`DELETE`, atau `INSERT` izin di atas meja tidak dapat diberikan `SELECT` izin dengan pemfilteran kolom.

`SELECT`Izin selalu muncul di halaman **izin Data** konsol Lake Formation sebagai baris terpisah. Gambar berikut ini menunjukkan bahwa `SELECT` diberikan kepada pengguna `datalake_user2` dan `datalake_user3` pada semua kolom dalam `inventory` tabel.

![\[Halaman izin data menunjukkan empat baris. Baris pertama dan ketiga mencantumkan izin Hapus dan Sisipkan dengan Tabel tipe sumber daya dengan sumber daya yang ditampilkan sebagai inventaris, dan baris kedua dan keempat mencantumkan Kolom Pilih izin dengan tipe sumber daya, dan dengan sumber daya yang ditampilkan sebagai retail.inventory.*.\]](http://docs.aws.amazon.com/id_id/lake-formation/latest/dg/images/data-permissions-dialog-select-cross.png)


### `Super`
<a name="perm-super"></a>


| Izin | Diberikan pada sumber daya ini | Penerima hibah juga membutuhkan | 
| --- | --- | --- | 
| Super | DATABASE | glue:\$1Database\$1  | 
| Super | TABLE | glue:\$1Table\$1, glue:\$1Partition\$1 | 

Izin ini memungkinkan kepala sekolah untuk melakukan setiap operasi Lake Formation yang didukung pada database atau tabel. Anda tidak dapat memberikan `Super` pada database ke akun eksternal.

Izin ini dapat hidup berdampingan dengan izin Lake Formation lainnya. Misalnya, Anda dapat memberikan `INSERT` izin`Super`,`SELECT`, dan pada tabel metadata. Kepala sekolah kemudian dapat melakukan semua operasi yang didukung di atas meja. Saat Anda mencabut`Super`, `INSERT` izin `SELECT` dan tetap ada, dan prinsipal hanya dapat melakukan operasi pilih dan sisipkan.

Alih-alih memberikan `Super` kepada kepala sekolah individu, Anda dapat memberikannya kepada grup`IAMAllowedPrincipals`. `IAMAllowedPrincipals`Grup dibuat secara otomatis dan mencakup semua pengguna dan peran IAM yang diizinkan mengakses sumber daya Katalog Data Anda oleh kebijakan IAM Anda. Ketika `Super` diberikan kepada `IAMAllowedPrincipals` sumber daya Katalog Data, akses ke sumber daya dikendalikan secara efektif hanya oleh kebijakan IAM.

Anda dapat memiliki `Super` izin untuk secara otomatis diberikan kepada `IAMAllowedPrincipals` sumber daya katalog baru dengan memanfaatkan opsi di halaman **Pengaturan** konsol Lake Formation.

![\[Kotak dialog pengaturan katalog data memiliki subtitle “Izin default untuk database dan tabel yang baru dibuat,” dan memiliki dua kotak centang, yang dijelaskan dalam teks.\]](http://docs.aws.amazon.com/id_id/lake-formation/latest/dg/images/settings-page.png)

+ `Super``IAMAllowedPrincipals`Untuk memberikan semua database baru, pilih **Gunakan hanya kontrol akses IAM untuk database baru**.
+ `Super``IAMAllowedPrincipals`Untuk memberikan semua tabel baru dalam database baru, pilih **Gunakan hanya kontrol akses IAM untuk tabel baru di database baru**.
**catatan**  
Opsi ini menyebabkan kotak centang **Gunakan hanya kontrol akses IAM untuk tabel baru dalam database ini** di kotak dialog **Buat database** yang akan dipilih secara default. Itu tidak lebih dari itu. Ini adalah kotak centang di kotak dialog **Buat database** yang memungkinkan pemberian `Super` to`IAMAllowedPrincipals`.

Opsi halaman **Pengaturan** ini diaktifkan secara default. Untuk informasi selengkapnya, lihat berikut ini:
+ [Mengubah pengaturan default untuk data lake](change-settings.md)
+ [Memutakhirkan izin AWS Glue data ke model AWS Lake Formation](upgrade-glue-lake-formation.md)

### `SUPER_USER`
<a name="perm-super-user"></a>


| Izin | Diberikan pada sumber daya ini | Penerima hibah juga membutuhkan | 
| --- | --- | --- | 
| Super user | Catalog | glue:GetCatalog  | 

Anda dapat memberikan `Super user` izin hanya kepada prinsipal tertentu pada katalog dalam Katalog Data default. Anda tidak dapat memberikan `Super user` izin pada katalog default atau jenis sumber daya lain seperti database dan tabel atau kepada prinsipal di akun eksternal. `Super user`Izin izin memungkinkan kepala sekolah untuk melakukan setiap operasi Lake Formation yang didukung pada database dan tabel dalam katalog yang diberikan. 

Dengan `Super user` izin, kepala sekolah (penerima hibah) dapat melakukan tindakan berikut pada sumber daya (katalog, database, dan tabel) dalam katalog:
+ `CREATE_DATABASE`, `DESCRIBE` izin pada katalog.
+ `DROP`,`ALTER`,`CREATE_TABLE`, `DESCRIBE` (efektif`SUPER`) izin pada semua database dalam katalog.
+ `DROP`,`ALTER`,`DESCRIBE`,`SELECT`,`INSERT`, `DELETE` (efektif`SUPER`) izin pada semua tabel dalam semua database dalam katalog.
+ `All`(efektif SUPER) izin pada katalog dalam katalog.
+ Grantable (kemampuan untuk memberikan izin ini kepada prinsipal lain) izin pada semua katalog, database, dan tabel dalam katalog.

Dengan `Super user` izin pada sumber daya katalog, penerima hibah tidak diizinkan untuk melakukan atau mendelegasikan `ALTER` dan `DROP` tindakan pada katalog.

### `ASSOCIATE`
<a name="perm-associate"></a>


| Izin | Diberikan pada sumber daya ini | Penerima hibah juga membutuhkan | 
| --- | --- | --- | 
| ASSOCIATE | LF-Tag |   `glue:GetDatabase` `glue:GetTable`  `lakeformation:AddLFTagsToResource"` `lakeformation:RemoveLFTagsFromResource"` `lakeformation:GetResourceLFTags` `lakeformation:ListLFTags` `lakeformation:GetLFTag` `lakeformation:SearchTablesByLFTags` `lakeformation:SearchDatabasesByLFTags`  | 

Prinsipal dengan izin ini pada LF-tag dapat menetapkan LF-tag ke sumber daya Katalog Data. Memberikan hibah `ASSOCIATE` implisit. `DESCRIBE`

**Example**  
Contoh ini memberikan `ASSOCIATE` izin kepada pengguna `datalake_user1` pada LF-tag dengan kunci. `module` Ini memberikan izin untuk melihat dan menetapkan semua nilai untuk kunci itu, seperti yang ditunjukkan oleh tanda bintang (\$1)..  

```
aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:user/datalake_user1 --permissions "ASSOCIATE" --resource '{ "LFTag": {"CatalogId":"111122223333","TagKey":"module","TagValues":["*"]}}'
```

# Mengintegrasikan Pusat Identitas IAM
<a name="identity-center-integration"></a>

Dengan AWS IAM Identity Center, Anda dapat terhubung ke penyedia identitas (IdPs) dan mengelola akses secara terpusat untuk pengguna dan grup di seluruh layanan AWS analitik. Anda dapat mengintegrasikan penyedia identitas seperti Okta, Ping, dan Microsoft Entra ID (sebelumnya Azure Active Directory) dengan IAM Identity Center bagi pengguna di organisasi Anda untuk mengakses data menggunakan pengalaman masuk tunggal. IAM Identity Center juga mendukung menghubungkan penyedia identitas pihak ketiga tambahan.

Untuk informasi selengkapnya, lihat [Penyedia identitas yang didukung](https://docs.aws.amazon.com/singlesignon/latest/userguide/supported-idps.html) di Panduan AWS IAM Identity Center Pengguna.

Anda dapat mengonfigurasi AWS Lake Formation sebagai aplikasi yang diaktifkan di Pusat Identitas IAM, dan administrator data lake dapat memberikan izin halus kepada pengguna dan grup yang berwenang pada sumber daya. AWS Glue Data Catalog 

Pengguna dari organisasi Anda dapat masuk ke aplikasi apa pun yang diaktifkan Pusat Identitas menggunakan penyedia identitas organisasi Anda, dan kumpulan data kueri yang menerapkan izin Lake Formation. Dengan integrasi ini, Anda dapat mengelola akses ke AWS layanan, tanpa membuat beberapa peran IAM.

[Propagasi identitas tepercaya](https://docs.aws.amazon.com//singlesignon/latest/userguide/trustedidentitypropagation-overview.html) adalah AWS IAM Identity Center fitur yang Layanan AWS dapat digunakan oleh administrator terhubung untuk memberikan dan mengaudit akses ke data layanan. Akses ke data ini didasarkan pada atribut pengguna seperti asosiasi grup. Menyiapkan propagasi identitas tepercaya memerlukan kolaborasi antara administrator yang terhubung Layanan AWS dan administrator Pusat Identitas IAM. Untuk informasi lebih lanjut, lihat [Prasyarat](https://docs.aws.amazon.com//singlesignon/latest/userguide/trustedidentitypropagation-overall-prerequisites.html) dan pertimbangan.

Untuk batasan, lihat [Keterbatasan integrasi Pusat Identitas IAM](identity-center-lf-notes.md).

**Topics**
+ [Prasyarat untuk integrasi IAM Identity Center dengan Lake Formation](prerequisites-identity-center.md)
+ [Menghubungkan Lake Formation dengan IAM Identity Center](connect-lf-identity-center.md)
+ [Memperbarui integrasi Pusat Identitas IAM](update-lf-identity-center-connection.md)
+ [Menghapus koneksi Lake Formation dengan IAM Identity Center](delete-lf-identity-center-connection.md)
+ [Memberikan izin kepada pengguna dan grup](grant-permissions-sso.md)
+ [Termasuk konteks pengguna Pusat Identitas IAM di log CloudTrail](identity-center-ct-logs.md)

# Prasyarat untuk integrasi IAM Identity Center dengan Lake Formation
<a name="prerequisites-identity-center"></a>

 Berikut ini adalah prasyarat untuk mengintegrasikan IAM Identity Center dengan Lake Formation. 

1. Aktifkan Pusat Identitas IAM - Mengaktifkan IAM Identity Center adalah prasyarat untuk mendukung otentikasi dan propagasi identitas.

1. Pilih sumber identitas Anda — Setelah mengaktifkan Pusat Identitas IAM, Anda harus memiliki penyedia identifikasi untuk mengelola pengguna dan grup. Anda dapat menggunakan direktori Pusat Identitas bawaan sebagai sumber identitas atau menggunakan iDP eksternal, seperti Microsoft Entra ID atau Okta. 

    Untuk informasi selengkapnya, lihat [Mengelola sumber identitas Anda](https://docs.aws.amazon.com/singlesignon/latest/userguide/manage-your-identity-source.html) dan [Connect ke penyedia identitas eksternal](https://docs.aws.amazon.com/singlesignon/latest/userguide/manage-your-identity-source-idp.html) di Panduan AWS IAM Identity Center Pengguna. 

1. Buat peran IAM — Peran yang membuat koneksi IAM Identity Center memerlukan izin untuk membuat dan memodifikasi konfigurasi aplikasi di Lake Formation dan IAM Identity Center seperti dalam kebijakan inline berikut. 

   Anda perlu menambahkan izin per praktik terbaik IAM. Izin khusus dirinci dalam prosedur berikut. Untuk informasi selengkapnya, lihat [Memulai Pusat Identitas IAM](https://docs.aws.amazon.com/singlesignon/latest/userguide/get-started-enable-identity-center.html).

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": [
                   "lakeformation:CreateLakeFormationIdentityCenterConfiguration",
                   "sso:CreateApplication",
                   "sso:PutApplicationAssignmentConfiguration",
                   "sso:PutApplicationAuthenticationMethod",
                   "sso:PutApplicationGrant",
                   "sso:PutApplicationAccessScope"
               ],
               "Resource": [
                   "*"
               ]
           }
       ]
   }
   ```

------

    Jika Anda berbagi sumber daya Katalog Data dengan eksternal Akun AWS atau organisasi, Anda harus memiliki izin AWS Resource Access Manager (AWS RAM) untuk membuat pembagian sumber daya. Untuk informasi selengkapnya tentang izin yang diperlukan untuk berbagi sumber daya, lihat Prasyarat [berbagi data lintas akun](cross-account-prereqs.md). 

Kebijakan inline berikut berisi izin khusus yang diperlukan untuk melihat, memperbarui, dan menghapus properti integrasi Lake Formation dengan IAM Identity Center.
+ Gunakan kebijakan inline berikut untuk mengizinkan peran IAM untuk melihat integrasi Lake Formation dengan IAM Identity Center.

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

****  

  ```
  {
      "Version":"2012-10-17",		 	 	 
      "Statement": [
          {
              "Effect": "Allow",
              "Action": [
                  "lakeformation:DescribeLakeFormationIdentityCenterConfiguration",
                  "sso:DescribeApplication"
              ],
              "Resource": [
                  "*"
              ]
          }
      ]
  }
  ```

------
+ Gunakan kebijakan inline berikut untuk mengizinkan peran IAM memperbarui integrasi Lake Formation dengan IAM Identity Center. Kebijakan ini juga mencakup izin opsional yang diperlukan untuk berbagi sumber daya dengan akun eksternal.

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

****  

  ```
  {
      "Version":"2012-10-17",		 	 	 
      "Statement": [
          {
              "Effect": "Allow",
              "Action": [
                  "lakeformation:UpdateLakeFormationIdentityCenterConfiguration",
                  "lakeformation:DescribeLakeFormationIdentityCenterConfiguration",
                  "sso:DescribeApplication",
                  "sso:UpdateApplication"
              ],
              "Resource": [
                  "*"
              ]
          }
      ]
  }
  ```

------
+ Gunakan kebijakan inline berikut untuk mengizinkan peran IAM menghapus integrasi Lake Formation dengan IAM Identity Center.

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

****  

  ```
  {
      "Version":"2012-10-17",		 	 	 
      "Statement": [
          {
              "Effect": "Allow",
              "Action": [
                  "lakeformation:DeleteLakeFormationIdentityCenterConfiguration",
                  "sso:DeleteApplication"
              ],
              "Resource": [
                  "*"
              ]
          }
      ]
  }
  ```

------
+ Untuk izin IAM yang diperlukan untuk memberikan atau mencabut izin data lake bagi pengguna dan grup Pusat Identitas IAM, lihat. [Izin IAM diperlukan untuk memberikan atau mencabut izin Lake Formation](required-permissions-for-grant.md) 

*Deskripsi izin*
+ `lakeformation:CreateLakeFormationIdentityCenterConfiguration`— Membuat konfigurasi iDC Lake Formation.
+ `lakeformation:DescribeLakeFormationIdentityCenterConfiguration`— Menjelaskan konfigurasi IDC yang ada.
+ `lakeformation:DeleteLakeFormationIdentityCenterConfiguration`— Memberikan kemampuan untuk menghapus konfigurasi Lake Formation IDC yang ada. 
+ `lakeformation:UpdateLakeFormationIdentityCenterConfiguration`— Digunakan untuk mengubah konfigurasi Lake Formation yang ada.
+ `sso:CreateApplication`— Digunakan untuk membuat aplikasi IAM Identity Center.
+ `sso:DeleteApplication`— Digunakan untuk menghapus aplikasi IAM Identity Center.
+ `sso:UpdateApplication`— Digunakan untuk memperbarui aplikasi Pusat Identitas IAM.
+ `sso:PutApplicationGrant`— Digunakan untuk mengubah informasi penerbit token tepercaya.
+ `sso:PutApplicationAuthenticationMethod`— Memberikan akses otentikasi Lake Formation.
+ `sso:GetApplicationGrant`— Digunakan untuk mencantumkan informasi penerbit token tepercaya.
+ `sso:DeleteApplicationGrant`— Menghapus informasi penerbit token kepercayaan.
+ `sso:PutApplicationAccessScope`— Menambahkan atau memperbarui daftar target resmi untuk ruang lingkup akses Pusat Identitas IAM untuk aplikasi.
+ `sso:PutApplicationAssignmentConfiguration`— Digunakan untuk mengkonfigurasi bagaimana pengguna mendapatkan akses ke aplikasi.

# Menghubungkan Lake Formation dengan IAM Identity Center
<a name="connect-lf-identity-center"></a>

Sebelum Anda dapat menggunakan Pusat Identitas IAM untuk mengelola identitas untuk memberikan akses ke sumber daya Katalog Data menggunakan Lake Formation, Anda harus menyelesaikan langkah-langkah berikut. Anda dapat membuat integrasi IAM Identity Center menggunakan konsol Lake Formation atau AWS CLI. 

------
#### [ Konsol Manajemen AWS ]

**Untuk menghubungkan Lake Formation dengan IAM Identity Center**

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 kiri, pilih integrasi **Pusat Identitas IAM**.   
![\[Layar integrasi IAM Identity Center dengan Identity Center ARN.\]](http://docs.aws.amazon.com/id_id/lake-formation/latest/dg/images/identity-center-integ.png)

1. (Opsional) Masukkan satu atau lebih unit organisasi Akun AWS IDs, organisasi IDs, and/or organisasi yang valid IDs untuk mengizinkan akun eksternal mengakses sumber daya Katalog Data. Ketika pengguna atau grup IAM Identity Center mencoba mengakses sumber daya Katalog Data yang dikelola Lake Formation, Lake Formation mengambil peran IAM untuk mengotorisasi akses metadata. Jika peran IAM milik akun eksternal yang tidak memiliki kebijakan AWS Glue sumber daya dan pembagian AWS RAM sumber daya, pengguna dan grup Pusat Identitas IAM tidak akan dapat mengakses sumber daya meskipun mereka memiliki izin Lake Formation.

   Lake Formation menggunakan layanan AWS Resource Access Manager (AWS RAM) untuk berbagi sumber daya dengan akun dan organisasi eksternal. AWS RAM mengirimkan undangan ke akun penerima hibah untuk menerima atau menolak pembagian sumber daya. 

   Untuk informasi selengkapnya, lihat [Menerima undangan berbagi sumber daya dari AWS RAM](accepting-ram-invite.md).
**catatan**  
Lake Formation mengizinkan peran IAM dari akun eksternal untuk bertindak sebagai peran operator atas nama pengguna dan grup Pusat Identitas IAM untuk mengakses sumber daya Katalog Data, tetapi izin hanya dapat diberikan pada sumber daya Katalog Data dalam akun yang dimiliki. Jika Anda mencoba memberikan izin kepada pengguna dan grup Pusat Identitas IAM pada sumber daya Katalog Data di akun eksternal, Lake Formation akan menampilkan kesalahan berikut - “Hibah lintas akun tidak didukung untuk prinsipal.” 

1. (Opsional) Pada layar **integrasi Create Lake Formation**, tentukan aplikasi pihak ketiga yang dapat mengakses data di lokasi Amazon S3 yang terdaftar di Lake Formation. ARNs Lake Formation menjual kredensi sementara cakupan dalam bentuk token ke lokasi Amazon S3 AWS STS terdaftar berdasarkan izin efektif, sehingga aplikasi yang berwenang dapat mengakses data atas nama pengguna.

1. (Opsional) Pada layar **integrasi Create Lake Formation**, centang tandai kotak centang Amazon Redshift Connect di Propagasi Identitas Tepercaya untuk mengaktifkan penemuan Izin Federasi Amazon Redshift melalui IDC. Lake Formation menyebarkan identitas ke hilir berdasarkan izin yang efektif, sehingga aplikasi yang berwenang dapat mengakses data atas nama pengguna.

1. Pilih **Kirim**.

   Setelah administrator Lake Formation menyelesaikan langkah-langkah dan membuat integrasi, properti IAM Identity Center muncul di konsol Lake Formation. Menyelesaikan tugas-tugas ini menjadikan Lake Formation sebagai aplikasi yang diaktifkan Pusat Identitas IAM. Properti di konsol termasuk status integrasi. Status integrasi mengatakan `Success` kapan selesai. Status ini menunjukkan apakah konfigurasi IAM Identity Center selesai. 

------
#### [ AWS CLI ]
+ Contoh berikut menunjukkan cara membuat integrasi Lake Formation dengan IAM Identity Center. Anda juga dapat menentukan `Status` (`ENABLED`,`DISABLED`) aplikasi. 

  ```
  aws lakeformation create-lake-formation-identity-center-configuration \
      --catalog-id <123456789012> \
      --instance-arn <arn:aws:sso:::instance/ssoins-112111f12ca1122p> \
      --share-recipients '[{"DataLakePrincipalIdentifier": "<123456789012>"},
                          {"DataLakePrincipalIdentifier": "<555555555555>"}]' \
      --external-filtering '{"AuthorizedTargets": ["<app arn1>", "<app arn2>"], "Status": "ENABLED"}'
  ```
+ Contoh berikut menunjukkan cara melihat integrasi Lake Formation dengan IAM Identity Center.

  ```
  aws lakeformation describe-lake-formation-identity-center-configuration
   --catalog-id <123456789012>
  ```
+ Contoh berikut menunjukkan cara mengaktifkan `Redshift:Connect` Otorisasi. Otorisasi dapat DIAKTIFKAN atau DINONAKTIFKAN.

  ```
  aws lakeformation  create-lake-formation-identity-center-configuration \
  --instance-arn <arn:aws:sso:::instance/ssoins-112111f12ca1122p> \
  --service-integrations '[{
    "Redshift": [{
      "RedshiftConnect": {
        "Authorization": "ENABLED"
      }
    }]
  }]'
  ```
+ Gunakan `describe-lake-formation-identity-center-configuration` perintah untuk menggambarkan aplikasi pusat identitas pembentukan danau. `Redshift:Connect`integrasi layanan sangat penting untuk propagasi identitas IDC lintas layanan dan lintas cluster:

  ```
  aws lakeformation describe-lake-formation-identity-center-configuration --catalog-id <123456789012>
  ```

  Respons:

  ```
  {
      "CatalogId": "CATALOG ID",
      "InstanceArn": "INSTANCE ARN",
      "ApplicationArn": "APPLICATION ARN",
      "ShareRecipients": [],
      "ServiceIntegrations": [
          {
              "Redshift": [
                  {
                      "RedshiftConnect": {
                          "Authorization": "ENABLED"
                      }
                  }
              ]
          }
      ]
  }
  ```

------

## Menggunakan Pusat Identitas IAM di beberapa Wilayah AWS
<a name="connect-lf-identity-center-multi-region"></a>

Lake Formation mendukung IAM Identity Center dalam beberapa Wilayah AWS. Anda dapat memperluas Pusat Identitas IAM dari Wilayah utama Anda Wilayah AWS ke Wilayah tambahan untuk meningkatkan kinerja melalui kedekatan dengan pengguna dan keandalan. Ketika Wilayah baru ditambahkan di Pusat Identitas IAM, Anda dapat membuat aplikasi Lake Formation Identity Center di Wilayah baru tanpa mereplikasi identitas dari Wilayah utama. Untuk detail selengkapnya untuk memulai Pusat Identitas IAM di beberapa Wilayah, lihat Pusat Identitas [IAM Multi-Wilayah di Panduan Pengguna Pusat](https://docs.aws.amazon.com/singlesignon/latest/userguide/multi-region-iam-identity-center.html) *Identitas IAM*.

# Memperbarui integrasi Pusat Identitas IAM
<a name="update-lf-identity-center-connection"></a>

Setelah membuat koneksi, Anda dapat menambahkan aplikasi pihak ketiga untuk integrasi Pusat Identitas IAM untuk diintegrasikan dengan Lake Formation, dan mendapatkan akses ke data Amazon S3 atas nama pengguna. Anda juga dapat menghapus aplikasi yang ada dari integrasi IAM Identity Center. Anda dapat menambah atau menghapus aplikasi menggunakan konsol Lake Formation, AWS CLI, dan menggunakan [UpdateLakeFormationIdentityCenterConfiguration](https://docs.aws.amazon.com/lake-formation/latest/APIReference/API_UpdateLakeFormationIdentityCenterConfiguration.html)operasi. 

**catatan**  
Setelah membuat integrasi IAM Identity Center, Anda tidak dapat memperbarui instance`ARN`.

------
#### [ Konsol Manajemen AWS ]

**Untuk memperbarui koneksi Pusat Identitas IAM yang ada dengan Lake Formation**

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 kiri, pilih integrasi **Pusat Identitas IAM**.

1. Pilih **Tambahkan** pada halaman **integrasi Pusat Identitas IAM**.

1. Masukkan satu atau beberapa unit organisasi Akun AWS IDs IDs, and/or organisasi yang valid IDs untuk mengizinkan akun eksternal mengakses sumber daya Katalog Data. 

1. Pada layar **Tambahkan aplikasi**, masukkan aplikasi aplikasi IDs pihak ketiga yang ingin Anda integrasikan dengan Lake Formation. 

1. Pilih **Tambahkan**.

1. (Optioanlly) Pada halaman **integrasi Pusat Identitas IAM**, Anda dapat mengaktifkan propagasi identitas tepercaya untuk Amazon Redshift menghubungkan atau menonaktifkannya. Lake Formation menyebarkan identitas ke hilir berdasarkan izin yang efektif, sehingga aplikasi yang berwenang dapat mengakses data atas nama pengguna.

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

Anda dapat menambah atau menghapus aplikasi pihak ketiga untuk integrasi IAM Identity Center dengan menjalankan AWS CLI perintah berikut. Saat Anda menyetel status pemfilteran eksternal ke`ENABLED`, ini memungkinkan Pusat Identitas IAM untuk menyediakan manajemen identitas bagi aplikasi pihak ketiga untuk mengakses data yang dikelola oleh Lake Formation. Anda juga dapat mengaktifkan atau menonaktifkan integrasi IAM Identity Center dengan mengatur status aplikasi. 

```
aws lakeformation update-lake-formation-identity-center-configuration \
 --external-filtering '{"AuthorizedTargets": ["<app arn1>", "<app arn2>"], "Status": "ENABLED"}'\
 --share-recipients '[{"DataLakePrincipalIdentifier": "<444455556666>"}
                     {"DataLakePrincipalIdentifier": "<777788889999>"}]' \
 --application-status ENABLED
```

Jika Anda memiliki aplikasi LF IDC yang ada, tetapi ingin menambahkan `Redshift:Connect` otorisasi, Anda dapat menggunakan yang berikut ini untuk memperbarui Aplikasi IDC Lake Formation Anda. Otorisasi dapat DIAKTIFKAN atau DINONAKTIFKAN.

```
aws lakeformation update-lake-formation-identity-center-configuration \
--service-integrations '[{                                                            
  "Redshift": [{
    "RedshiftConnect": {
      "Authorization": "ENABLED"
    }
  }]
}]'
```

------

# Menghapus koneksi Lake Formation dengan IAM Identity Center
<a name="delete-lf-identity-center-connection"></a>

 Jika Anda ingin menghapus integrasi Pusat Identitas IAM yang ada, Anda dapat melakukannya menggunakan konsol Lake Formation, AWS CLI, atau [DeleteLakeFormationIdentityCenterConfiguration](https://docs.aws.amazon.com/lake-formation/latest/APIReference/API_DeleteLakeFormationIdentityCenterConfiguration.html)operasi.

------
#### [ Konsol Manajemen AWS ]

**Untuk menghapus koneksi Pusat Identitas IAM yang ada dengan Lake Formation**

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 kiri, pilih integrasi **Pusat Identitas IAM**.

1. Pilih **Hapus** pada halaman **integrasi Pusat Identitas IAM**.

1. Pada layar **Konfirmasi integrasi**, konfirmasikan tindakan, dan pilih **Hapus**.

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

Anda dapat menghapus integrasi IAM Identity Center dengan menjalankan AWS CLI perintah berikut. 

```
 aws lakeformation delete-lake-formation-identity-center-configuration \
     --catalog-id <123456789012>
```

------

# Memberikan izin kepada pengguna dan grup
<a name="grant-permissions-sso"></a>

Administrator data lake Anda dapat memberikan izin kepada pengguna dan grup Pusat Identitas IAM pada sumber daya Katalog Data (database, tabel, dan tampilan) untuk memudahkan akses data. Untuk memberikan atau mencabut izin data lake, pemberi memerlukan izin untuk tindakan Pusat Identitas IAM berikut.
+ [DescribeUser](https://docs.aws.amazon.com/singlesignon/latest/IdentityStoreAPIReference/API_DescribeUser.html)
+ [DescribeGroup](https://docs.aws.amazon.com/singlesignon/latest/IdentityStoreAPIReference/API_DescribeGroup.html)
+ [DescribeInstance](https://docs.aws.amazon.com/singlesignon/latest/APIReference/API_DescribeInstance.html)

Anda dapat memberikan izin menggunakan konsol Lake Formation, API, atau. AWS CLI

Untuk informasi selengkapnya tentang pemberian izin, lihat. [Memberikan izin pada sumber daya Katalog Data](granting-catalog-permissions.md) 

**catatan**  
Anda hanya dapat memberikan izin pada sumber daya di akun Anda. Untuk memberikan izin kepada pengguna dan grup pada sumber daya yang dibagikan dengan Anda, Anda harus menggunakan AWS RAM pembagian sumber daya.

------
#### [ Konsol Manajemen AWS ]

**Untuk memberikan izin kepada pengguna dan grup**

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. Pilih **Izin data lake** di bawah **Izin** di konsol Lake Formation. 

1. Pilih **Grant**.

1. Pada halaman **Izin data lake Grant**, pilih, pengguna dan grup **Pusat Identitas IAM**. 

1. Pilih **Tambah** untuk memilih pengguna dan grup untuk memberikan izin.  
![\[Berikan layar izin danau data dengan pengguna dan grup Pusat Identitas IAM yang dipilih.\]](http://docs.aws.amazon.com/id_id/lake-formation/latest/dg/images/identity-center-grant-perm.png)

1. Pada layar **Tetapkan pengguna dan grup**, pilih and/or grup pengguna untuk memberikan izin.

   Pilih **Tetapkan**.  
![\[Berikan layar izin danau data dengan pengguna dan grup Pusat Identitas IAM yang dipilih.\]](http://docs.aws.amazon.com/id_id/lake-formation/latest/dg/images/identity-center-assign-users-groups.png)

1. Selanjutnya, pilih metode untuk memberikan izin.

   Untuk petunjuk tentang pemberian izin menggunakan metode sumber daya bernama, lihat. [Memberikan izin data menggunakan metode sumber daya bernama](granting-cat-perms-named-resource.md)

   Untuk petunjuk tentang pemberian izin menggunakan LF-tag, lihat. [Memberikan izin data lake menggunakan metode LF-TBAC](granting-catalog-perms-TBAC.md)

1. Pilih sumber daya Katalog Data yang ingin Anda berikan izin.

1. Pilih izin Katalog Data yang akan diberikan.

1. Pilih **Grant**.

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

Contoh berikut menunjukkan bagaimana untuk memberikan IAM Identity Center `SELECT` izin pengguna pada tabel.

```
aws lakeformation grant-permissions \
--principal DataLakePrincipalIdentifier=arn:aws:identitystore:::user/<UserId> \
--permissions "SELECT" \
--resource '{ "Table": { "DatabaseName": "retail", "TableWildcard": {} } }'
```

Untuk mengambil `UserId` dari Pusat Identitas IAM, lihat [GetUserId](https://docs.aws.amazon.com/singlesignon/latest/IdentityStoreAPIReference/API_GetUserId.html)pengoperasian di Referensi API Pusat Identitas IAM.

------

# Termasuk konteks pengguna Pusat Identitas IAM di log CloudTrail
<a name="identity-center-ct-logs"></a>

Lake Formation menggunakan fungsionalitas [penjual kredenal](using-cred-vending.md) untuk menyediakan akses sementara ke data Amazon S3. Secara default, ketika pengguna IAM Identity Center mengirimkan kueri ke layanan analitik terintegrasi, CloudTrail log hanya menyertakan peran IAM yang diasumsikan oleh layanan untuk menyediakan akses jangka pendek. Jika Anda menggunakan peran yang ditentukan pengguna untuk mendaftarkan lokasi data Amazon S3 dengan Lake Formation, Anda dapat memilih untuk menyertakan konteks pengguna Pusat Identitas IAM dalam CloudTrail peristiwa, lalu melacak pengguna yang mengakses sumber daya Anda.

**penting**  
Untuk menyertakan permintaan API Amazon S3 tingkat objek di dalamnya, Anda harus CloudTrail mengaktifkan CloudTrail pencatatan peristiwa untuk bucket dan objek Amazon S3. Untuk inormasi selengkapnya, lihat [Mengaktifkan pencatatan CloudTrail peristiwa untuk bucket dan objek Amazon S3 di](https://docs.aws.amazon.com/AmazonS3/latest/userguide/enable-cloudtrail-logging-for-s3.html) Panduan Pengguna Amazon S3.

**Untuk mengaktifkan audit penjual kredenal pada lokasi data lake yang terdaftar dengan peran yang ditentukan pengguna**

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

1. Di navigasi sisi kiri, perluas **Administrasi**, dan pilih pengaturan **Katalog Data**.

1. Di bawah **Audit yang disempurnakan**, pilih **Menyebarkan konteks yang disediakan**.

1. Pilih **Simpan**.

 Anda juga dapat mengaktifkan opsi audit yang disempurnakan dengan menyetel `Parameters` atribut dalam [PutDataLakeSettings](https://docs.aws.amazon.com/lake-formation/latest/APIReference/API_PutDataLakeSettings.html)operasi. Secara default, nilai `SET_CONTEXT"` parameter diatur ke “true”.

```
{
    "DataLakeSettings": {
        "Parameters": {"SET_CONTEXT": "true"},
    }
}
```

Berikut ini adalah kutipan dari CloudTrail acara dengan opsi audit yang ditingkatkan. Log ini mencakup konteks sesi pengguna IAM Identity Center dan peran IAM yang ditentukan pengguna yang diasumsikan oleh Lake Formation untuk mengakses lokasi data Amazon S3. Lihat `onBehalfOf` parameter dalam kutipan berikut.

```
{
         "eventVersion":"1.09",
         "userIdentity":{
            "type":"AssumedRole",
            "principalId":"AROAW7F7MOX4OYE6FLIFN:access-grants-e653760c-4e8b-44fd-94d9-309e035b75ab",
            "arn":"arn:aws:sts::123456789012:assumed-role/accessGrantsTestRole/access-grants-e653760c-4e8b-44fd-94d9-309e035b75ab",           
            "accountId":"123456789012",
            "accessKeyId":"ASIAW7F7MOX4CQLD4JIZN",
            "sessionContext":{
               "sessionIssuer":{
                  "type":"Role",
                  "principalId":"AROAW7F7MOX4OYE6FLIFN",
                  "arn":"arn:aws:iam::123456789012:role/accessGrantsTestRole",
                  "accountId":"123456789012",
                  "userName":"accessGrantsTestRole"
               },
               "attributes":{
                  "creationDate":"2023-08-09T17:24:02Z",
                  "mfaAuthenticated":"false"
               }
            },
            "onBehalfOf":{
                "userId": "<identityStoreUserId>",
                "identityStoreArn": "arn:aws:identitystore::<restOfIdentityStoreArn>"
            }
         },
         "eventTime":"2023-08-09T17:25:43Z",
         "eventSource":"s3.amazonaws.com",
         "eventName":"GetObject",
    ....
```

# Menambahkan lokasi Amazon S3 ke danau data Anda
<a name="register-data-lake"></a>

Untuk menambahkan lokasi data sebagai penyimpanan di danau data Anda, Anda *mendaftarkan* lokasi (**Lokasi danau data**) dengan AWS Lake Formation. Anda kemudian dapat menggunakan izin Lake Formation untuk kontrol akses berbutir halus ke AWS Glue Data Catalog objek yang mengarah ke lokasi ini dan ke data yang mendasarinya di lokasi.

Lake Formation juga memungkinkan untuk mendaftarkan lokasi data dalam mode akses hibrida dan memberi Anda fleksibilitas untuk mengaktifkan izin Lake Formation secara selektif untuk database dan tabel di Katalog Data Anda. Dengan mode akses Hybrid, Anda memiliki jalur tambahan yang memungkinkan Anda mengatur izin Lake Formation untuk kumpulan pengguna tertentu tanpa mengganggu kebijakan izin pengguna atau beban kerja lain yang ada.

Untuk informasi selengkapnya tentang pengaturan mode akses hybrid, lihat [Mode akses hibrid](hybrid-access-mode.md) 

Saat Anda mendaftarkan lokasi, jalur Amazon S3 dan semua folder di bawah jalur itu terdaftar.

Misalnya, Anda memiliki organisasi jalur Amazon S3 seperti berikut ini:

`/mybucket/accounting/sales/`

Jika Anda mendaftar`S3://mybucket/accounting`, `sales` folder tersebut juga terdaftar dan berada di bawah manajemen Lake Formation.

Untuk informasi selengkapnya tentang mendaftarkan lokasi, lihat[Underlying data access control](access-control-underlying-data.md#underlying-data-access-control).

**catatan**  
Izin Lake Formation direkomendasikan untuk data terstruktur (disusun dalam tabel dengan baris dan kolom). Jika data Anda berisi data tidak terstruktur berbasis objek, pertimbangkan untuk menggunakan hibah akses Amazon S3 untuk mengelola akses data.

**Topics**
+ [Persyaratan untuk peran yang digunakan untuk mendaftarkan lokasi](registration-role.md)
+ [Mendaftarkan lokasi Amazon S3](register-location.md)
+ [Mendaftarkan lokasi Amazon S3 terenkripsi](register-encrypted.md)
+ [Mendaftarkan lokasi Amazon S3 di akun lain AWS](register-cross-account.md)
+ [Mendaftarkan lokasi Amazon S3 terenkripsi di seluruh akun AWS](register-cross-encrypted.md)
+ [Membatalkan pendaftaran lokasi Amazon S3](unregister-location.md)

# Persyaratan untuk peran yang digunakan untuk mendaftarkan lokasi
<a name="registration-role"></a>

Anda harus menentukan peran AWS Identity and Access Management (IAM) saat mendaftarkan lokasi Amazon Simple Storage Service (Amazon S3). AWS Lake Formation mengasumsikan peran itu saat mengakses data di lokasi itu.

Anda dapat menggunakan salah satu jenis peran berikut untuk mendaftarkan lokasi:
+ Peran terkait layanan Lake Formation. Peran ini memberikan izin yang diperlukan di lokasi. Menggunakan peran ini adalah cara paling sederhana untuk mendaftarkan lokasi. Untuk informasi selengkapnya, lihat [Menggunakan peran terkait layanan untuk Lake Formation](service-linked-roles.md) dan [Batasan peran terkait layanan](service-linked-role-limitations.md).
+ Peran yang ditentukan pengguna. Gunakan peran yang ditentukan pengguna saat Anda perlu memberikan lebih banyak izin daripada yang diberikan peran terkait layanan.

  Anda harus menggunakan peran yang ditentukan pengguna dalam keadaan berikut:
  + Saat mendaftarkan lokasi di akun lain.

    Untuk informasi selengkapnya, lihat [Mendaftarkan lokasi Amazon S3 di akun lain AWS](register-cross-account.md) dan [Mendaftarkan lokasi Amazon S3 terenkripsi di seluruh akun AWS](register-cross-encrypted.md).
  + Jika Anda menggunakan CMK (`aws/s3`) AWS terkelola untuk mengenkripsi lokasi Amazon S3.

    Untuk informasi selengkapnya, lihat [Mendaftarkan lokasi Amazon S3 terenkripsi](register-encrypted.md).
  + Jika Anda berencana untuk mengakses lokasi menggunakan Amazon EMR.

    Jika Anda sudah mendaftarkan lokasi dengan peran terkait layanan dan ingin mulai mengakses lokasi dengan Amazon EMR, Anda harus membatalkan pendaftaran lokasi dan mendaftarkannya kembali dengan peran yang ditentukan pengguna. Untuk informasi selengkapnya, lihat [Membatalkan pendaftaran lokasi Amazon S3](unregister-location.md).

# Menggunakan peran terkait layanan untuk Lake Formation
<a name="service-linked-roles"></a>

AWS Lake Formation menggunakan peran AWS Identity and Access Management *terkait layanan* (IAM). Peran terkait layanan adalah jenis unik peran IAM yang terkait langsung dengan Lake Formation. Peran terkait layanan telah ditentukan sebelumnya oleh Lake Formation dan mencakup semua izin yang diperlukan layanan untuk memanggil AWS layanan lain atas nama Anda.

Peran terkait layanan membuat pengaturan Lake Formation menjadi lebih mudah karena Anda tidak perlu membuat peran dan menambahkan izin yang diperlukan secara manual. Lake Formation mendefinisikan izin dari peran terkait layanannya, dan kecuali ditentukan lain, hanya Lake Formation yang dapat mengambil perannya. Izin yang ditentukan mencakup kebijakan kepercayaan dan kebijakan izin, dan kebijakan izin tersebut tidak dapat dilampirkan ke entitas IAM lainnya.

Peran terkait layanan ini mempercayai layanan berikut untuk mengambil peran:
+ `lakeformation.amazonaws.com`

Bila Anda menggunakan peran terkait layanan di akun A untuk mendaftarkan lokasi Amazon S3 yang dimiliki oleh akun B, kebijakan bucket Amazon S3 (kebijakan berbasis sumber daya) di akun B harus memberikan izin akses ke peran terkait layanan di akun A.

Untuk informasi tentang menggunakan peran terkait layanan untuk mendaftarkan lokasi data, lihat. [Batasan peran terkait layanan](service-linked-role-limitations.md)

**catatan**  
Kebijakan kontrol layanan (SCPs) tidak memengaruhi peran terkait layanan.   
Untuk informasi selengkapnya, lihat [Kebijakan kontrol layanan (SCPs)](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps.html) di *panduan AWS Organizations pengguna*.

## Izin peran terkait layanan untuk Lake Formation
<a name="service-linked-role-permissions"></a>

Lake Formation menggunakan peran terkait layanan bernama. `AWSServiceRoleForLakeFormationDataAccess` Peran ini menyediakan satu set izin Amazon Simple Storage Service (Amazon S3) Simple Storage Service (Amazon S3) yang memungkinkan layanan terintegrasi Lake Formation ( Amazon Athena seperti) untuk mengakses lokasi terdaftar. Saat mendaftarkan lokasi data lake, Anda harus memberikan peran yang memiliki read/write izin Amazon S3 yang diperlukan di lokasi tersebut. Alih-alih membuat peran dengan izin Amazon S3 yang diperlukan, Anda dapat menggunakan peran terkait layanan ini.

Pertama kali Anda menamai peran terkait layanan sebagai peran yang digunakan untuk mendaftarkan jalur, peran terkait layanan dan kebijakan IAM baru dibuat atas nama Anda. Lake Formation menambahkan jalur ke kebijakan inline dan menempelkannya ke peran terkait layanan. Saat Anda mendaftarkan jalur berikutnya dengan peran terkait layanan, Lake Formation menambahkan jalur ke kebijakan yang ada.

Saat masuk sebagai administrator danau data, daftarkan lokasi danau data. Kemudian, di konsol IAM, cari peran `AWSServiceRoleForLakeFormationDataAccess` dan lihat kebijakan terlampirnya.

Misalnya, setelah Anda mendaftarkan lokasi`s3://my-kinesis-test/logs`, Lake Formation membuat kebijakan inline berikut dan melampirkannya. `AWSServiceRoleForLakeFormationDataAccess`

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "LakeFormationDataAccessPermissionsForS3",
            "Effect": "Allow",
            "Action": [
                "s3:PutObject",
                "s3:GetObject",
                "s3:DeleteObject",
                "s3:AbortMultipartUpload",
                "s3:ListMultipartUploadParts"
            ],
            "Resource": [
                "arn:aws:s3:::my-kinesis-test/logs/*"
            ]
        },
        {
            "Sid": "LakeFormationDataAccessPermissionsForS3ListBucket",
            "Effect": "Allow",
            "Action": [
                "s3:ListBucket",
                "s3:ListBucketMultipartUploads"
            ],
            "Resource": [
                "arn:aws:s3:::my-kinesis-test"
            ]
        }
    ]
}
```

------

## Membuat peran terkait layanan untuk Lake Formation
<a name="create-slr"></a>

Anda tidak perlu membuat peran terkait layanan secara manual. Saat Anda mendaftarkan lokasi Amazon S3 dengan Lake Formation di Konsol Manajemen AWS, the, atau AWS API AWS CLI, Lake Formation membuat peran terkait layanan untuk Anda. 

**penting**  
Peran tertaut layanan ini dapat muncul di akun Anda jika Anda menyelesaikan tindakan di layanan lain yang menggunakan fitur yang disupport oleh peran ini. Untuk mempelajari lebih lanjut, lihat [Peran baru muncul di akun IAM saya](https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_roles.html#troubleshoot_roles_new-role-appeared).

Jika Anda menghapus peran terkait layanan ini, dan ingin membuatnya lagi, Anda dapat mengulangi proses yang sama untuk membuat kembali peran tersebut di akun Anda. Saat Anda mendaftarkan lokasi Amazon S3 dengan Lake Formation, Lake Formation membuat peran terkait layanan untuk Anda lagi. 

Anda juga dapat menggunakan konsol IAM untuk membuat peran terkait layanan dengan kasus penggunaan **Lake** Formation. Di AWS CLI atau AWS API, buat peran terkait layanan dengan nama `lakeformation.amazonaws.com` layanan. Untuk informasi selengkapnya, lihat [Membuat peran tertaut layanan](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#create-service-linked-role) dalam *Panduan Pengguna IAM*. Jika Anda menghapus peran tertaut layanan ini, Anda dapat mengulang proses yang sama untuk membuat peran tersebut lagi.

## Mengedit peran terkait layanan untuk Lake Formation
<a name="edit-slr"></a>

Lake Formation tidak memungkinkan Anda untuk mengedit peran `AWSServiceRoleForLakeFormationDataAccess` terkait layanan. Setelah membuat peran terkait layanan, Anda tidak dapat mengubah nama peran karena berbagai entitas mungkin merujuk peran tersebut. Namun, Anda dapat mengedit penjelasan peran menggunakan IAM. Untuk informasi selengkapnya, lihat [Mengedit Peran Tertaut Layanan](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#edit-service-linked-role) dalam *Panduan Pengguna IAM*.

## Menghapus peran terkait layanan untuk Lake Formation
<a name="delete-slr"></a>

Jika Anda tidak perlu lagi menggunakan fitur atau layanan yang memerlukan peran terkait layanan, sebaiknya hapus peran tersebut. Dengan begitu, Anda tidak memiliki entitas yang tidak digunakan yang tidak dipantau atau dipelihara secara aktif. Tetapi, Anda harus membersihkan sumber daya peran yang terhubung dengan layanan sebelum menghapusnya secara manual.

**catatan**  
Jika layanan Lake Formation menggunakan peran saat Anda mencoba menghapus sumber daya, maka penghapusan mungkin gagal. Jika hal itu terjadi, tunggu beberapa menit dan coba mengoperasikannya lagi.

**Untuk menghapus sumber daya Lake Formation yang digunakan oleh Lake Formation**
+ Jika Anda telah menggunakan peran terkait layanan untuk mendaftarkan lokasi Amazon S3 dengan Lake Formation, sebelum menghapus peran terkait layanan, Anda harus membatalkan pendaftaran lokasi dan mendaftarkannya kembali menggunakan peran khusus.

**Untuk menghapus peran tertaut layanan secara manual menggunakan IAM**

Gunakan konsol IAM, the AWS CLI, atau AWS API untuk menghapus peran `AWSServiceRoleForLakeFormationDataAccess` terkait layanan. Untuk informasi lebih lanjut, lihat [Menghapus Peran Tertaut Layanan](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#delete-service-linked-role) dalam *Panduan Pengguna IAM*.

Berikut ini adalah persyaratan untuk peran yang ditentukan pengguna:
+ Saat membuat peran baru, pada halaman **Buat peran** konsol IAM, pilih **AWS layanan**, lalu di bawah **Pilih kasus penggunaan**, pilih **Lake Formation**.

  Jika Anda membuat peran menggunakan jalur yang berbeda, pastikan bahwa peran tersebut memiliki hubungan kepercayaan dengan`lakeformation.amazonaws.com`. Untuk informasi selengkapnya, lihat [Memodifikasi kebijakan kepercayaan peran (Konsol)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_update-role-trust-policy.html).
+ Peran harus memiliki kebijakan sebaris yang memberikan izin Amazon read/write S3 di lokasi. Berikut ini adalah kebijakan yang khas.

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

****  

  ```
  {
      "Version":"2012-10-17",		 	 	 
      "Statement": [
          {
              "Effect": "Allow",
              "Action": [
                  "s3:PutObject",
                  "s3:GetObject",
                  "s3:DeleteObject"
              ],
              "Resource": [
                  "arn:aws:s3:::awsexamplebucket/*"
              ]
          },
          {
              "Effect": "Allow",
              "Action": [
                  "s3:ListBucket"
              ],
              "Resource": [
                  "arn:aws:s3:::awsexamplebucket"
              ]
          }
      ]
  }
  ```

------
+ Tambahkan kebijakan kepercayaan berikut ke peran IAM untuk memungkinkan layanan Lake Formation mengambil peran dan menjual kredensi sementara ke mesin analitik terintegrasi.

  Untuk menyertakan konteks pengguna Pusat Identitas IAM dalam CloudTrail log, kebijakan kepercayaan harus memiliki izin untuk `sts:SetContext` tindakan tersebut.

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

****  

  ```
  {
      "Version":"2012-10-17",		 	 	 
      "Statement": [
          {
              "Sid": "DataCatalogViewDefinerAssumeRole1",
              "Effect": "Allow",
              "Principal": {
                 "Service": [                    
                      "lakeformation.amazonaws.com"
                   ]
              },
              "Action": [
                  "sts:AssumeRole",
                  "sts:SetContext"
              ]
          }
      ]
  }
  ```

------
+ Administrator data lake yang mendaftarkan lokasi harus memiliki `iam:PassRole` izin pada peran tersebut.

  Berikut ini adalah kebijakan inline yang memberikan izin ini. Ganti *<account-id>* dengan nomor AWS akun yang valid, dan ganti *<role-name>* dengan nama peran.

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

****  

  ```
  {
      "Version":"2012-10-17",		 	 	 
      "Statement": [
          {
              "Sid": "PassRolePermissions",
              "Effect": "Allow",
              "Action": [
                  "iam:PassRole"
              ],
              "Resource": [
                  "arn:aws:iam::111122223333:role/<role-name>"
              ]
          }
      ]
  }
  ```

------
+ Untuk mengizinkan Lake Formation menambahkan CloudWatch log di Log dan menerbitkan metrik, tambahkan kebijakan sebaris berikut.
**catatan**  
Menulis ke CloudWatch Log menimbulkan biaya.

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

****  

  ```
  {
      "Version":"2012-10-17",		 	 	 
      "Statement": [
          {
              "Sid": "Sid1",
              "Effect": "Allow",
              "Action": [
                  "logs:CreateLogStream",
                  "logs:CreateLogGroup",
                  "logs:PutLogEvents"
              ],
              "Resource": [
                   "arn:aws:logs:us-east-1:111122223333:log-group:/aws-lakeformation-acceleration/*",
                   "arn:aws:logs:us-east-1:111122223333:log-group:/aws-lakeformation-acceleration/*:log-stream:*"
              ]
          }
      ]
  }
  ```

------

# Mendaftarkan lokasi Amazon S3
<a name="register-location"></a>

Anda harus menentukan peran AWS Identity and Access Management (IAM) saat mendaftarkan lokasi Amazon Simple Storage Service (Amazon S3). Lake Formation mengasumsikan peran itu ketika memberikan kredensi sementara untuk AWS layanan terintegrasi yang mengakses data di lokasi tersebut.

**penting**  
Hindari mendaftarkan bucket Amazon S3 yang mengaktifkan **Requester pay**. Untuk ember yang terdaftar di Lake Formation, peran yang digunakan untuk mendaftarkan ember selalu dipandang sebagai pemohon. Jika bucket diakses oleh AWS akun lain, pemilik bucket akan dikenakan biaya untuk akses data jika peran tersebut milik akun yang sama dengan pemilik bucket.

Anda dapat menggunakan AWS Lake Formation konsol, Lake Formation API, atau AWS Command Line Interface (AWS CLI) untuk mendaftarkan lokasi Amazon S3.

**Sebelum Anda mulai**  
Tinjau [persyaratan untuk peran yang digunakan untuk mendaftarkan lokasi](registration-role.md).

**Untuk mendaftarkan lokasi (konsol)**
**penting**  
Prosedur berikut mengasumsikan bahwa lokasi Amazon S3 berada di AWS akun yang sama dengan Katalog Data dan bahwa data di lokasi tidak dienkripsi. Bagian lain dalam Bab ini mencakup pendaftaran lintas akun dan pendaftaran lokasi terenkripsi.

1. Buka AWS Lake Formation konsol di [https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/). Masuk sebagai administrator data lake atau sebagai pengguna dengan izin `lakeformation:RegisterResource` IAM.

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

1. Pilih **Daftar lokasi**, lalu pilih **Browse** untuk memilih jalur Amazon Simple Storage Service (Amazon S3).

1. (Opsional, tetapi sangat disarankan) Pilih **Tinjau izin lokasi** untuk melihat daftar semua sumber daya yang ada di lokasi Amazon S3 yang dipilih dan izinnya. 

   Mendaftarkan lokasi yang dipilih dapat mengakibatkan pengguna Lake Formation Anda mendapatkan akses ke data yang sudah ada di lokasi tersebut. Melihat daftar ini membantu Anda memastikan bahwa data yang ada tetap aman.

1. Untuk **peran IAM**, pilih peran `AWSServiceRoleForLakeFormationDataAccess` terkait layanan (default) atau peran IAM kustom yang memenuhi persyaratan di. [Persyaratan untuk peran yang digunakan untuk mendaftarkan lokasi](registration-role.md)

   Anda dapat memperbarui lokasi terdaftar atau detail lainnya hanya ketika Anda mendaftarkannya menggunakan peran IAM kustom. Untuk mengedit lokasi yang terdaftar menggunakan peran terkait layanan, Anda harus membatalkan pendaftaran lokasi dan mendaftarkannya kembali. 

1. Pilih opsi **Aktifkan Federasi Katalog Data** untuk mengizinkan Lake Formation mengambil peran dan menjual kredensi sementara ke AWS layanan terintegrasi untuk mengakses tabel di bawah database federasi. Jika lokasi terdaftar di Lake Formation, dan Anda ingin menggunakan lokasi yang sama untuk tabel di bawah database federasi, Anda harus mendaftarkan lokasi yang sama dengan opsi **Aktifkan Federasi Katalog Data**.

1. Pilih **mode akses Hybrid** untuk tidak mengaktifkan izin Lake Formation secara default. Saat mendaftarkan lokasi Amazon S3 dalam mode akses hybrid, Anda dapat mengaktifkan izin Lake Formation dengan memilih prinsipal untuk database dan tabel di bawah lokasi tersebut. 

   Untuk informasi selengkapnya tentang pengaturan mode akses hybrid, lihat[Mode akses hibrid](hybrid-access-mode.md).

1. Pilih **Daftarkan lokasi**.

**Untuk mendaftarkan lokasi (AWS CLI)**

1. 

**Daftarkan lokasi baru dengan Lake Formation**

   Contoh ini menggunakan peran terkait layanan untuk mendaftarkan lokasi. Anda dapat menggunakan `--role-arn` argumen sebagai gantinya untuk menyediakan peran Anda sendiri.

   Ganti *<s3-path>* dengan jalur Amazon S3 yang valid, nomor akun dengan AWS akun yang valid, dan *<s3-access-role>* dengan peran IAM yang memiliki izin untuk mendaftarkan lokasi data.
**catatan**  
Anda tidak dapat mengedit properti lokasi terdaftar jika terdaftar menggunakan peran terkait layanan.

   ```
   aws lakeformation register-resource \
    --resource-arn arn:aws:s3:::<s3-path> \
    --use-service-linked-role
   ```

   Contoh berikut menggunakan peran kustom untuk mendaftarkan lokasi.

   ```
   aws lakeformation register-resource \
    --resource-arn arn:aws:s3:::<s3-path> \
    --role-arn arn:aws:iam::<123456789012>:role/<s3-access-role>
   ```

1. 

**Untuk memperbarui lokasi yang terdaftar di Lake Formation**

   Anda dapat mengedit lokasi terdaftar hanya jika terdaftar menggunakan peran IAM kustom. Untuk lokasi yang terdaftar dengan peran terkait layanan, Anda harus membatalkan pendaftaran lokasi dan mendaftarkannya lagi. Untuk informasi selengkapnya, lihat [Membatalkan pendaftaran lokasi Amazon S3](unregister-location.md). 

   ```
   aws lakeformation update-resource \
    --role-arn arn:aws:iam::<123456789012>:role/<s3-access-role>\
    --resource-arn arn:aws:s3:::<s3-path>
   ```

   ```
   aws lakeformation update-resource \
    --resource-arn arn:aws:s3:::<s3-path> \
    --use-service-linked-role
   ```

1. 

**Daftarkan lokasi data dalam mode akses hybrid dengan federasi**

   ```
   aws lakeformation register-resource \
    --resource-arn arn:aws:s3:::<s3-path> \
    --role-arn arn:aws:iam::<123456789012>:role/<s3-access-role> \
    --hybrid-access-enabled
   ```

   ```
   aws lakeformation register-resource \
    --resource-arn arn:aws:s3:::<s3-path> \
    --role-arn arn:aws:iam::<123456789012>:role/<s3-access-role> \
    --with-federation
   ```

   ```
   aws lakeformation update-resource \
    --resource-arn arn:aws:s3:::<s3-path> \
    --role-arn arn:aws:iam::<123456789012>:role/<s3-access-role> \
    --hybrid-access-enabled
   ```

Untuk informasi selengkapnya, lihat Operasi [RegisterResource](https://docs.aws.amazon.com/lake-formation/latest/APIReference/API_RegisterResource.html)API.

**catatan**  
Setelah Anda mendaftarkan lokasi Amazon S3, AWS Glue tabel apa pun yang menunjuk ke lokasi (atau lokasi turunannya) akan mengembalikan nilai untuk `IsRegisteredWithLakeFormation` parameter seperti `true` dalam panggilan. `GetTable` Ada batasan yang diketahui bahwa operasi API Katalog Data seperti `GetTables` dan `SearchTables` tidak memperbarui nilai untuk `IsRegisteredWithLakeFormation` parameter, dan mengembalikan default, yang salah. Disarankan untuk menggunakan `GetTable` API untuk melihat nilai yang benar untuk `IsRegisteredWithLakeFormation` parameter. 

# Mendaftarkan lokasi Amazon S3 terenkripsi
<a name="register-encrypted"></a>

Lake Formation terintegrasi dengan [AWS Key Management Service](https://docs.aws.amazon.com/kms/latest/developerguide/overview.html)(AWS KMS) untuk memungkinkan Anda mengatur layanan terintegrasi lainnya dengan lebih mudah untuk mengenkripsi dan mendekripsi data di lokasi Amazon Simple Storage Service (Amazon S3).

Baik pelanggan dikelola AWS KMS keys dan Kunci yang dikelola AWS didukung. Saat ini, sisi klien hanya encryption/decryption didukung dengan Athena.

Anda harus menentukan peran AWS Identity and Access Management (IAM) saat mendaftarkan lokasi Amazon S3. Untuk lokasi Amazon S3 terenkripsi, peran harus memiliki izin untuk mengenkripsi dan mendekripsi data dengan AWS KMS key, atau kebijakan kunci KMS harus memberikan izin pada kunci peran tersebut.

**penting**  
Hindari mendaftarkan bucket Amazon S3 yang mengaktifkan **Requester pay**. Untuk ember yang terdaftar di Lake Formation, peran yang digunakan untuk mendaftarkan ember selalu dipandang sebagai pemohon. Jika bucket diakses oleh AWS akun lain, pemilik bucket akan dikenakan biaya untuk akses data jika peran tersebut milik akun yang sama dengan pemilik bucket.

Lake Formation menggunakan peran terkait layanan untuk mendaftarkan lokasi data Anda. Namun, peran ini memiliki beberapa [keterbatasan](service-linked-role-limitations.md). Karena kendala ini, kami sarankan untuk membuat dan menggunakan peran IAM khusus sebagai gantinya untuk lebih banyak fleksibilitas dan kontrol. Peran kustom yang Anda buat untuk mendaftarkan lokasi harus memenuhi persyaratan yang ditentukan dalam[Persyaratan untuk peran yang digunakan untuk mendaftarkan lokasi](registration-role.md).

**penting**  
Jika Anda menggunakan Kunci yang dikelola AWS untuk mengenkripsi lokasi Amazon S3, Anda tidak dapat menggunakan peran terkait layanan Lake Formation. Anda harus menggunakan peran khusus dan menambahkan izin IAM pada kunci peran. Detail diberikan nanti di bagian ini.

Prosedur berikut menjelaskan cara mendaftarkan lokasi Amazon S3 yang dienkripsi dengan kunci yang dikelola pelanggan atau. Kunci yang dikelola AWS
+ [Mendaftarkan lokasi yang dienkripsi dengan kunci yang dikelola pelanggan](#proc-register-cust-cmk)
+ [Mendaftarkan lokasi yang dienkripsi dengan Kunci yang dikelola AWS](#proc-register-aws-cmk)

**Sebelum Anda Memulai**  
Tinjau [persyaratan untuk peran yang digunakan untuk mendaftarkan lokasi](registration-role.md).<a name="proc-register-cust-cmk"></a>

**Untuk mendaftarkan lokasi Amazon S3 yang dienkripsi dengan kunci yang dikelola pelanggan**
**catatan**  
Jika kunci KMS atau lokasi Amazon S3 tidak berada di akun AWS yang sama dengan Katalog Data, ikuti petunjuknya[Mendaftarkan lokasi Amazon S3 terenkripsi di seluruh akun AWS](register-cross-encrypted.md).

1. Buka AWS KMS konsol di [https://console.aws.amazon.com/kms](https://console.aws.amazon.com/kms) dan masuk sebagai pengguna administratif AWS Identity and Access Management (IAM) atau sebagai pengguna yang dapat memodifikasi kebijakan kunci kunci KMS yang digunakan untuk mengenkripsi lokasi.

1. Di panel navigasi, pilih **Kunci yang dikelola pelanggan**, lalu pilih nama kunci KMS yang diinginkan.

1. Pada halaman detail kunci KMS, pilih tab **Kebijakan kunci**, lalu lakukan salah satu hal berikut untuk menambahkan peran kustom Anda atau peran terkait layanan Lake Formation sebagai pengguna kunci KMS:
   + **Jika tampilan default ditampilkan** (dengan **administrator Kunci**, **Penghapusan kunci**, **Pengguna kunci**, dan bagian ** AWS Akun lainnya**) — Di bawah bagian **Pengguna kunci**, tambahkan peran kustom Anda atau peran terkait layanan Lake Formation. `AWSServiceRoleForLakeFormationDataAccess`
   + **Jika kebijakan kunci (JSON) ditampilkan** — Edit kebijakan untuk menambahkan peran kustom Anda atau peran terkait layanan Lake Formation `AWSServiceRoleForLakeFormationDataAccess` ke objek “Izinkan penggunaan kunci,” seperti yang ditunjukkan pada contoh berikut.
**catatan**  
Jika objek itu hilang, tambahkan dengan izin yang ditunjukkan dalam contoh. Contoh menggunakan peran terkait layanan.

     ```
             ...
             {
                 "Sid": "Allow use of the key",
                 "Effect": "Allow",
                 "Principal": {
                     "AWS": [
                         "arn:aws:iam::111122223333:role/aws-service-role/lakeformation.amazonaws.com/AWSServiceRoleForLakeFormationDataAccess",
                         "arn:aws:iam::111122223333:user/keyuser"
                     ]
                 },
                 "Action": [
                     "kms:Encrypt",
                     "kms:Decrypt",
                     "kms:ReEncrypt*",
                     "kms:GenerateDataKey*",
                     "kms:DescribeKey"
                 ],
                 "Resource": "*"
             },
             ...
     ```

1. Buka AWS Lake Formation konsol di [https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/). Masuk sebagai administrator data lake atau sebagai pengguna dengan izin `lakeformation:RegisterResource` IAM.

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

1. Pilih **Daftar lokasi**, lalu pilih **Browse** untuk memilih jalur Amazon Simple Storage Service (Amazon S3).

1. (Opsional, tetapi sangat disarankan) Pilih **Tinjau izin lokasi** untuk melihat daftar semua sumber daya yang ada di lokasi Amazon S3 yang dipilih dan izinnya. 

   Mendaftarkan lokasi yang dipilih dapat mengakibatkan pengguna Lake Formation Anda mendapatkan akses ke data yang sudah ada di lokasi tersebut. Melihat daftar ini membantu Anda memastikan bahwa data yang ada tetap aman.

1. Untuk **peran IAM**, pilih peran `AWSServiceRoleForLakeFormationDataAccess` terkait layanan (default) atau peran kustom Anda yang memenuhi. [Persyaratan untuk peran yang digunakan untuk mendaftarkan lokasi](registration-role.md)

1. Pilih **Daftar lokasi**.

Untuk informasi selengkapnya tentang peran tertaut layanan, lihat [Izin peran terkait layanan untuk Lake Formation](service-linked-roles.md#service-linked-role-permissions).<a name="proc-register-aws-cmk"></a>

**Untuk mendaftarkan lokasi Amazon S3 yang dienkripsi dengan Kunci yang dikelola AWS**
**penting**  
Jika lokasi Amazon S3 tidak berada di AWS akun yang sama dengan Katalog Data, ikuti petunjuknya[Mendaftarkan lokasi Amazon S3 terenkripsi di seluruh akun AWS](register-cross-encrypted.md).

1. Buat peran IAM yang akan digunakan untuk mendaftarkan lokasi. Pastikan memenuhi persyaratan yang tercantum di[Persyaratan untuk peran yang digunakan untuk mendaftarkan lokasi](registration-role.md).

1. Tambahkan kebijakan inline berikut ke peran. Ini memberikan izin pada kunci peran. `Resource`Spesifikasi harus menunjuk Nama Sumber Daya Amazon (ARN) dari. Kunci yang dikelola AWS Anda dapat memperoleh ARN dari konsol. AWS KMS Untuk mendapatkan ARN yang benar, pastikan Anda masuk ke AWS KMS konsol dengan AWS akun dan Wilayah yang sama dengan Kunci yang dikelola AWS yang digunakan untuk mengenkripsi lokasi.

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

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Effect": "Allow",
         "Action": [
           "kms:Encrypt",
           "kms:Decrypt",
           "kms:ReEncrypt*",
           "kms:GenerateDataKey*",
           "kms:DescribeKey"
         ],
         "Resource": "arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"
       }
     ]
   }
   ```

------

   Anda dapat menggunakan alias kunci KMS alih-alih ID kunci - `arn:aws:kms:region:account-id:key/alias/your-key-alias`

   Untuk informasi selengkapnya, lihat [Alias di AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/kms-alias.html) bagian Panduan AWS Key Management Service Pengembang.

1. Buka AWS Lake Formation konsol di [https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/). Masuk sebagai administrator data lake atau sebagai pengguna dengan izin `lakeformation:RegisterResource` IAM.

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

1. Pilih **Daftarkan lokasi**, lalu pilih **Jelajahi** untuk memilih jalur Amazon S3.

1. (Opsional, tetapi sangat disarankan) Pilih **Tinjau izin lokasi** untuk melihat daftar semua sumber daya yang ada di lokasi Amazon S3 yang dipilih dan izinnya. 

   Mendaftarkan lokasi yang dipilih dapat mengakibatkan pengguna Lake Formation Anda mendapatkan akses ke data yang sudah ada di lokasi tersebut. Melihat daftar ini membantu Anda memastikan bahwa data yang ada tetap aman.

1. Untuk **peran IAM**, pilih peran yang Anda buat di Langkah 1.

1. Pilih **Daftar lokasi**.

# Mendaftarkan lokasi Amazon S3 di akun lain AWS
<a name="register-cross-account"></a>

AWS Lake Formation memungkinkan Anda mendaftarkan lokasi Amazon Simple Storage Service (Amazon S3) di seluruh akun. AWS Misalnya, jika AWS Glue Data Catalog ada di akun A, pengguna di akun A dapat mendaftarkan bucket Amazon S3 di akun B.

Mendaftarkan bucket Amazon S3 di AWS akun B menggunakan peran AWS Identity and Access Management (IAM) di AWS akun A memerlukan izin berikut:
+ Peran di akun A harus memberikan izin pada bucket di akun B.
+ Kebijakan bucket di akun B harus memberikan izin akses ke peran di Akun A.

**penting**  
Hindari mendaftarkan bucket Amazon S3 yang mengaktifkan **Requester pay**. Untuk ember yang terdaftar di Lake Formation, peran yang digunakan untuk mendaftarkan ember selalu dipandang sebagai pemohon. Jika bucket diakses oleh AWS akun lain, pemilik bucket akan dikenakan biaya untuk akses data jika peran tersebut milik akun yang sama dengan pemilik bucket.  
Anda tidak dapat menggunakan peran terkait layanan Lake Formation untuk mendaftarkan lokasi di akun lain. Anda harus menggunakan peran yang ditentukan pengguna sebagai gantinya. Peran harus memenuhi persyaratan di[Persyaratan untuk peran yang digunakan untuk mendaftarkan lokasi](registration-role.md). Untuk informasi selengkapnya tentang peran tertaut layanan, lihat [Izin peran terkait layanan untuk Lake Formation](service-linked-roles.md#service-linked-role-permissions).

**Sebelum Anda mulai**  
Tinjau [persyaratan untuk peran yang digunakan untuk mendaftarkan lokasi](registration-role.md).

**Untuk mendaftarkan lokasi di AWS akun lain**
**catatan**  
Jika lokasi dienkripsi, ikuti instruksi sebagai gantinya. [Mendaftarkan lokasi Amazon S3 terenkripsi di seluruh akun AWS](register-cross-encrypted.md)

Prosedur berikut mengasumsikan bahwa prinsipal di akun 1111-2222-3333, yang berisi Katalog Data, ingin mendaftarkan bucket Amazon S3, yang ada di akun 1234-5678-9012. `awsexamplebucket1`

1. Di akun 1111-2222-3333, masuk ke Konsol Manajemen AWS dan buka konsol IAM di. [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)

1. Buat peran baru atau lihat peran yang ada yang memenuhi persyaratan di[Persyaratan untuk peran yang digunakan untuk mendaftarkan lokasi](registration-role.md). Pastikan peran tersebut memberikan izin Amazon S3 aktif. `awsexamplebucket1`

1. Buka konsol Amazon S3 di. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/) Masuk dengan akun 1234-5678-9012.

1. Dalam daftar **nama Bucket**, pilih nama bucket,`awsexamplebucket1`.

1. Pilih **Izin**.

1. Pada halaman **Izin**, pilih **Kebijakan Bucket**.

1. Di **editor kebijakan Bucket**, tempel kebijakan berikut. Ganti *<role-name>* dengan nama peran Anda.

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect":"Allow",
               "Principal": {
                   "AWS":"arn:aws:iam::111122223333:role/<role-name>"
               },
               "Action":"s3:ListBucket",
               "Resource":"arn:aws:s3:::awsexamplebucket1"
           },
           {
               "Effect":"Allow",
               "Principal": {
                   "AWS":"arn:aws:iam::111122223333:role/<role-name>"
               },
               "Action": [
                   "s3:DeleteObject",
                   "s3:GetObject",
                   "s3:PutObject"
               ],
               "Resource":"arn:aws:s3:::awsexamplebucket1/*"
           }
       ]
   }
   ```

------

1. Pilih **Simpan**.

1. Buka AWS Lake Formation konsol di [https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/). Masuk ke akun 1111-2222-3333 sebagai administrator danau data atau sebagai pengguna dengan izin yang cukup untuk mendaftarkan lokasi.

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

1. Pada halaman **lokasi danau Data**, pilih **Daftar lokasi**.

1. Pada **halaman Daftar lokasi**, untuk **jalur Amazon S3**, masukkan nama bucket. `s3://awsexamplebucket1`
**catatan**  
**Anda harus mengetikkan nama bucket karena bucket lintas akun tidak muncul dalam daftar saat memilih Browse.**

1. Untuk **peran IAM**, pilih peran Anda.

1. Pilih **Daftar lokasi**.

# Mendaftarkan lokasi Amazon S3 terenkripsi di seluruh akun AWS
<a name="register-cross-encrypted"></a>

AWS Lake Formation terintegrasi dengan [AWS Key Management Service](https://docs.aws.amazon.com/kms/latest/developerguide/overview.html)(AWS KMS) untuk memungkinkan Anda mengatur layanan terintegrasi lainnya dengan lebih mudah untuk mengenkripsi dan mendekripsi data di lokasi Amazon Simple Storage Service (Amazon S3).

Kedua kunci yang dikelola pelanggan dan Kunci yang dikelola AWS didukung. Sisi klien tidak encryption/decryption didukung.

**penting**  
Hindari mendaftarkan bucket Amazon S3 yang mengaktifkan **Requester pay**. Untuk ember yang terdaftar di Lake Formation, peran yang digunakan untuk mendaftarkan ember selalu dipandang sebagai pemohon. Jika bucket diakses oleh AWS akun lain, pemilik bucket akan dikenakan biaya untuk akses data jika peran tersebut milik akun yang sama dengan pemilik bucket.

Bagian ini menjelaskan cara mendaftarkan lokasi Amazon S3 dalam keadaan berikut:
+ Data di lokasi Amazon S3 dienkripsi dengan kunci KMS yang dibuat di. AWS KMS
+ Lokasi Amazon S3 tidak berada di AWS akun yang sama dengan. AWS Glue Data Catalog
+ Kunci KMS berada atau tidak berada di AWS akun yang sama dengan Katalog Data.

Mendaftarkan AWS KMS bucket Amazon S3 yang dienkripsi di AWS akun B menggunakan peran AWS Identity and Access Management (IAM) di AWS akun A memerlukan izin berikut:
+ Peran di akun A harus memberikan izin pada bucket di akun B.
+ Kebijakan bucket di akun B harus memberikan izin akses ke peran di Akun A.
+ Jika kunci KMS ada di akun B, kebijakan kunci harus memberikan akses ke peran di akun A, dan peran dalam akun A harus memberikan izin pada kunci KMS.

Dalam prosedur berikut, Anda membuat peran dalam AWS akun yang berisi Katalog Data (akun A dalam diskusi sebelumnya). Kemudian, Anda menggunakan peran ini untuk mendaftarkan lokasi. Lake Formation mengasumsikan peran ini saat mengakses data yang mendasarinya di Amazon S3. Peran yang diasumsikan memiliki izin yang diperlukan pada kunci KMS. Akibatnya, Anda tidak perlu memberikan izin pada kunci KMS kepada kepala sekolah yang mengakses data dasar dengan pekerjaan ETL atau dengan layanan terintegrasi seperti. Amazon Athena

**penting**  
Anda tidak dapat menggunakan peran terkait layanan Lake Formation untuk mendaftarkan lokasi di akun lain. Anda harus menggunakan peran yang ditentukan pengguna sebagai gantinya. Peran harus memenuhi persyaratan di[Persyaratan untuk peran yang digunakan untuk mendaftarkan lokasi](registration-role.md). Untuk informasi selengkapnya tentang peran tertaut layanan, lihat [Izin peran terkait layanan untuk Lake Formation](service-linked-roles.md#service-linked-role-permissions).

**Sebelum Anda Memulai**  
Tinjau [persyaratan untuk peran yang digunakan untuk mendaftarkan lokasi](registration-role.md).

**Untuk mendaftarkan lokasi Amazon S3 terenkripsi di seluruh akun AWS**

1. Di AWS akun yang sama dengan Katalog Data, masuk ke Konsol Manajemen AWS dan buka konsol IAM di[https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Buat peran baru atau lihat peran yang ada yang memenuhi persyaratan di[Persyaratan untuk peran yang digunakan untuk mendaftarkan lokasi](registration-role.md). Pastikan peran tersebut menyertakan kebijakan yang memberikan izin Amazon S3 di lokasi.

1. Jika kunci KMS tidak berada di akun yang sama dengan Katalog Data, tambahkan ke peran kebijakan inline yang memberikan izin yang diperlukan pada kunci KMS. Berikut ini adalah contoh kebijakan . Ganti Wilayah dan ID akun dengan wilayah dan nomor akun kunci KMS. Ganti *<key-id>* dengan ID kunci.

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
           "Effect": "Allow",
           "Action": [
               "kms:Encrypt",
               "kms:Decrypt",
               "kms:ReEncrypt*",
               "kms:GenerateDataKey*",
               "kms:DescribeKey"
            ],
           "Resource": "arn:aws:kms:us-east-1:111122223333:key/<key-id>"
           }
       ]
   }
   ```

------

1. Di konsol Amazon S3, tambahkan kebijakan bucket yang memberikan izin Amazon S3 yang diperlukan ke peran tersebut. Berikut ini adalah contoh kebijakan bucket. Ganti ID AWS akun dengan nomor akun Katalog Data, *<role-name>* dengan nama peran Anda, dan *<bucket-name>* dengan nama bucket.

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect":"Allow",
               "Principal": {
                   "AWS":"arn:aws:iam::111122223333:role/<role-name>"
               },
               "Action":"s3:ListBucket",
               "Resource":"arn:aws:s3:::<bucket-name>"
           },
           {
               "Effect":"Allow",
               "Principal": {
                   "AWS":"arn:aws:iam::111122223333:role/<role-name>"
               },
               "Action": [
                   "s3:DeleteObject",
                   "s3:GetObject",
                   "s3:PutObject"
               ],
               "Resource":"arn:aws:s3:::<bucket-name>/*"
           }
       ]
   }
   ```

------

1. Di AWS KMS, tambahkan peran sebagai pengguna kunci KMS.

   1. Buka AWS KMS konsol di [https://console.aws.amazon.com/kms](https://console.aws.amazon.com/kms). Kemudian, masuk sebagai pengguna administrator atau sebagai pengguna yang dapat mengubah kebijakan kunci kunci KMS yang digunakan untuk mengenkripsi lokasi.

   1. Di panel navigasi, pilih **Kunci yang dikelola pelanggan**, lalu pilih nama kunci KMS.

   1. Pada halaman detail kunci KMS, di bawah tab **Kebijakan kunci**, jika tampilan JSON dari kebijakan kunci tidak ditampilkan, pilih **Beralih ke tampilan kebijakan**.

   1. Di bagian **Kebijakan kunci**, pilih **Edit**, dan tambahkan Nama Sumber Daya Amazon (ARN) peran ke `Allow use of the key` objek, seperti yang ditunjukkan pada contoh berikut.
**catatan**  
Jika objek itu hilang, tambahkan dengan izin yang ditunjukkan dalam contoh.

      ```
              ...
              {
                  "Sid": "Allow use of the key",
                  "Effect": "Allow",
                  "Principal": {
                      "AWS": [
                          "arn:aws:iam::<catalog-account-id>:role/<role-name>"
                      ]
                  },
                  "Action": [
                      "kms:Encrypt",
                      "kms:Decrypt",
                      "kms:ReEncrypt*",
                      "kms:GenerateDataKey*",
                      "kms:DescribeKey"
                  ],
                  "Resource": "*"
              },
              ...
      ```

      Untuk informasi selengkapnya, lihat [Mengizinkan Pengguna di Akun Lain Menggunakan kunci KMS](https://docs.amazonaws.cn/en_us/kms/latest/developerguide/key-policy-modifying-external-accounts.html) di *Panduan AWS Key Management Service Pengembang*.

       

1. Buka AWS Lake Formation konsol di [https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/). Masuk ke AWS akun Katalog Data sebagai administrator danau data.

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

1. Pilih **Daftar lokasi**.

1. Pada **halaman Daftar lokasi**, untuk jalur **Amazon S3, masukkan jalur** lokasi sebagai. **s3://*<bucket>*/*<prefix>*** Ganti *<bucket>* dengan nama ember dan *<prefix>* dengan sisa jalur untuk lokasi.
**catatan**  
**Anda harus mengetik jalur karena bucket lintas akun tidak muncul dalam daftar saat Anda memilih Browse.**

1. Untuk **peran IAM**, pilih peran dari Langkah 2.

1. Pilih **Daftar lokasi**.

# Membatalkan pendaftaran lokasi Amazon S3
<a name="unregister-location"></a>

Anda dapat membatalkan pendaftaran lokasi Amazon Simple Storage Service (Amazon S3) Simple Storage Service (Amazon S3) jika Anda tidak ingin lagi dikelola oleh Lake Formation. Pencabutan pendaftaran lokasi tidak memengaruhi izin lokasi data Lake Formation yang diberikan pada lokasi tersebut. Anda dapat mendaftarkan ulang lokasi yang dideregistrasi, dan izin lokasi data tetap berlaku. Anda dapat menggunakan peran yang berbeda untuk mendaftarkan ulang lokasi.

**Untuk membatalkan pendaftaran lokasi (konsol)**

1. Buka AWS Lake Formation konsol di [https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/). Masuk sebagai administrator data lake atau sebagai pengguna dengan izin `lakeformation:RegisterResource` IAM.

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

1. Pilih lokasi, dan pada menu **Tindakan**, pilih **Hapus**.

1. Saat diminta konfirmasi, pilih **Hapus**.

# Mode akses hibrid
<a name="hybrid-access-mode"></a>

AWS Lake Formation *mode akses hybrid* mendukung dua jalur izin ke AWS Glue Data Catalog objek yang sama.  Di jalur pertama, Lake Formation memungkinkan Anda memilih prinsip tertentu, dan memberi mereka izin Lake Formation untuk mengakses katalog, database, tabel, dan tampilan dengan ikut serta. Jalur kedua memungkinkan semua prinsipal lain untuk mengakses sumber daya ini melalui kebijakan utama IAM default untuk Amazon S3 dan tindakan. AWS Glue 

Saat mendaftarkan lokasi Amazon S3 dengan Lake Formation, Anda memiliki opsi untuk menerapkan izin Lake Formation untuk semua sumber daya di lokasi ini atau menggunakan mode akses hybrid. Mode akses hybrid hanya memberlakukan`CREATE_TABLE`,`CREATE_PARTITION`, `UPDATE_TABLE` izin secara default. Saat lokasi Amazon S3 berada dalam mode hibrida, Anda dapat mengaktifkan izin Lake Formation dengan memilih prinsipal untuk objek Katalog Data di bawah lokasi tersebut. Ini berarti izin Lake Formation dan izin IAM dapat mengontrol akses ke data tersebut. Ini berarti bahwa memilih prinsipal akan memerlukan izin Lake Formation dan izin IAM untuk mengakses data, sementara non-opted-in prinsipal akan terus mengakses data hanya dengan menggunakan izin IAM.

Dengan demikian, mode akses hybrid memberikan fleksibilitas untuk mengaktifkan Lake Formation secara selektif untuk katalog, database, dan tabel di Katalog Data Anda untuk kumpulan pengguna tertentu tanpa mengganggu akses untuk pengguna atau beban kerja lain yang ada.

![\[Akun AWS architecture showing data flow between S3, Glue, Lake Formation, Athena, and IAM roles.\]](http://docs.aws.amazon.com/id_id/lake-formation/latest/dg/images/hybrid-access-mode-concept.png)


Untuk pertimbangan dan batasan, lihat [Pertimbangan dan batasan mode akses hibrida](notes-hybrid.md).Istilah dan definisi

 Berikut adalah definisi sumber daya Katalog Data berdasarkan cara Anda mengatur izin akses: 

Sumber daya Lake Formation  
 Sumber daya yang terdaftar di Lake Formation. Pengguna memerlukan izin Lake Formation untuk mengakses sumber daya. 

AWS Glue sumber daya  
Sumber daya yang tidak terdaftar di Lake Formation. Pengguna hanya memerlukan izin IAM untuk mengakses sumber daya karena memiliki izin `IAMAllowedPrincipals` grup. Izin Lake Formation tidak diberlakukan.  
Untuk informasi selengkapnya tentang izin `IAMAllowedPrincipals` grup, lihat[Izin metadata](metadata-permissions.md).

Sumber daya hibrida  
Sumber daya yang terdaftar dalam mode akses hybrid. Berdasarkan pengguna yang mengakses sumber daya, sumber daya secara dinamis beralih antara menjadi sumber daya Lake Formation atau sumber daya. AWS Glue 

## Kasus penggunaan mode akses hybrid umum
<a name="hybrid-access-mode-use-cases"></a>

Anda dapat menggunakan mode akses hybrid untuk menyediakan akses dalam skenario berbagi data akun tunggal dan lintas akun:

**Skenario akun tunggal**
+ **Konversikan AWS Glue sumber daya menjadi sumber daya hibrida** — Dalam skenario ini, saat ini Anda tidak menggunakan Lake Formation tetapi ingin mengadopsi izin Lake Formation untuk objek Katalog Data. Saat mendaftarkan lokasi Amazon S3 dalam mode akses hybrid, Anda dapat memberikan izin Lake Formation kepada pengguna yang memilih database dan tabel tertentu yang menunjuk ke lokasi tersebut. 
+ **Mengonversi sumber daya Lake Formation menjadi sumber daya hibrida** — Saat ini, Anda menggunakan izin Lake Formation untuk mengontrol akses database Katalog Data tetapi ingin memberikan akses ke prinsipal baru menggunakan izin IAM untuk Amazon S3 dan tanpa AWS Glue mengganggu izin Lake Formation yang ada.

  Saat Anda memperbarui pendaftaran lokasi data ke mode akses hibrid, prinsipal baru dapat mengakses database Katalog Data yang menunjuk lokasi Amazon S3 menggunakan kebijakan izin IAM tanpa mengganggu izin Lake Formation pengguna yang ada.

  Sebelum memperbarui pendaftaran lokasi data untuk mengaktifkan mode akses hibrida, Anda harus terlebih dahulu memilih prinsipal yang saat ini mengakses sumber daya dengan izin Lake Formation.  Ini untuk mencegah potensi gangguan pada alur kerja saat ini.  Anda juga perlu memberikan `Super` izin pada tabel dalam database ke `IAMAllowedPrincipal` grup. 

**Skenario berbagi data lintas akun**
+ **Bagikan AWS Glue sumber daya menggunakan mode akses hibrid** — Dalam skenario ini, akun produsen memiliki tabel dalam database yang saat ini dibagikan dengan akun konsumen menggunakan kebijakan izin IAM untuk Amazon AWS Glue S3 dan tindakan. Lokasi data database tidak terdaftar di Lake Formation.

   Sebelum mendaftarkan lokasi data dalam mode akses hybrid, Anda perlu memperbarui **pengaturan versi Cross account** ke versi 4. Versi 4 menyediakan kebijakan AWS RAM izin baru yang diperlukan untuk berbagi lintas akun ketika `IAMAllowedPrincipal` grup memiliki `Super` izin pada sumber daya. Untuk sumber daya dengan izin `IAMAllowedPrincipal` grup, Anda dapat memberikan izin Lake Formation ke akun eksternal dan memilihnya untuk menggunakan izin Lake Formation. Administrator data lake di akun penerima dapat memberikan izin Lake Formation kepada kepala sekolah di akun dan memilihnya untuk menerapkan izin Lake Formation. 
+ **Bagikan sumber daya Lake Formation menggunakan mode akses hybrid** — Saat ini, akun produsen memiliki tabel dalam database yang dibagikan dengan akun konsumen yang memberlakukan izin Lake Formation. Lokasi data database terdaftar di Lake Formation.

  Dalam hal ini, Anda dapat memperbarui pendaftaran lokasi Amazon S3 ke mode akses hibrid, dan membagikan data dari Amazon S3 dan metadata dari Katalog Data menggunakan kebijakan bucket Amazon S3 dan kebijakan sumber daya Katalog Data ke prinsipal di akun konsumen. Anda perlu memberikan kembali izin Lake Formation yang ada dan memilih prinsipal sebelum memperbarui pendaftaran lokasi Amazon S3. Juga, Anda perlu memberikan `Super` izin pada tabel dalam database ke `IAMAllowedPrincipals` grup.

**Topics**
+ [Kasus penggunaan mode akses hybrid umum](#hybrid-access-mode-use-cases)
+ [Cara kerja mode akses hybrid](hybrid-access-workflow.md)
+ [Menyiapkan mode akses hybrid - skenario umum](hybrid-access-setup.md)
+ [Menghapus prinsip dan sumber daya dari mode akses hybrid](delete-hybrid-access.md)
+ [Melihat prinsip dan sumber daya dalam mode akses hybrid](view-hybrid-access.md)
+ [Sumber daya tambahan](additional-resources-hybrid.md)

# Cara kerja mode akses hybrid
<a name="hybrid-access-workflow"></a>

Diagram berikut menunjukkan cara kerja otorisasi Lake Formation dalam mode akses hibrid saat Anda menanyakan sumber daya Katalog Data.

![\[AWS Lake Formation authorization process flowchart for hybrid access mode queries.\]](http://docs.aws.amazon.com/id_id/lake-formation/latest/dg/images/hybrid-workflow.png)


Sebelum mengakses data di data lake Anda, administrator data lake atau pengguna dengan izin administratif menyiapkan kebijakan pengguna tabel Katalog Data individual untuk mengizinkan atau menolak akses ke tabel di Katalog Data Anda. Kemudian, kepala sekolah yang memiliki izin untuk melakukan `RegisterResource` operasi mendaftarkan lokasi Amazon S3 dari tabel dengan Lake Formation dalam mode akses hybrid. Jika lokasi data tidak terdaftar di Lake Formation, administrator memberikan izin Lake Formation kepada pengguna tertentu pada database dan tabel Katalog Data dan memilihnya untuk menggunakan izin Lake Formation untuk database dan tabel tersebut dalam mode akses hibrid.

1. **Mengirimkan kueri** - Prinsipal mengirimkan kueri atau skrip ETL menggunakan layanan terintegrasi seperti Amazon Athena, Amazon EMR, atau AWS Glue Amazon Redshift Spectrum.

1. **Permintaan data** - Mesin analitik terintegrasi mengidentifikasi tabel yang diminta dan mengirimkan permintaan metadata ke Katalog Data (`GetTable`,). `GetDatabase`

1. **Memeriksa izin** - Katalog Data memverifikasi izin akses prinsipal kueri dengan Lake Formation.

   1. Jika tabel tidak memiliki izin `IAMAllowedPrincipals` grup yang dilampirkan, izin Lake Formation diberlakukan.

   1. Jika kepala sekolah telah memilih untuk menggunakan izin Lake Formation dalam mode akses hybrid, dan tabel memiliki izin `IAMAllowedPrincipals` grup yang dilampirkan, izin Lake Formation diberlakukan. Mesin kueri menerapkan filter yang diterimanya dari Lake Formation dan mengembalikan data ke pengguna.

   1. Jika lokasi tabel tidak terdaftar di Lake Formation dan kepala sekolah belum memilih untuk menggunakan izin Lake Formation dalam mode akses hibrida, Katalog Data akan memeriksa apakah tabel memiliki izin `IAMAllowedPrincipals` grup yang dilampirkan padanya. Jika izin ini ada di atas meja, semua kepala sekolah di akun mendapat `Super` atau `All` izin di atas meja. 

      Penjual kredenal Lake Formation tidak tersedia, bahkan ketika memilih, kecuali lokasi data terdaftar di Lake Formation.

1. **Dapatkan kredensi** — Katalog Data memeriksa dan memberi tahu mesin apakah lokasi tabel terdaftar di Lake Formation atau tidak. Jika data yang mendasarinya terdaftar di Lake Formation, mesin analitik meminta kredensi sementara Lake Formation untuk mengakses data di bucket Amazon S3. 

1. **Dapatkan data** — Jika kepala sekolah berwenang untuk mengakses data tabel, Lake Formation menyediakan akses sementara ke mesin analitik terintegrasi. Menggunakan akses sementara, mesin analitik mengambil data dari Amazon S3, dan melakukan pemfilteran yang diperlukan seperti pemfilteran kolom, baris, atau sel. Ketika mesin selesai menjalankan pekerjaan, ia mengembalikan hasilnya kembali ke pengguna. Proses ini disebut credential vending. Untuk informasi lebih lanjut, lihat[Mengintegrasikan layanan pihak ketiga dengan Lake Formation](Integrating-with-LakeFormation.md).

1.  Jika lokasi data tabel tidak terdaftar di Lake Formation, panggilan kedua dari mesin analitik dilakukan langsung ke Amazon S3. Kebijakan bucket Amazon S3 terkait dan kebijakan pengguna IAM dievaluasi untuk akses data. Setiap kali Anda menggunakan kebijakan IAM, pastikan bahwa Anda mengikuti praktik terbaik IAM. Untuk informasi selengkapnya, lihat [Praktik terbaik keamanan di IAM di Panduan Pengguna IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html).

# Menyiapkan mode akses hybrid - skenario umum
<a name="hybrid-access-setup"></a>

Seperti halnya izin Lake Formation, Anda biasanya memiliki dua jenis skenario di mana Anda dapat menggunakan mode akses hibrida untuk mengelola akses data: Menyediakan akses ke prinsipal dalam satu Akun AWS dan menyediakan akses ke eksternal atau prinsipal. Akun AWS 

 Bagian ini memberikan petunjuk untuk mengatur mode akses hybrid dalam skenario berikut: 

**Kelola izin dalam mode akses hybrid dalam satu Akun AWS**
+ [Mengonversi sumber AWS Glue daya menjadi sumber daya hibrida](hybrid-access-mode-new.md)— Saat ini Anda menyediakan akses ke tabel dalam database untuk semua prinsipal di akun Anda menggunakan izin IAM untuk Amazon S3 dan tetapi AWS Glue ingin mengadopsi Lake Formation untuk mengelola izin secara bertahap. 
+ [Mengonversi sumber daya Lake Formation menjadi sumber daya hibrida](hybrid-access-mode-update.md)— Saat ini Anda menggunakan Lake Formation untuk mengelola akses tabel dalam database untuk semua kepala sekolah di akun Anda tetapi ingin menggunakan Lake Formation hanya untuk prinsipal tertentu. Anda ingin memberikan akses ke prinsipal baru dengan menggunakan izin IAM untuk dan Amazon AWS Glue S3 pada database dan tabel yang sama.

**Kelola izin dalam mode akses hybrid di seluruh s Akun AWS**
+ [Berbagi AWS Glue sumber daya menggunakan mode akses hybrid](hybrid-access-mode-cross-account.md)— Saat ini Anda tidak menggunakan Lake Formation untuk mengelola izin untuk tabel tetapi ingin menerapkan izin Lake Formation untuk menyediakan akses bagi kepala sekolah di akun lain.
+ [Berbagi sumber daya Lake Formation menggunakan mode akses hybrid](hybrid-access-mode-cross-account-IAM.md)— Anda menggunakan Lake Formation untuk mengelola akses untuk tabel tetapi ingin memberikan akses untuk prinsipal di akun lain dengan menggunakan izin IAM untuk dan Amazon AWS Glue S3 pada database dan tabel yang sama. 

**Menyiapkan mode akses hybrid - Langkah-langkah tingkat tinggi**

1. Daftarkan lokasi data Amazon S3 dengan Lake Formation dengan memilih mode **akses Hybrid**. 

1. Prinsipal harus memiliki `DATA_LOCATION` izin pada lokasi danau data untuk membuat tabel Katalog Data atau database yang mengarah ke lokasi tersebut. 

1.  Setel **pengaturan versi Cross-account** ke Versi 4. 

1. Berikan izin halus kepada pengguna atau peran IAM tertentu pada database dan tabel. Pada saat yang sama, pastikan untuk mengatur `Super` atau `All` izin ke `IAMAllowedPrincipals` grup pada database dan semua atau tabel yang dipilih dalam database.

1. Pilih prinsip dan sumber daya. Prinsipal lain di akun dapat terus mengakses database dan tabel menggunakan kebijakan izin IAM untuk dan tindakan Amazon S3. AWS Glue 

1. Secara opsional bersihkan kebijakan izin IAM untuk Amazon S3 untuk prinsipal yang memilih untuk menggunakan izin Lake Formation.

# Prasyarat untuk mengatur mode akses hybrid
<a name="hybrid-access-prerequisites"></a>

Berikut ini adalah prasyarat untuk mengatur mode akses hybrid: 

**catatan**  
 Kami menyarankan agar administrator Lake Formation mendaftarkan lokasi Amazon S3 dalam mode akses hybrid, dan memilih prinsip dan sumber daya. 

1. Berikan izin lokasi data (`DATA_LOCATION_ACCESS`) untuk membuat sumber daya Katalog Data yang mengarah ke lokasi Amazon S3. Izin lokasi data mengontrol kemampuan untuk membuat katalog Katalog Data, database, dan tabel yang mengarah ke lokasi Amazon S3 tertentu. 

1. Untuk berbagi sumber daya Katalog Data dengan akun lain dalam mode akses hybrid (tanpa menghapus izin `IAMAllowedPrincipals` grup dari sumber daya), Anda perlu memperbarui **pengaturan versi Cross account ke Versi** 4 atau lebih tinggi. Untuk memperbarui versi menggunakan konsol Lake Formation, pilih **Versi 4** atau **Versi 5** di bawah **Pengaturan versi Cross account** pada halaman **pengaturan Katalog Data**. 

   Anda juga dapat menggunakan `put-data-lake-settings` AWS CLI perintah untuk mengatur `CROSS_ACCOUNT_VERSION` parameter ke versi 4 atau 5:

   ```
   aws lakeformation put-data-lake-settings --region us-east-1 --data-lake-settings file://settings
   {
   "DataLakeAdmins": [
           {
   "DataLakePrincipalIdentifier": "arn:aws:iam::<111122223333>:user/<user-name>"
           }
       ],
       "CreateDatabaseDefaultPermissions": [],
       "CreateTableDefaultPermissions": [],
       "Parameters": {
   "CROSS_ACCOUNT_VERSION": "5"
       }
   }
   ```

1.  Untuk memberikan izin lintas akun dalam mode akses hybrid, pemberi harus memiliki izin IAM yang diperlukan untuk dan layanan. AWS Glue AWS RAM Kebijakan AWS terkelola `AWSLakeFormationCrossAccountManager` memberikan izin yang diperlukan.  Untuk mengaktifkan berbagi data lintas akun dalam mode akses hybrid, kami telah memperbarui kebijakan `AWSLakeFormationCrossAccountManager` terkelola dengan menambahkan dua izin IAM baru:
   + domba jantan: ListResourceSharePermissions
   + domba jantan: AssociateResourceSharePermission
**catatan**  
Jika Anda tidak menggunakan kebijakan AWS terkelola untuk peran pemberi, tambahkan kebijakan di atas ke kebijakan khusus Anda.

## Lokasi bucket Amazon S3 dan akses pengguna
<a name="w2aac11c34c21c15b9"></a>

Saat membuat katalog, database, atau tabel di dalam AWS Glue Data Catalog, Anda dapat menentukan lokasi bucket Amazon S3 dari data yang mendasarinya dan mendaftarkannya ke Lake Formation. Tabel di bawah ini menjelaskan cara kerja izin AWS Glue dan pengguna Lake Formation (prinsipal) berdasarkan lokasi data Amazon S3 dari tabel atau database. 


**Lokasi Amazon S3 terdaftar di Lake Formation**  

| Lokasi Amazon S3 dari database | AWS Glue pengguna | Pengguna Lake Formation | 
| --- | --- | --- | 
|  Terdaftar dengan Lake Formation (dalam mode akses hybrid atau dalam mode Lake Formation)  |  Memiliki read/write akses ke lokasi data Amazon S3 dengan mewarisi izin dari izin grup IAMAllowed Prinsipal (akses super).  | Mewarisi izin untuk membuat tabel dari izin CREATE TABLE yang diberikan. | 
| Tidak ada lokasi Amazon S3 terkait |  Memerlukan izin LOKASI DATA eksplisit untuk menjalankan pernyataan CREATE TABLE dan INSERT TABLE.  |  Memerlukan izin LOKASI DATA eksplisit untuk menjalankan pernyataan CREATE TABLE dan INSERT TABLE.  | 

****IsRegisteredWithLakeFormation**properti meja**  
`IsRegisteredWithLakeFormation`Properti tabel menunjukkan apakah lokasi data tabel terdaftar dengan Lake Formation untuk pemohon. Jika mode izin lokasi terdaftar sebagai Lake Formation, maka `IsRegisteredWithLakeFormation` properti adalah `true` untuk semua pengguna yang mengakses lokasi data karena semua pengguna dianggap memilih untuk tabel tersebut. Jika lokasi terdaftar dalam mode akses hybrid, maka nilainya diatur `true` hanya untuk pengguna yang telah memilih tabel tersebut. 


**Cara kerja `IsRegisteredWithLakeFormation`**  

| Modus izin | Pengguna/Peran |  `IsRegisteredWithLakeFormation`  | Deskripsi | 
| --- | --- | --- | --- | 
|  Lake Formation  | Semua | True |  Ketika lokasi terdaftar di Lake Formation, `IsRegisteredWithLakeFormation` properti akan disetel ke true untuk semua pengguna. Ini berarti bahwa izin yang ditentukan dalam Lake Formation berlaku untuk lokasi yang terdaftar. Credential vending akan dilakukan oleh Lake Formation.  | 
| Mode akses hibrid | Memilih | True |  Untuk pengguna yang telah memilih untuk menggunakan Lake Formation untuk akses data dan tata kelola untuk tabel, `IsRegisteredWithLakeFormation` properti akan diatur `true` untuk tabel tersebut. Mereka tunduk pada kebijakan izin yang ditentukan dalam Lake Formation untuk lokasi terdaftar.  | 
| Mode akses hibrid | Tidak memilih | False |  Untuk pengguna yang belum memilih untuk menggunakan izin Lake Formation, `IsRegisteredWithLakeFormation` properti disetel ke. `false` Mereka tidak tunduk pada kebijakan izin yang ditentukan dalam Lake Formation untuk lokasi terdaftar. Sebagai gantinya, pengguna akan mengikuti kebijakan izin Amazon S3.  | 

# Mengonversi sumber AWS Glue daya menjadi sumber daya hibrida
<a name="hybrid-access-mode-new"></a>

Ikuti langkah-langkah berikut untuk mendaftarkan lokasi Amazon S3 dalam mode akses hybrid dan mengaktifkan pengguna Lake Formation baru tanpa mengganggu akses data pengguna Katalog Data yang ada. 

Deskripsi skenario - Lokasi data tidak terdaftar di Lake Formation, dan akses pengguna ke database dan tabel Katalog Data ditentukan oleh kebijakan izin IAM untuk Amazon S3 dan tindakan. AWS Glue   `IAMAllowedPrincipals`Grup secara default memiliki `Super` izin pada semua tabel dalam database. 

**Untuk mengaktifkan mode akses hibrida untuk lokasi data yang tidak terdaftar di Lake Formation**

1. 

**Daftarkan lokasi Amazon S3 yang mengaktifkan mode akses hybrid.**

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

   1. Masuk ke [konsol Lake Formation](https://console.aws.amazon.com/lakeformation/) sebagai administrator danau data. 

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

   1. Pilih **Daftar lokasi**.  
![\[Register location form for Amazon S3 data lake with path input, IAM role selection, and permission mode options.\]](http://docs.aws.amazon.com/id_id/lake-formation/latest/dg/images/hybrid-access-register-s3.png)

   1. Pada jendela **Register location**, pilih jalur **Amazon S3** yang ingin Anda daftarkan dengan Lake Formation. 

   1. Untuk **peran IAM**, pilih peran `AWSServiceRoleForLakeFormationDataAccess` terkait layanan (default) atau IAM kustom peran yang memenuhi persyaratan di[Persyaratan untuk peran yang digunakan untuk mendaftarkan lokasi](registration-role.md). 

   1. Pilih **mode akses Hybrid** untuk menerapkan kebijakan kontrol akses Lake Formation berbutir halus ke prinsipal keikutsertaan serta database dan tabel Katalog Data yang menunjuk ke lokasi terdaftar. 

      Pilih Lake Formation untuk mengizinkan Lake Formation mengotorisasi permintaan akses ke lokasi yang terdaftar. 

   1. Pilih **Daftar lokasi**.

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

   Berikut ini adalah contoh untuk mendaftarkan lokasi data dengan Lake Formation HybridAccessEnabled dengan:true/false. Nilai default untuk `HybridAccessEnabled` parameter adalah false. Ganti jalur Amazon S3, nama peran, dan id AWS akun dengan nilai yang valid.

   ```
   aws lakeformation register-resource --cli-input-json file:file path
   json:
       {
           "ResourceArn": "arn:aws:s3:::s3-path",
           "UseServiceLinkedRole": false,
           "RoleArn": "arn:aws:iam::<123456789012>:role/<role-name>",
           "HybridAccessEnabled": true
       }
   ```

------

1. 

**Berikan izin dan pilih prinsipal untuk menggunakan izin Lake Formation untuk sumber daya dalam mode akses hybrid**

   Sebelum Anda memilih prinsipal dan sumber daya dalam mode akses hibrida, verifikasi bahwa `Super` atau `All` izin untuk `IAMAllowedPrincipals` mengelompokkan ada di database dan tabel yang memiliki lokasi terdaftar dengan Lake Formation dalam mode akses hybrid.
**catatan**  
Anda tidak dapat memberikan izin `IAMAllowedPrincipals` grup di `All tables` dalam database. Anda harus memilih setiap tabel secara terpisah dari menu drop-down, dan memberikan izin. Juga, ketika Anda membuat tabel baru dalam database, Anda dapat memilih untuk menggunakan `Use only IAM access control for new tables in new databases` dalam **Pengaturan Katalog Data**. Opsi ini memberikan `Super` izin ke `IAMAllowedPrincipals` grup secara otomatis saat Anda membuat tabel baru dalam database. 

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

   1. **Di konsol Lake Formation, di bawah **Katalog Data**, pilih **Katalog**, **Database**, atau Tabel.**

   1. Pilih katalog, database, atau tabel dari daftar, dan pilih **Hibah** dari menu **Tindakan**.

   1. Pilih prinsipal untuk memberikan izin pada database, tabel, dan kolom menggunakan metode sumber daya bernama atau LF-tag.

      **Atau, pilih **Izin data**, pilih prinsipal untuk memberikan izin dari daftar, dan pilih Hibah.**

      Untuk detail selengkapnya tentang pemberian izin data, lihat. [Memberikan izin pada sumber daya Katalog Data](granting-catalog-permissions.md)
**catatan**  
Jika Anda memberikan izin Create table utama, Anda juga perlu memberikan izin lokasi data (`DATA_LOCATION_ACCESS`) kepada prinsipal. Izin ini tidak diperlukan untuk memperbarui tabel.  
Untuk informasi selengkapnya, lihat [Memberikan izin lokasi data](granting-location-permissions.md).

   1. Saat Anda menggunakan **metode sumber daya bernama** untuk memberikan izin, opsi untuk memilih prinsipal dan sumber daya tersedia di bagian bawah halaman izin data **Hibah**. 

      Pilih **Jadikan izin Lake Formation segera efektif** untuk mengaktifkan izin Lake Formation untuk kepala sekolah dan sumber daya.  
![\[Opsi untuk memilih mode akses hybrid untuk sumber daya Katalog Data.\]](http://docs.aws.amazon.com/id_id/lake-formation/latest/dg/images/hybrid-access-grant-option.png)

   1. Pilih**Izin**.

       Ketika Anda memilih prinsipal A pada tabel A yang menunjuk ke lokasi data, ini memungkinkan prinsipal A untuk memiliki akses ke lokasi tabel ini menggunakan izin Lake Formation jika lokasi data terdaftar dalam mode hybrid. 

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

   Berikut ini adalah contoh untuk memilih dalam prinsipal dan tabel dalam mode akses hybrid. Ganti nama peran, id AWS akun, nama database, dan nama tabel dengan nilai yang valid.

   ```
   aws lakeformation create-lake-formation-opt-in --cli-input-json file://file path
   json:
     {
           "Principal": {
               "DataLakePrincipalIdentifier": "arn:aws:iam::<123456789012>:role/<hybrid-access-role>"
           },
           "Resource": {
               "Table": {
                   "CatalogId": "<123456789012>",
                   "DatabaseName": "<hybrid_test>",
                   "Name": "<hybrid_test_table>"
               }
           }
       }
   ```

------

   1. Jika Anda memilih LF-tag untuk memberikan izin, Anda dapat memilih prinsipal untuk menggunakan izin Lake Formation dalam langkah terpisah. Anda dapat melakukan ini dengan memilih **mode akses Hybrid** di bawah **Izin** dari bilah navigasi kiri.

   1.  Pada bagian bawah halaman **mode akses Hybrid**, pilih **Tambahkan untuk menambahkan** sumber daya dan prinsipal ke mode akses hybrid. 

   1.  Pada halaman **Tambah sumber daya dan prinsipal**, pilih katalog, database, dan tabel yang terdaftar dalam mode akses hybrid. 

      Anda dapat memilih `All tables` di bawah database untuk memberikan akses.  
![\[Antarmuka untuk menambahkan katalog, database, dan tabel dalam mode akses hybrid.\]](http://docs.aws.amazon.com/id_id/lake-formation/latest/dg/images/hybrid-access-opt-in.png)

   1. Pilih kepala sekolah yang ikut serta untuk menggunakan izin Lake Formation dalam mode akses hybrid.
      +  **Prinsipal** — Anda dapat memilih pengguna dan peran IAM di akun yang sama atau di akun lain. Anda juga dapat memilih pengguna dan grup SAMB.
      + **Atribut** - Pilih atribut untuk memberikan izin berdasarkan atribut.  
![\[Antarmuka untuk menambahkan prinsipal dan sumber daya dengan ekspresi atribut.\]](http://docs.aws.amazon.com/id_id/lake-formation/latest/dg/images/abac-hybrid-access.png)
      + Masukkan pasangan kunci-nilai untuk membuat hibah berdasarkan atribut. Tinjau ekspresi kebijakan Cedar di konsol. Untuk informasi lebih lanjut tentang Cedar, lihat [Apa itu Cedar? \$1 Referensi GuideLink Bahasa Kebijakan Cedar](https://docs.cedarpolicy.com/).
      + Pilih **Tambahkan**.

        Semua IAM roles/users dengan atribut yang cocok diberikan akses.

   1. Pilih **Tambahkan**.

# Mengonversi sumber daya Lake Formation menjadi sumber daya hibrida
<a name="hybrid-access-mode-update"></a>

Jika Anda saat ini menggunakan izin Lake Formation untuk database dan tabel Katalog Data, Anda dapat mengedit properti pendaftaran lokasi untuk mengaktifkan mode akses hybrid. Ini memungkinkan Anda memberikan akses kepada prinsipal baru ke sumber daya yang sama menggunakan kebijakan izin IAM untuk Amazon S3 dan tindakan tanpa AWS Glue mengganggu izin Lake Formation yang ada.

 Deskripsi skenario - Langkah-langkah berikut mengasumsikan bahwa Anda memiliki lokasi data yang terdaftar di Lake Formation, dan Anda telah menyiapkan izin untuk prinsipal pada database, tabel, atau kolom yang menunjuk ke lokasi tersebut. Jika lokasi terdaftar dengan peran yang ditautkan layanan, Anda tidak dapat memperbarui parameter lokasi dan mengaktifkan mode akses hibrid. `IAMAllowedPrincipals`Grup secara default memiliki izin Super pada database dan semua tabelnya. 

**penting**  
Jangan memperbarui pendaftaran lokasi ke mode akses hybrid tanpa memilih prinsipal yang mengakses data di lokasi ini.

**Mengaktifkan mode akses hybrid untuk lokasi data yang terdaftar di Lake Formation**

1. 
**Awas**  
Kami tidak menyarankan untuk mengonversi lokasi data terkelola Lake Formation ke mode akses hibrid untuk menghindari gangguan kebijakan izin pengguna atau beban kerja lain yang ada.

   Pilih kepala sekolah yang ada yang memiliki izin Lake Formation.

   1. Buat daftar dan tinjau izin yang Anda berikan kepada prinsipal di katalog, database, dan tabel. Untuk informasi selengkapnya, lihat [Melihat izin database dan tabel di Lake Formation](viewing-permissions.md). 

   1. Pilih **mode akses Hybrid** di bawah **Izin** dari bilah navigasi kiri, dan pilih **Tambah**. 

   1. Pada halaman **Tambah prinsip dan sumber daya**, pilih katalog, database, dan tabel dari lokasi data Amazon S3 yang ingin Anda gunakan dalam mode akses hybrid. Pilih kepala sekolah yang sudah memiliki izin Lake Formation. 

   1.  Pilih **Tambah** untuk memilih prinsipal untuk menggunakan izin Lake Formation dalam mode akses hybrid.

1.  Perbarui bucket/prefix pendaftaran Amazon S3 dengan memilih opsi **mode akses Hybrid**. 

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

   1. Masuk ke konsol Lake Formation sebagai administrator danau data.

   1.  Di panel navigasi, di bawah **Daftar dan Ingest**, pilih Lokasi **danau data**.

   1. Pilih lokasi, dan pada menu **Tindakan**, pilih **Edit**.

   1. Pilih **mode akses Hybrid**. 

   1. Pilih **Simpan**. 

   1. Di bawah Katalog Data, pilih database atau tabel dan berikan `Super` atau `All` izin ke grup virtual yang disebut`IAMAllowedPrincipals`. 

   1.  Verifikasi bahwa akses pengguna Lake Formation yang ada tidak terganggu saat Anda memperbarui properti pendaftaran lokasi. Masuk ke konsol Athena sebagai kepala sekolah Lake Formation dan jalankan contoh kueri pada tabel yang menunjuk ke lokasi yang diperbarui. 

      Demikian pula, verifikasi akses AWS Glue pengguna yang menggunakan kebijakan izin IAM untuk mengakses database dan tabel.

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

   Berikut ini adalah contoh untuk mendaftarkan lokasi data dengan Lake Formation HybridAccessEnabled dengan:true/false. Nilai default untuk `HybridAccessEnabled` parameter adalah false. Ganti jalur Amazon S3, nama peran, dan id AWS akun dengan nilai yang valid.

   ```
   aws lakeformation update-resource --cli-input-json file://file path
   json:
   {
       "ResourceArn": "arn:aws:s3:::<s3-path>",
       "RoleArn": "arn:aws:iam::<123456789012>:role/<test>",
       "HybridAccessEnabled": true
   }
   ```

------

# Berbagi AWS Glue sumber daya menggunakan mode akses hybrid
<a name="hybrid-access-mode-cross-account"></a>

Bagikan data dengan orang lain Akun AWS atau prinsipal dalam Akun AWS menegakkan izin Lake Formation lainnya tanpa mengganggu akses berbasis IAM pengguna Katalog Data yang ada. 

Deskripsi skenario - Akun produsen memiliki database Katalog Data yang memiliki akses yang dikontrol menggunakan kebijakan utama IAM untuk Amazon S3 AWS Glue dan tindakan. Lokasi data database tidak terdaftar di Lake Formation. `IAMAllowedPrincipals`Grup, secara default, memiliki `Super` izin pada database dan semua tabelnya. 

**Memberikan izin Lake Formation lintas akun dalam mode akses hybrid**

1. 

**Pengaturan akun produser**

   1. Masuk ke konsol Lake Formation menggunakan peran yang memiliki izin `lakeformation:PutDataLakeSettings` IAM.

   1. Buka **pengaturan Katalog Data**, dan pilih `Version 4` **pengaturan versi Cross account**.

      Jika saat ini Anda menggunakan versi 1 atau 2, lihat [Memperbarui pengaturan versi berbagi data lintas akun](optimize-ram.md) petunjuk tentang memperbarui ke versi 3. 

      Tidak ada perubahan kebijakan izin yang diperlukan saat memutakhirkan dari versi 3 ke 4.

   1. Daftarkan lokasi Amazon S3 dari database atau tabel yang akan Anda bagikan dalam mode akses hybrid.

   1. Verifikasi bahwa `Super` izin ke `IAMAllowedPrincipals` grup ada di database dan tabel tempat Anda mendaftarkan lokasi data dalam mode akses hibrida pada langkah di atas. 

   1. Berikan izin Lake Formation ke AWS organisasi, unit organisasi (OUs), atau langsung dengan kepala IAM di akun lain.

   1. Jika Anda memberikan izin langsung ke prinsipal IAM, pilih prinsipal dari akun konsumen untuk menerapkan izin Lake Formation dalam mode akses hybrid dengan mengaktifkan opsi Jadikan izin **Lake Formation** segera berlaku.

       Jika Anda memberikan izin lintas akun ke AWS akun lain, saat Anda memilih akun, izin Lake Formation diberlakukan hanya untuk admin akun tersebut. Administrator danau data akun penerima perlu menurunkan izin dan memilih prinsipal di akun untuk menerapkan izin Lake Formation untuk sumber daya bersama yang berada dalam mode akses hibrid.

      Jika Anda memilih opsi **Sumber daya yang cocok dengan LF-tag** untuk memberikan izin lintas akun, Anda harus terlebih dahulu menyelesaikan langkah pemberian izin. Anda dapat memilih prinsip dan sumber daya ke mode akses hibrid sebagai langkah terpisah dengan memilih **mode akses Hybrid** di bawah Izin di bilah navigasi kiri konsol Lake Formation. Kemudian pilih **Tambah** untuk menambahkan sumber daya dan prinsip yang ingin Anda terapkan izin Lake Formation. 

1. 

**Pengaturan akun konsumen**

   1. Masuk ke konsol Lake Formation di [https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/)sebagai administrator danau data.

   1. Pergi ke [https://console.aws.amazon.com/ram/rumah](https://console.aws.amazon.com/ram/home), dan terima undangan berbagi sumber daya. Tab **Dibagikan dengan saya** di AWS RAM konsol menampilkan database dan tabel yang dibagikan dengan akun Anda.

   1.  Buat tautan sumber daya ke and/or tabel database bersama di Lake Formation.

   1.  Berikan `Describe` izin pada tautan sumber daya dan `Grant on target` izin (pada sumber daya bersama asli) ke prinsipal IAM di akun (konsumen) Anda. 

   1.  Berikan izin Lake Formation pada database atau tabel yang dibagikan dengan Anda kepada kepala sekolah di akun Anda. Pilih prinsip dan sumber daya untuk menerapkan izin Lake Formation dalam mode akses hybrid dengan mengaktifkan opsi Jadikan izin **Lake Formation** segera efektif.

   1.  Uji izin Lake Formation kepala sekolah dengan menjalankan contoh kueri Athena. Uji akses AWS Glue pengguna Anda yang ada dengan kebijakan utama IAM untuk Amazon S3 AWS Glue dan tindakan.

      (Opsional) Hapus kebijakan bucket Amazon S3 untuk akses data dan kebijakan utama IAM dan akses data Amazon AWS Glue S3 untuk prinsipal yang Anda konfigurasikan untuk menggunakan izin Lake Formation.

# Berbagi sumber daya Lake Formation menggunakan mode akses hybrid
<a name="hybrid-access-mode-cross-account-IAM"></a>

Izinkan pengguna Katalog Data baru di akun eksternal untuk mengakses database dan tabel Katalog Data menggunakan kebijakan berbasis IAM tanpa mengganggu izin berbagi lintas akun Lake Formation yang ada.

Deskripsi skenario - Akun produsen memiliki database dan tabel terkelola Lake Formation yang dibagikan dengan akun eksternal (konsumen) di tingkat akun atau tingkat utama IAM. Lokasi data database terdaftar di Lake Formation. `IAMAllowedPrincipals`Grup tidak memiliki `Super` izin pada database dan tabelnya. 

**Memberikan akses lintas akun ke pengguna Katalog Data baru melalui kebijakan berbasis IAM tanpa mengganggu izin Lake Formation yang ada**

1. 

**Pengaturan akun produser**

   1. Masuk ke konsol Lake Formation menggunakan peran itu`lakeformation:PutDataLakeSettings`. 

   1. Di bawah **Pengaturan Katalog Data**, pilih `Version 4` **pengaturan versi Cross account**.

      Jika saat ini Anda menggunakan versi 1 atau 2, lihat [Memperbarui pengaturan versi berbagi data lintas akun](optimize-ram.md) petunjuk tentang memperbarui ke versi 3. 

      Tidak ada perubahan kebijakan izin yang diperlukan untuk meningkatkan dari versi 3 ke 4.

   1. Buat daftar izin yang Anda berikan kepada prinsipal pada database dan tabel. Untuk informasi selengkapnya, lihat [Melihat izin database dan tabel di Lake Formation](viewing-permissions.md). 

   1.  Berikan kembali izin lintas akun Lake Formation yang ada dengan memilih prinsip dan sumber daya.
**catatan**  
Sebelum memperbarui pendaftaran lokasi data ke mode akses hibrid untuk memberikan izin lintas akun, Anda harus memberikan kembali setidaknya satu pembagian data lintas akun per akun. Langkah ini diperlukan untuk memperbarui izin AWS RAM terkelola yang dilampirkan pada pembagian AWS RAM sumber daya.  
Pada Juli 2023, Lake Formation telah memperbarui izin AWS RAM terkelola yang digunakan untuk berbagi database dan tabel:  
`arn:aws:ram::aws:permission/AWSRAMLFEnabledGlueAllTablesReadWriteForDatabase`(kebijakan pembagian tingkat basis data)
`arn:aws:ram::aws:permission/AWSRAMLFEnabledGlueTableReadWrite`(kebijakan berbagi tingkat tabel) 
Hibah izin lintas akun yang dibuat sebelum Juli 2023 tidak memiliki izin yang diperbarui ini. AWS RAM   
Jika Anda telah memberikan izin lintas akun secara langsung ke kepala sekolah, Anda perlu memberikan kembali izin tersebut secara individual kepada prinsipal. Jika Anda melewati langkah ini, kepala sekolah yang mengakses sumber daya bersama mungkin mendapatkan kesalahan kombinasi ilegal. 

   1. Pergi ke [https://console.aws.amazon.com/ram/rumah](https://console.aws.amazon.com/ram/home). 

   1. Tab **Dibagikan oleh saya** di AWS RAM konsol menampilkan database dan nama tabel yang telah Anda bagikan dengan akun eksternal atau prinsipal.

       Pastikan bahwa izin yang dilampirkan ke sumber daya bersama memiliki ARN yang benar. 

   1. Verifikasi sumber daya dalam AWS RAM pembagian dalam `Associated` status. Jika status menunjukkan sebagai`Associating`, tunggu sampai mereka masuk ke `Associated` negara bagian. Jika statusnya menjadi`Failed`, hentikan dan hubungi tim layanan Lake Formation. 

   1. Pilih **mode akses Hybrid** di bawah **Izin** dari bilah navigasi kiri, dan pilih **Tambah**. 

   1.  Halaman **Add prinsipal dan sumber daya** menunjukkan database, and/or tabel, dan prinsipal yang memiliki akses. Anda dapat membuat pembaruan yang diperlukan dengan menambahkan atau menghapus prinsip dan sumber daya.

   1.  Pilih prinsipal dengan izin Lake Formation untuk database dan tabel yang ingin Anda ubah ke mode akses hybrid. Pilih database dan tabel. 

   1.  Pilih **Tambah** untuk memilih prinsipal untuk menerapkan izin Lake Formation dalam mode akses hybrid.

   1.  Berikan `Super` izin ke grup virtual `IAMAllowedPrincipals` pada database Anda dan tabel yang dipilih. 

   1. Edit pendaftaran Lake Formation lokasi Amazon S3 ke mode akses hybrid.

   1. Berikan izin untuk AWS Glue pengguna di akun eksternal (konsumen) menggunakan kebijakan izin IAM untuk tindakan Amazon AWS Glue S3. 

1. 

**Pengaturan akun konsumen**

   1. Masuk ke konsol Lake Formation di [https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/)sebagai administrator danau data. 

   1. Pergi ke [https://console.aws.amazon.com/ram/rumah](https://console.aws.amazon.com/ram/home) dan terima undangan berbagi sumber daya. Tab **Sumber Daya yang dibagikan dengan saya** di AWS RAM halaman menampilkan database dan nama tabel yang dibagikan dengan akun Anda.

       Untuk AWS RAM pembagian, pastikan bahwa izin terlampir memiliki ARN yang benar dari undangan bersama AWS RAM . Periksa apakah sumber daya dalam AWS RAM pembagian dalam `Associated` status. Jika status menunjukkan sebagai`Associating`, tunggu sampai mereka masuk ke `Associated` negara bagian. Jika statusnya menjadi`Failed`, hentikan dan hubungi tim layanan Lake Formation. 

   1.  Buat tautan sumber daya ke and/or tabel database bersama di Lake Formation.

   1.  Berikan `Describe` izin pada tautan sumber daya dan `Grant on target` izin (pada sumber daya bersama asli) ke prinsipal IAM di akun (konsumen) Anda. 

   1. Selanjutnya, siapkan izin Lake Formation untuk kepala sekolah di akun Anda di database atau tabel bersama.

      Di bilah navigasi kiri, di bawah **Izin**, pilih **mode akses Hybrid**.

   1.  Pilih **Tambah** di bagian bawah halaman **mode akses Hybrid** untuk memilih prinsipal dan database atau tabel yang dibagikan dengan Anda dari akun produsen.

   1.  Berikan izin untuk AWS Glue pengguna di akun Anda menggunakan kebijakan izin IAM untuk tindakan Amazon AWS Glue S3. 

   1.  Uji izin dan AWS Glue izin Lake Formation pengguna dengan menjalankan kueri sampel terpisah di atas meja menggunakan Athena

      (Opsional) Bersihkan kebijakan izin IAM untuk Amazon S3 untuk prinsipal yang berada dalam mode akses hybrid.

# Menghapus prinsip dan sumber daya dari mode akses hybrid
<a name="delete-hybrid-access"></a>

 Ikuti langkah-langkah ini untuk menghapus database, tabel, dan prinsipal dari mode akses hybrid. 

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

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

1. Di bawah **Izin**, pilih **mode akses Hybrid**.

1.  Pada halaman **mode akses Hybrid**, pilih kotak centang di sebelah database atau nama tabel dan pilih`Remove`. 

1. Pesan peringatan meminta Anda untuk mengonfirmasi tindakan tersebut. Pilih **Hapus**.

   Lake Formation tidak lagi memberlakukan izin untuk sumber daya tersebut, dan akses ke sumber daya ini akan dikontrol menggunakan IAM dan izin. AWS Glue Hal ini dapat menyebabkan pengguna tidak lagi memiliki akses ke sumber daya ini jika mereka tidak memiliki izin IAM yang sesuai. 

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

 Contoh berikut menunjukkan cara menghapus sumber daya dari mode akses hybrid. 

```
aws lakeformation delete-lake-formation-opt-in --cli-input-json file://file path

json:
{
    "Principal": {
        "DataLakePrincipalIdentifier": "arn:aws:iam::<123456789012>:role/role name"
    },
    "Resource": {
        "Table": {
            "CatalogId": "<123456789012>",
            "DatabaseName": "<database name>",
            "Name": "<table name>"
          }
    }
}
```

------

# Melihat prinsip dan sumber daya dalam mode akses hybrid
<a name="view-hybrid-access"></a>

 Ikuti langkah-langkah ini untuk melihat database, tabel, dan prinsipal dalam mode akses hybrid. 

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

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

1. Di bawah **Izin**, pilih **mode akses Hybrid**.

1.  Halaman **mode akses Hybrid** menunjukkan sumber daya dan prinsipal yang saat ini dalam mode akses hybrid.. 

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

 Contoh berikut menunjukkan bagaimana untuk daftar semua opt in prinsipal dan sumber daya yang berada dalam mode akses hybrid. 

```
      
aws lakeformation list-lake-formation-opt-ins
```

 Contoh berikut menunjukkan cara membuat daftar opt in untuk pasangan sumber daya utama tertentu.

```
aws lakeformation list-lake-formation-opt-ins --cli-input-json file://file path

json:
{
    "Principal": {
        "DataLakePrincipalIdentifier": "arn:aws:iam::<account-id>:role/<role name>"
    },
    "Resource": {
        "Table": {
            "CatalogId": "<account-id>",
            "DatabaseName": "<database name>",
            "Name": "<table name>"
          }
    }
}
```

------

# Sumber daya tambahan
<a name="additional-resources-hybrid"></a>

Dalam posting blog berikut, kami memandu Anda melalui instruksi untuk izin Lake Formation onboard dalam mode akses hybrid untuk pengguna yang dipilih sementara database sudah dapat diakses oleh pengguna lain melalui izin IAM dan Amazon S3. Kami akan meninjau instruksi untuk mengatur mode akses hybrid dalam AWS akun dan di antara dua akun. 
+ [Memperkenalkan mode akses hybrid AWS Glue Data Catalog untuk mengamankan akses menggunakan kebijakan Lake Formation dan IAM dan Amazon S3.](https://aws.amazon.com/blogs/big-data/introducing-hybrid-access-mode-for-aws-glue-data-catalog-to-secure-access-using-aws-lake-formation-and-iam-and-amazon-s3-policies/)

# Membuat objek di AWS Glue Data Catalog
<a name="populating-catalog"></a>

AWS Lake Formation menggunakan AWS Glue Data Catalog (Katalog Data) untuk menyimpan metadata tentang data lake, sumber data, transformasi, dan target. Metadata adalah data tentang data yang mendasari dalam set data Anda. Setiap AWS akun memiliki satu Katalog Data per AWS Wilayah.

Metadata dalam Katalog Data diatur dalam hierarki data tiga tingkat yang terdiri dari katalog, database, dan tabel. Ini mengatur data dari berbagai sumber ke dalam wadah logis yang disebut katalog. Setiap katalog mewakili data dari sumber seperti gudang data Amazon Redshift, Amazon DynamoDB database, dan sumber data pihak ketiga seperti Snowflake, MySQL, dan lebih dari 30 sumber data eksternal, yang terintegrasi melalui konektor federasi. Anda juga dapat membuat katalog baru di Katalog Data untuk menyimpan data di Bucket Tabel S3 atau Redshift Managed Storage (RMS).

Tabel menyimpan informasi tentang data yang mendasarinya, termasuk informasi skema, informasi partisi, dan lokasi data. Database adalah kumpulan tabel. Katalog Data juga berisi tautan sumber daya, yang merupakan tautan ke katalog bersama, database, dan tabel di akun eksternal, dan digunakan untuk akses lintas akun ke data di danau data.

Katalog Data adalah objek katalog bersarang yang berisi katalog, database, dan tabel. Ini direferensikan oleh Akun AWS ID, dan merupakan katalog default di akun Wilayah AWS dan file. Katalog Data menggunakan hierarki tiga tingkat (catalog.database.table) untuk mengatur tabel. 
+ Katalog — Tingkat paling atas dari tiga tingkat hierarki metadata Katalog Data. Anda dapat menambahkan beberapa katalog dalam Katalog Data melalui federasi.
+ Database — Tingkat kedua dari hierarki metadata yang terdiri dari tabel dan tampilan. Database juga disebut sebagai skema di banyak sistem data seperti Amazon Redshift dan Trino.
+ Tabel dan tampilan — Tingkat ketiga hierarki data 3 tingkat Katalog Data.

Semua tabel Iceberg di Amazon S3 disimpan dalam Katalog Data default yang memiliki ID Katalog = ID. Akun AWS Anda dapat membuat katalog federasi dalam menyimpan definisi tabel di AWS Glue Data Catalog Amazon Redshift, penyimpanan Tabel Amazon S3, atau sumber data pihak ketiga lainnya melalui federasi. 

**Topics**
+ [Membuat katalog](creating-catalog.md)
+ [Membuat basis data](creating-database.md)
+ [Membuat tabel](creating-tables.md)
+ [AWS Glue Data Catalog Pemandangan bangunan](working-with-views.md)

# Membuat katalog
<a name="creating-catalog"></a>

Katalog mewakili tingkat tertinggi atau paling atas dalam hierarki metadata tiga tingkat. AWS Glue Data Catalog Anda dapat menggunakan beberapa metode untuk membawa data ke dalam Katalog Data dan membuat katalog multi-level. 

 Untuk informasi selengkapnya tentang membuat katalog dari sumber data eksternal, lihat. [Membawa data Anda ke AWS Glue Data Catalog](bring-your-data-overview.md) 

 Untuk membuat katalog menggunakan konsol Lake Formation, Anda harus masuk sebagai administrator danau data atau *pembuat katalog*. Pencipta katalog adalah kepala sekolah yang telah diberikan `CREATE_CATALOG` izin Lake Formation. Anda dapat melihat daftar pembuat katalog di halaman **peran dan tugas Administratif** konsol Lake Formation. Untuk melihat daftar ini, Anda harus memiliki izin `lakeformation:ListPermissions` IAM dan masuk sebagai administrator danau data atau sebagai pembuat katalog dengan opsi hibah pada `CREATE_CATALOG` izin.

# Membuat basis data
<a name="creating-database"></a>

Tabel metadata dalam Katalog Data disimpan dalam database. Anda dapat membuat database sebanyak yang Anda butuhkan, dan Anda dapat memberikan izin Lake Formation yang berbeda di setiap database.

Database dapat memiliki properti lokasi opsional. Lokasi ini biasanya berada dalam lokasi Amazon Simple Storage Service (Amazon S3) yang terdaftar di Lake Formation. Saat Anda menentukan lokasi, kepala sekolah tidak memerlukan izin lokasi data untuk membuat tabel Katalog Data yang mengarah ke lokasi dalam lokasi database. Untuk informasi selengkapnya, lihat [Underlying data access control](access-control-underlying-data.md#data-location-permissions).

Untuk membuat database menggunakan konsol Lake Formation, Anda harus masuk sebagai administrator data lake atau *pembuat database*. Pembuat database adalah kepala sekolah yang telah diberikan `CREATE_DATABASE` izin Lake Formation. Anda dapat melihat daftar pembuat basis data di halaman **peran dan tugas Administratif** konsol Lake Formation. Untuk melihat daftar ini, Anda harus memiliki izin `lakeformation:ListPermissions` IAM dan masuk sebagai administrator data lake atau sebagai pembuat basis data dengan opsi hibah pada `CREATE_DATABASE` izin.

**Untuk membuat basis data**

1. Buka AWS Lake Formation konsol di [https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/), dan masuk sebagai administrator danau data atau pembuat basis data.

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

1. Pilih **Buat basis data**.

1. Dalam kotak dialog **Buat database**, masukkan nama database, lokasi opsional, dan deskripsi opsional.

1. Secara opsional pilih **Gunakan hanya kontrol akses IAM untuk tabel baru dalam database ini**.

   Untuk informasi tentang opsi ini, lihat[Mengubah pengaturan default untuk data lake](change-settings.md).

1. Pilih **Buat basis data**.

# Membuat tabel
<a name="creating-tables"></a>

AWS Lake Formation tabel metadata berisi informasi tentang data di danau data, termasuk informasi skema, informasi partisi, dan lokasi data. Tabel ini disimpan dalam Katalog AWS Glue Data. Anda menggunakannya untuk mengakses data dasar di data lake dan mengelola data tersebut dengan izin Lake Formation. Tabel disimpan dalam database dalam Katalog Data.

Ada beberapa cara untuk membuat tabel Katalog Data:
+ Jalankan crawler diAWS Glue. Lihat [Mendefinisikan crawler](https://docs.aws.amazon.com/glue/latest/dg/add-crawler.html) di Panduan *AWS Glue Pengembang*.
+ Buat dan jalankan alur kerja. Lihat [Mengimpor data menggunakan alur kerja di Lake Formation](workflows.md).
+ Buat tabel secara manual menggunakan konsol Lake Formation, AWS Glue API, atau AWS Command Line Interface (AWS CLI).
+ Buat tabel menggunakan Amazon Athena.
+ Buat tautan sumber daya ke tabel di akun eksternal. Lihat [Membuat tautan sumber daya](creating-resource-links.md).

# Membuat tabel Apache Iceberg
<a name="creating-iceberg-tables"></a>

 AWS Lake Formation mendukung pembuatan tabel Apache Iceberg yang menggunakan format data Apache Parquet di AWS Glue Data Catalog dengan data yang berada di Amazon S3. Tabel dalam Katalog Data adalah definisi metadata yang mewakili data dalam penyimpanan data. Secara default, Lake Formation membuat tabel Iceberg v2. Untuk perbedaan antara tabel v1 dan v2, lihat [Format perubahan versi dalam dokumentasi](https://iceberg.apache.org/spec/#appendix-e-format-version-changes) Apache Iceberg.

 [Apache Iceberg](https://iceberg.apache.org/) adalah format tabel terbuka untuk dataset analitik yang sangat besar. Iceberg memungkinkan perubahan mudah pada skema Anda, juga dikenal sebagai evolusi skema, yang berarti bahwa pengguna dapat menambahkan, mengganti nama, atau menghapus kolom dari tabel data tanpa mengganggu data yang mendasarinya. Iceberg juga menyediakan dukungan untuk pembuatan versi data, yang memungkinkan pengguna untuk melacak perubahan data dari waktu ke waktu. Ini memungkinkan fitur perjalanan waktu, yang memungkinkan pengguna untuk mengakses dan menanyakan versi historis data dan menganalisis perubahan data antara pembaruan dan penghapusan.

Anda dapat menggunakan konsol Lake Formation atau `CreateTable` operasi di AWS Glue API untuk membuat tabel Gunung Es di Katalog Data. Untuk informasi selengkapnya, lihat [CreateTable tindakan (Python: create\$1table](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-catalog-tables.html#aws-glue-api-catalog-tables-CreateTable)).

Saat Anda membuat tabel Gunung Es di Katalog Data, Anda harus menentukan format tabel dan jalur file metadata di Amazon S3 agar dapat melakukan pembacaan dan penulisan.

 Anda dapat menggunakan Lake Formation untuk mengamankan tabel Gunung Es menggunakan izin kontrol akses berbutir halus saat Anda mendaftarkan lokasi data Amazon S3. AWS Lake Formation Untuk data sumber di Amazon S3 dan metadata yang tidak terdaftar di Lake Formation, akses ditentukan oleh kebijakan izin IAM untuk Amazon S3 dan tindakan. AWS Glue Untuk informasi selengkapnya, lihat [Mengelola izin Lake Formation](managing-permissions.md). 

**catatan**  
Data Catalog tidak mendukung pembuatan partisi dan menambahkan properti tabel Iceberg.

**Topics**
+ [Prasyarat](#iceberg-prerequisites)
+ [Membuat tabel Iceberg](#create-iceberg-table)

## Prasyarat
<a name="iceberg-prerequisites"></a>

 Untuk membuat tabel Gunung Es di Katalog Data, dan mengatur izin akses data Lake Formation, Anda harus melengkapi persyaratan berikut: 

1. 

**Izin diperlukan untuk membuat tabel Gunung Es tanpa data yang terdaftar di Lake Formation.**

   Selain izin yang diperlukan untuk membuat tabel di Katalog Data, pembuat tabel memerlukan izin berikut:
   + `s3:PutObject`pada sumber daya arn:aws:s3::: \$1bucketName\$1
   + `s3:GetObject`pada sumber daya arn:aws:s3::: \$1bucketName\$1
   + `s3:DeleteObject`pada sumber daya arn:aws:s3::: \$1bucketName\$1

1. 

**Izin yang diperlukan untuk membuat tabel Gunung Es dengan data yang terdaftar di Lake Formation:**

   Untuk menggunakan Lake Formation untuk mengelola dan mengamankan data di danau data Anda, daftarkan lokasi Amazon S3 Anda yang memiliki data untuk tabel dengan Lake Formation. Ini agar Lake Formation dapat menjual kredensil ke layanan AWS analitis seperti Athena, Redshift Spectrum, dan Amazon EMR untuk mengakses data. Untuk informasi selengkapnya tentang mendaftarkan lokasi Amazon S3, lihat. [Menambahkan lokasi Amazon S3 ke danau data Anda](register-data-lake.md) 

   Kepala sekolah yang membaca dan menulis data dasar yang terdaftar di Lake Formation memerlukan izin berikut:
   + `lakeformation:GetDataAccess`
   + `DATA_LOCATION_ACCESS`

     Kepala sekolah yang memiliki izin lokasi data di lokasi juga memiliki izin lokasi di semua lokasi anak.

     Untuk informasi selengkapnya tentang izin lokasi data, lihat[Kontrol akses data yang mendasari](access-control-underlying-data.md).

 Untuk mengaktifkan pemadatan, layanan perlu mengambil peran IAM yang memiliki izin untuk memperbarui tabel di Katalog Data. Untuk detailnya, lihat [Prasyarat pengoptimalan tabel](https://docs.aws.amazon.com/glue/latest/dg/optimization-prerequisites.html). 

## Membuat tabel Iceberg
<a name="create-iceberg-table"></a>

Anda dapat membuat tabel Iceberg v1 dan v2 menggunakan konsol Lake Formation atau AWS Command Line Interface seperti yang didokumentasikan di halaman ini. Anda juga dapat membuat tabel Iceberg menggunakan AWS Glue konsol atau. Perayap AWS Glue Untuk informasi selengkapnya, lihat [Katalog Data dan Crawler](https://docs.aws.amazon.com/glue/latest/dg/catalog-and-crawler.html) di Panduan AWS Glue Pengembang.

**Untuk membuat tabel Iceberg**

------
#### [ 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 bawah Katalog Data, pilih **Tabel**, dan gunakan tombol **Buat tabel** untuk menentukan atribut berikut:
   + **Nama tabel**: Masukkan nama untuk tabel. Jika Anda menggunakan Athena untuk mengakses tabel, gunakan [tips penamaan ini di Panduan](https://docs.aws.amazon.com/athena/latest/ug/tables-databases-columns-names.html) Pengguna Amazon Athena.
   + **Database**: Pilih database yang ada atau buat yang baru.
   + **Deskripsi:Deskripsi** tabel. Anda dapat menulis deskripsi untuk membantu Anda memahami isi tabel tersebut.
   + **Format tabel**: Untuk **format Tabel**, pilih Apache Iceberg.  
![\[Opsi tabel Apache Iceberg dipilih dengan opsi optimasi tabel.\]](http://docs.aws.amazon.com/id_id/lake-formation/latest/dg/images/table-optimization.png)
   + **Optimalisasi tabel**
     + **Pemadatan** — File data digabungkan dan ditulis ulang menghapus data usang dan mengkonsolidasikan data yang terfragmentasi menjadi file yang lebih besar dan lebih efisien.
     + **Retensi snapshot** — Snapshot adalah versi stempel waktu dari tabel Iceberg. Konfigurasi retensi snapshot memungkinkan pelanggan untuk menerapkan berapa lama untuk menyimpan snapshot dan berapa banyak snapshot yang akan disimpan. Mengonfigurasi pengoptimal retensi snapshot dapat membantu mengelola overhead penyimpanan dengan menghapus snapshot yang lebih lama dan tidak perlu serta file yang mendasarinya yang terkait.
     + **Penghapusan file yatim piatu — File** yatim piatu adalah file yang tidak lagi direferensikan oleh metadata tabel Iceberg. File-file ini dapat terakumulasi dari waktu ke waktu, terutama setelah operasi seperti penghapusan tabel atau pekerjaan ETL yang gagal. Mengaktifkan penghapusan file yatim memungkinkan AWS Glue untuk secara berkala mengidentifikasi dan menghapus file-file yang tidak perlu ini, membebaskan penyimpanan.

     Untuk informasi selengkapnya, lihat [Mengoptimalkan tabel Gunung Es](https://docs.aws.amazon.com/glue/latest/dg/table-optimizers.html).
   + **Peran IAM**: Untuk menjalankan pemadatan, layanan mengasumsikan peran IAM atas nama Anda. Anda dapat memilih peran IAM menggunakan drop-down. Pastikan peran memiliki izin yang diperlukan untuk mengaktifkan pemadatan.

     Untuk mempelajari lebih lanjut tentang izin yang diperlukan, lihat [Prasyarat pengoptimalan tabel](https://docs.aws.amazon.com/glue/latest/dg/optimization-prerequisites.html).
   + **Lokasi**: Tentukan jalur ke folder di Amazon S3 yang menyimpan tabel metadata. Iceberg membutuhkan file metadata dan lokasi di Katalog Data untuk dapat melakukan pembacaan dan penulisan.
   + **Skema**: Pilih **Tambahkan kolom** untuk menambahkan kolom dan tipe data kolom. Anda memiliki opsi untuk membuat tabel kosong dan memperbarui skema nanti. Katalog Data mendukung tipe data Hive. Untuk informasi selengkapnya, lihat [Tipe data sarang](https://cwiki.apache.org/confluence/plugins/servlet/mobile?contentId=27838462#content/view/27838462). 

      Iceberg memungkinkan Anda untuk mengembangkan skema dan partisi setelah Anda membuat tabel. Anda dapat menggunakan [kueri Athena untuk memperbarui skema tabel dan kueri](https://docs.aws.amazon.com/athena/latest/ug/querying-iceberg-evolving-table-schema.html) [Spark](https://iceberg.apache.org/docs/latest/spark-ddl/#alter-table-sql-extensions) untuk memperbarui partisi. 

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

```
aws glue create-table \
    --database-name iceberg-db \
    --region us-west-2 \
    --open-table-format-input '{
      "IcebergInput": { 
           "MetadataOperation": "CREATE",
           "Version": "2"
         }
      }' \
    --table-input '{"Name":"test-iceberg-input-demo",
            "TableType": "EXTERNAL_TABLE",
            "StorageDescriptor":{ 
               "Columns":[ 
                   {"Name":"col1", "Type":"int"}, 
                   {"Name":"col2", "Type":"int"}, 
                   {"Name":"col3", "Type":"string"}
                ], 
               "Location":"s3://DOC_EXAMPLE_BUCKET_ICEBERG/"
            }
        }'
```

------

# Mengoptimalkan tabel Iceberg
<a name="data-compaction"></a>

Lake Formation mendukung beberapa opsi pengoptimalan tabel untuk meningkatkan manajemen dan kinerja tabel Apache Iceberg yang digunakan oleh mesin AWS analitik dan pekerjaan ETL. Pengoptimal ini menyediakan pemanfaatan penyimpanan yang efisien, peningkatan kinerja kueri, dan manajemen data yang efektif. Ada tiga jenis pengoptimal tabel yang tersedia di Lake Formation: 
+ **Pemadatan** — Pemadatan data memadatkan file data kecil untuk mengurangi penggunaan penyimpanan dan meningkatkan kinerja baca. File data digabungkan dan ditulis ulang untuk menghapus data usang dan mengkonsolidasikan data yang terfragmentasi menjadi file yang lebih besar dan lebih efisien. Pemadatan dapat dikonfigurasi untuk berjalan secara otomatis atau dipicu secara manual sesuai kebutuhan. 
+ **Retensi snapshot** — Snapshot adalah versi stempel waktu dari tabel Iceberg. Konfigurasi retensi snapshot memungkinkan pelanggan untuk menerapkan berapa lama untuk menyimpan snapshot dan berapa banyak snapshot yang akan disimpan. Mengonfigurasi pengoptimal retensi snapshot dapat membantu mengelola overhead penyimpanan dengan menghapus snapshot yang lebih lama dan tidak perlu serta file yang mendasarinya yang terkait.
+ **Penghapusan file yatim piatu — File** yatim piatu adalah file yang tidak lagi direferensikan oleh metadata tabel Iceberg. File-file ini dapat terakumulasi dari waktu ke waktu, terutama setelah operasi seperti penghapusan tabel atau pekerjaan ETL yang gagal. Mengaktifkan penghapusan file yatim memungkinkan AWS Glue untuk secara berkala mengidentifikasi dan menghapus file-file yang tidak perlu ini, membebaskan penyimpanan.

Anda dapat mengaktifkan atau menonaktifkan pemadatan, retensi snapshot, dan pengoptimal penghapusan file yatim untuk tabel Iceberg individual di Katalog Data menggunakan konsol, atau operasi API. AWS Glue AWS CLI AWS Glue 

Untuk informasi selengkapnya, lihat [Mengoptimalkan tabel Gunung Es di Panduan](https://docs.aws.amazon.com/glue/latest/dg/table-optimizers.html) Pengembang. AWS Glue 

# Mencari tabel
<a name="searching-for-tables"></a>

Anda dapat menggunakan AWS Lake Formation konsol untuk mencari tabel Katalog Data berdasarkan nama, lokasi, berisi database, dan lainnya. Hasil pencarian hanya menampilkan tabel tempat Anda memiliki izin Lake Formation.

**Untuk mencari tabel (konsol)**

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, pilih **Tabel**.

1. Posisikan kursor di bidang pencarian di bagian atas halaman. Bidang ini memiliki teks placeholder *Temukan tabel berdasarkan properti*.

   Menu **Properties** muncul, menunjukkan berbagai properti tabel untuk dicari.  
![\[Menu properti diturunkan dari bidang pencarian dan berisi entri ini: Nama, Klasifikasi, Database, Lokasi, ID Katalog\]](http://docs.aws.amazon.com/id_id/lake-formation/latest/dg/images/search-for-tables.png)

1. Lakukan salah satu tindakan berikut:
   + Cari dengan memuat database.

     1. Pilih **Database** dari menu **Properties**, lalu pilih database dari menu **Database** yang muncul atau ketik nama database dan tekan **Enter**.

        Tabel yang Anda memiliki izin dalam database terdaftar.

     1. **(Opsional) Untuk mempersempit daftar ke satu tabel dalam database, posisikan kursor di bidang pencarian lagi, pilih **Nama** dari **Properti** menu, dan pilih nama tabel dari menu Tabel yang muncul atau ketik nama tabel dan tekan **Memasukkan**.**

        Tabel tunggal terdaftar, dan nama database dan nama tabel muncul sebagai ubin di bawah bidang pencarian.  
![\[Di bawah bidang pencarian ada dua ubin: satu Database berlabel, yang mencakup nama database yang dipilih, dan satu Tabel berlabel, yang mencakup nama tabel yang dipilih. Di sebelah kanan ubin adalah tombol Clear filter.\]](http://docs.aws.amazon.com/id_id/lake-formation/latest/dg/images/search-for-tables-with-filter.png)

        Untuk menyesuaikan filter, tutup salah satu ubin atau pilih **Clear filter**.
   + Cari berdasarkan properti lain.

     1. Pilih properti pencarian dari menu **Properties**.

        **Untuk mencari berdasarkan ID AWS akun, pilih **ID Katalog** dari menu **Properti**, masukkan ID AWS akun yang valid (misalnya, 111122223333), dan tekan Enter.**

        Untuk mencari berdasarkan lokasi, pilih **Lokasi** dari menu **Properti**, dan pilih lokasi dari menu **Lokasi** yang muncul. Semua tabel di lokasi root lokasi yang dipilih (misalnya, Amazon S3) dikembalikan.

**Mencari tabel menggunakan AWS CLI**
+ Contoh berikut menunjukkan bagaimana menjalankan serach paral. `--search-text`Parameter ini memungkinkan Anda untuk mencari tabel yang berisi teks yang ditentukan dalam metadata mereka. Dalam hal ini, ia mengembalikan semua tabel yang memiliki “pelanggan” dalam nama, deskripsi, atau bidang metadata lainnya.

  ```
  aws glue search-tables 
        --search-text "customer" 
        --region Wilayah AWS
        --max-results 10
        --sort-criteria "FieldName=Name,Sort=ASC"
  ```

# Berbagi tabel Katalog Data dan database di seluruh Akun AWS
<a name="sharing-catalog-resources"></a>

Anda dapat membagikan sumber daya Katalog Data (database dan tabel) dengan AWS akun eksternal dengan memberikan izin Lake Formation pada sumber daya ke akun eksternal. Pengguna kemudian dapat menjalankan kueri dan pekerjaan yang bergabung dan menanyakan tabel di beberapa akun. Dengan beberapa batasan, saat Anda membagikan sumber daya Katalog Data dengan akun lain, prinsipal di akun tersebut dapat beroperasi pada sumber daya tersebut seolah-olah sumber daya tersebut berada di Katalog Data mereka.

Anda tidak berbagi sumber daya dengan prinsipal tertentu di AWS akun eksternal—Anda berbagi sumber daya dengan akun atau organisasi. AWS Saat berbagi sumber daya dengan AWS organisasi, Anda membagikan sumber daya dengan semua akun di semua tingkatan di organisasi tersebut. Administrator data lake di setiap akun eksternal kemudian harus memberikan izin pada sumber daya bersama kepada kepala sekolah di akun mereka.

Untuk informasi selengkapnya, lihat [Berbagi data lintas akun di Lake Formation](cross-account-permissions.md) dan [Memberikan izin pada sumber daya Katalog Data](granting-catalog-permissions.md).

**Lihat Juga:**  
[Mengakses dan melihat tabel dan database Katalog Data bersama](viewing-shared-resources.md)
[Prasyarat](cross-account-prereqs.md)

# AWS Glue Data Catalog Pemandangan bangunan
<a name="working-with-views"></a>

Dalam AWS Glue Data Catalog, *tampilan* adalah tabel virtual di mana konten didefinisikan oleh kueri SQL yang mereferensikan satu atau lebih tabel. Anda dapat membuat tampilan Katalog Data yang mereferensikan hingga 10 tabel menggunakan editor SQL untuk Amazon Athena, Amazon Redshift, atau Apache Spark menggunakan EMR Tanpa Server atau versi 5.0. AWS Glue Tabel referensi yang mendasari untuk tampilan dapat menjadi milik database yang sama atau database yang berbeda dalam Katalog Data yang sama Akun AWS.

Anda dapat mereferensikan AWS Glue tabel dan tabel standar dalam format tabel terbuka (OTF) seperti [Apache Hudi](https://hudi.incubator.apache.org/), Linux Foundation [Delta Lake](https://delta.io/), dan [Apache Iceberg](https://iceberg.apache.org/), dengan data dasar yang disimpan di lokasi Amazon S3 yang terdaftar. AWS Lake Formation Selain itu, Anda dapat membuat tampilan dari tabel federasi dari rangkaian data Amazon Redshift yang dibagikan dengan Lake Formation. 

## Membedakan tampilan Katalog Data dari jenis tampilan lainnya
<a name="diff-views"></a>

Tampilan Katalog Data berbeda dari tampilan Apache Hive, Apache Spark, dan Amazon Athena. Tampilan Katalog Data adalah fitur asli dari AWS Glue Data Catalog, dan merupakan tampilan definer-made multi-dialek. Anda dapat membuat tampilan Katalog Data menggunakan salah satu layanan analitik yang didukung, seperti Athena atau Amazon Redshift Spectrum, dan mengakses tampilan yang sama menggunakan layanan analitik lain yang didukung. Di sisi lain, tampilan Apache Hive, Apache Spark, dan Athena dibuat secara independen di setiap layanan analitik, seperti Athena dan Amazon Redshift, dan hanya terlihat dan dapat diakses dalam layanan itu.

## Apa itu pandangan yang lebih pasti?
<a name="definer-view"></a>

 Tampilan definer adalah tampilan SQL yang beroperasi berdasarkan izin prinsipal yang membuatnya. Peran definer memiliki izin yang diperlukan untuk mengakses tabel referensi, dan menjalankan pernyataan SQL yang mendefinisikan tampilan. Definer membuat tampilan dan membagikannya dengan pengguna lain melalui kontrol akses AWS Lake Formation berbutir halus. 

Saat pengguna menanyakan tampilan definer, mesin kueri menggunakan izin peran definer untuk mengakses tabel referensi yang mendasarinya. Pendekatan ini memungkinkan pengguna untuk berinteraksi dengan tampilan tanpa memerlukan akses langsung ke tabel sumber, meningkatkan keamanan dan menyederhanakan manajemen akses data.

Untuk menyiapkan tampilan definer, peran IAM definer dapat berada dalam AWS akun yang sama dengan tabel dasar, atau dalam akun yang berbeda menggunakan peran penentu lintas akun. Untuk informasi selengkapnya tentang izin yang diperlukan untuk peran definer, lihat. [Prasyarat untuk membuat tampilan](views-prereqs.md) 

## Kerangka kerja untuk tampilan multi-dialek
<a name="multi-dialect"></a>

Katalog Data mendukung pembuatan tampilan menggunakan beberapa dialek bahasa kueri terstruktur (SQL). SQL adalah bahasa yang digunakan untuk menyimpan dan memproses informasi dalam database relasional dan setiap mesin AWS analitik menggunakan variasi SQL, atau dialek SQL sendiri.

Anda membuat tampilan Katalog Data dalam satu dialek SQL menggunakan salah satu mesin kueri analitik yang didukung. Selanjutnya, Anda dapat memperbarui tampilan menggunakan `ALTER VIEW` pernyataan dalam dialek SQL yang berbeda dalam mesin analitik lain yang didukung. Namun, setiap dialek harus mereferensikan kumpulan tabel, kolom, dan tipe data yang sama.

Anda dapat mengakses beberapa dialek yang tersedia untuk tampilan menggunakan `GetTable` API, AWS CLI dan AWS konsol. Dengan demikian, tampilan Katalog Data terlihat dan tersedia untuk kueri di berbagai mesin analitik yang didukung.

Dengan mendefinisikan skema tampilan umum dan objek metadata yang dapat Anda kueri dari beberapa mesin, tampilan Katalog Data memungkinkan Anda menggunakan tampilan seragam di seluruh data lake Anda.

Untuk detail selengkapnya tentang cara skema diselesaikan untuk setiap dialek, lihat [tautan ke referensi API](). Untuk detail selengkapnya tentang aturan pencocokan untuk berbagai jenis, lihat [tautan ke bagian yang relevan di dokumen API]().

## Mengintegrasikan dengan izin Lake Formation
<a name="lf-view-integ"></a>

Anda dapat menggunakan AWS Lake Formation untuk memusatkan manajemen izin pada AWS Glue Data Catalog tampilan untuk pengguna. Anda dapat memberikan izin berbutir halus pada tampilan Katalog Data menggunakan metode sumber daya bernama atau LF-tag, dan membagikannya di seluruh Akun AWS organisasi, dan unit organisasi. AWS Anda juga dapat berbagi dan mengakses tampilan Katalog Data Wilayah AWS menggunakan tautan sumber daya. Hal ini memungkinkan pengguna untuk menyediakan akses data tanpa menduplikasi sumber data, dan berbagi tabel yang mendasarinya.

Pernyataan `CREATE VIEW` DDL dari tampilan Katalog Data dapat mereferensikan AWS Glue tabel dan tabel standar dalam format tabel terbuka (OTF) seperti Hudi, Delta Lake, dan Iceberg dengan data dasar yang disimpan di lokasi Amazon S3 yang terdaftar di Lake Formation serta tabel federasi dari Amazon Redshift datashare yang dibagikan dengan Lake Formation. Tabel dapat berupa format file apa pun selama mesin yang digunakan untuk menanyakan tampilan mendukung format itu. Anda juga dapat mereferensikan fungsi bawaan dari mesin tempat ia dijalankan tetapi sumber daya khusus mesin lainnya mungkin tidak diizinkan. Untuk detail selengkapnya, lihat [Katalog Data melihat pertimbangan dan batasan](views-notes.md)

## Kasus penggunaan
<a name="views-use-cases"></a>

Berikut ini adalah kasus penggunaan penting untuk tampilan Katalog Data:
+ Buat dan kelola izin pada skema tampilan tunggal. Ini membantu Anda menghindari risiko izin yang tidak konsisten pada tampilan duplikat yang dibuat di beberapa mesin.
+ Berikan izin kepada pengguna pada tampilan yang mereferensikan beberapa tabel tanpa memberikan izin langsung pada tabel referensi yang mendasarinya.
+ Mencapai pemfilteran tingkat baris pada tabel menggunakan LF-tag (di mana LF-tag hanya mengalir hingga tingkat kolom) dengan menerapkan LF-tag pada tampilan dan memberikan izin berbasis LF-tag kepada pengguna. 

## Layanan AWS analitik yang didukung untuk tampilan
<a name="views-supported-engines"></a>

Layanan AWS analitik berikut mendukung pembuatan tampilan Katalog Data:
+ Amazon Redshift
+ Amazon Athena versi 3
+ Apache Spark di EMR Tanpa Server
+  Apache Spark pada versi 5.0 AWS Glue 

## Sumber daya tambahan
<a name="views-addtional-resources"></a>

Anda dapat mempelajari lebih lanjut tentang Katalog Data dalam panduan ini, serta menggunakan sumber daya berikut:

Video berikut menunjukkan cara membuat tampilan dan menanyakannya dari Athena dan Amazon Redshift.

[![AWS Videos](http://img.youtube.com/vi/https://www.youtube.com/embed/rFO2OoxVYxE?si=Z0qsyuvTp2ZJg-PL/0.jpg)](http://www.youtube.com/watch?v=https://www.youtube.com/embed/rFO2OoxVYxE?si=Z0qsyuvTp2ZJg-PL)


**Topics**
+ [Membedakan tampilan Katalog Data dari jenis tampilan lainnya](#diff-views)
+ [Apa itu pandangan yang lebih pasti?](#definer-view)
+ [Kerangka kerja untuk tampilan multi-dialek](#multi-dialect)
+ [Mengintegrasikan dengan izin Lake Formation](#lf-view-integ)
+ [Kasus penggunaan](#views-use-cases)
+ [Layanan AWS analitik yang didukung untuk tampilan](#views-supported-engines)
+ [Sumber daya tambahan](#views-addtional-resources)
+ [Prasyarat untuk membuat tampilan](views-prereqs.md)
+ [Membuat tampilan Katalog Data menggunakan pernyataan DDL](create-views.md)
+ [Membuat tampilan Katalog Data menggunakan AWS Glue APIs](views-api-usage.md)
+ [Memberikan izin pada tampilan Katalog Data](grant-perms-views.md)
+ [Tampilan terwujud](materialized-views.md)

# Prasyarat untuk membuat tampilan
<a name="views-prereqs"></a>
+ Untuk membuat tampilan di Katalog Data, Anda harus mendaftarkan lokasi data Amazon S3 yang mendasari tabel referensi dengan Lake Formation. Untuk detail tentang mendaftarkan data dengan Lake Formation, lihat[Menambahkan lokasi Amazon S3 ke danau data Anda](register-data-lake.md). 
+ Hanya peran IAM yang dapat membuat tampilan Katalog Data. Identitas IAM lainnya tidak dapat membuat tampilan Katalog Data.
+ Peran IAM yang mendefinisikan tampilan harus memiliki izin berikut:
  + `SELECT`Izin Lake Formation dengan `Grantable` opsi pada semua tabel referensi, semua kolom disertakan.
  + `CREATE_TABLE`Izin Lake Formation pada database target tempat tampilan sedang dibuat.
  + Kebijakan kepercayaan untuk Formasi Danau dan AWS Glue layanan untuk mengambil peran. 

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

****  

    ```
    {
        "Version":"2012-10-17",		 	 	 
        "Statement": [
            {
                "Sid": "DataCatalogViewDefinerAssumeRole1",
                "Effect": "Allow",
                "Principal": {
                   "Service": [
                        "glue.amazonaws.com",
                        "lakeformation.amazonaws.com"
                     ]
                },
                "Action": "sts:AssumeRole"
            }
        ]
    }
    ```

------
  + Iam: PassRole izin untuk AWS Glue dan Lake Formation.

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

****  

    ```
    {
        "Version":"2012-10-17",		 	 	 
        "Statement": [
            {
                "Sid": "DataCatalogViewDefinerPassRole1",
                "Action": [
                    "iam:PassRole"
                ],
                "Effect": "Allow",
                "Resource": "*",
                "Condition": {
                    "StringEquals": {
                        "iam:PassedToService": [ 
                            "glue.amazonaws.com",
                            "lakeformation.amazonaws.com"
                          ]
                    }
                }
            }
        ]
    }
    ```

------
  + AWS Glue dan izin Lake Formation.

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

****  

    ```
    {
        "Version":"2012-10-17",		 	 	 
                     "Statement": [
            {
                "Effect": "Allow",
                "Action": [
                    "Glue:GetDatabase",
                    "Glue:GetDatabases",
                    "Glue:CreateTable",
                    "Glue:GetTable",
                    "Glue:GetTables",
                    "Glue:BatchGetPartition",
                    "Glue:GetPartitions",
                    "Glue:GetPartition",
                    "Glue:GetTableVersion",
                    "Glue:GetTableVersions",
    				"Glue:PassConnection",
                    "lakeFormation:GetDataAccess"
                ],
                "Resource": "*"
            }
        ]   
    }
    ```

------
+ Anda tidak dapat membuat tampilan dalam database yang memiliki `Super` atau `ALL` izin yang diberikan kepada `IAMAllowedPrincipals` grup. Anda dapat mencabut `Super` izin untuk `IAMAllowedPrincipals` grup pada database, melihat[Langkah 4: Alihkan penyimpanan data Anda ke model izin Lake Formation](upgrade-glue-lake-formation.md#upgrade-glue-lake-formation-step4), atau membuat database baru dengan **Gunakan kontrol akses IAM hanya untuk tabel baru dalam kotak database ini yang tidak dicentang di bawah **Izin default** untuk tabel yang baru** dibuat.

# Membuat tampilan Katalog Data menggunakan pernyataan DDL
<a name="create-views"></a>

Anda dapat membuat AWS Glue Data Catalog tampilan menggunakan editor SQL untuk Athena, Amazon Redshift, dan menggunakan/. AWS Glue APIs AWS CLI

Untuk membuat tampilan Katalog Data menggunakan editor SQL, pilih Athena atau Redshift Spectrum, dan buat tampilan menggunakan `CREATE VIEW` pernyataan Data Definition Language (DDL). Setelah membuat tampilan dalam dialek mesin pertama, Anda dapat menggunakan pernyataan `ALTER VIEW` DDL dari mesin kedua untuk menambahkan dialek tambahan.

Saat mendefinisikan pandangan, penting untuk mempertimbangkan hal-hal berikut:
+ **Mendefinisikan tampilan multi-dialek** — Ketika Anda mendefinisikan tampilan dengan beberapa dialek, skema dialek yang berbeda harus cocok. Setiap dialek SQL akan memiliki spesifikasi sintaks yang sedikit berbeda. Sintaks kueri yang mendefinisikan tampilan Katalog Data harus diselesaikan ke daftar kolom yang sama persis, termasuk jenis dan nama, di semua dialek. Informasi ini disimpan `StorageDescriptor` dalam tampilan. Dialek juga harus mereferensikan objek tabel dasar yang sama dari Katalog Data.

  Untuk menambahkan dialek lain ke tampilan menggunakan DDL, Anda dapat menggunakan pernyataan. `ALTER VIEW` Jika `ALTER VIEW` pernyataan mencoba memperbarui definisi tampilan, seperti memodifikasi deskriptor penyimpanan atau tabel yang mendasari tampilan, pernyataan tersebut error dengan mengatakan “Input and existing storage descriptor mismatch”. Anda dapat menggunakan operasi cast SQL untuk memastikan bahwa jenis kolom tampilan cocok. 
+ **Memperbarui tampilan** - Untuk memperbarui tampilan, Anda dapat menggunakan `UpdateTable` API. Jika Anda memperbarui tampilan tanpa mencocokkan deskriptor penyimpanan atau tabel referensi, Anda dapat memberikan `FORCE` bendera (lihat dokumentasi SQL mesin untuk sintaks). Setelah pembaruan paksa, tampilan akan mengambil tabel paksa `StorageDescriptor` dan referensi. Setiap `ALTER VIEW` DDL lebih lanjut harus sesuai dengan nilai yang dimodifikasi. Tampilan yang telah diperbarui untuk memiliki dialek yang tidak kompatibel akan berada dalam status “Basi”. Status tampilan terlihat di konsol Lake Formation dan menggunakan `GetTable` operasi.
+ **Merujuk jenis kolom varchar sebagai string** - Tidak mungkin untuk melemparkan jenis kolom varchar dari Redshift Spectrum ke string. Jika tampilan dibuat di Redshift Spectrum dengan tipe kolom varchar dan dialek berikutnya mencoba mereferensikan bidang itu sebagai string, Katalog Data akan memperlakukannya sebagai string tanpa perlu bendera. `FORCE`
+ **Perawatan bidang tipe kompleks** — Amazon Redshift memperlakukan semua tipe kompleks sebagai tipe [SUPER sementara Athena menentukan tipe](https://docs.aws.amazon.com/redshift/latest/dg/r_SUPER_type.html) kompleks. Jika tampilan memiliki bidang `SUPER` tipe, dan mesin lain mereferensikan kolom tersebut sebagai tipe kompleks tertentu, seperti struct (`<street_address:struct<street_number:int, street_name:string, street_type:string>>`), Katalog Data mengasumsikan bahwa bidang tersebut menjadi tipe kompleks tertentu, dan menggunakannya dalam deskriptor penyimpanan, tanpa memerlukan tanda. `Force`

Untuk informasi selengkapnya tentang sintaks untuk membuat dan mengelola tampilan Katalog Data, lihat:
+ [Menggunakan AWS Glue Data Catalog tampilan](https://docs.aws.amazon.com/athena/latest/ug/views-glue.html) di Panduan Pengguna Amazon Athena. 
+ [Glue Data Catalog melihat sintaks kueri](https://docs.aws.amazon.com/athena/latest/ug/views-glue-ddl.html) di Panduan Pengguna Amazon Athena. 
+ [Membuat tampilan AWS Glue Data Catalog di Panduan](https://docs.aws.amazon.com/redshift/latest/dg/data-catalog-views-overview.html) Pengembang Database Amazon Redshift.

  Untuk informasi selengkapnya tentang perintah SQL yang terkait dengan tampilan di Katalog Data, lihat [MEMBUAT TAMPILAN EKSTERNAL, MENGUBAH TAMPILAN EKSTERNAL](https://docs.aws.amazon.com/redshift/latest/dg/r_CREATE_EXTERNAL_VIEW.html)[, dan MENJATUHKAN TAMPILAN](https://docs.aws.amazon.com/redshift/latest/dg/r_ALTER_EXTERNAL_VIEW.html) [EKSTERNAL](https://docs.aws.amazon.com/redshift/latest/dg/r_DROP_EXTERNAL_VIEW.html).

Setelah Anda membuat tampilan Katalog Data, detail tampilan tersedia di konsol Lake Formation.

1. Pilih **Tampilan** di bawah Katalog Data di konsol Lake Formation.

1. Daftar tampilan yang tersedia muncul di halaman tampilan.

1. Pilih tampilan dari daftar dan halaman detail menunjukkan atribut tampilan.

![\[Bagian bawah berisi lima tab yang disusun secara horizontal di mana setiap tab menyertakan informasi yang sesuai.\]](http://docs.aws.amazon.com/id_id/lake-formation/latest/dg/images/view-definition.png)


Skema  
Pilih `Column` baris, dan pilih **Edit LF-tag** untuk memperbarui nilai tag atau menetapkan LF-tag baru.

Definisi SQL  
Anda dapat melihat daftar definisi SQL yang tersedia. Pilih **Tambahkan definisi SQL**, dan pilih mesin kueri untuk menambahkan definisi SQL. Pilih mesin kueri (Athena atau Amazon Redshift) di bawah kolom untuk memperbarui `Edit definition` definisi SQL.

Tag LF  
Pilih **Edit LF-tag** untuk mengedit nilai tag atau menetapkan tag baru. Anda dapat menggunakan LF-tag untuk memberikan izin pada tampilan.

Akses lintas akun  
Anda dapat melihat daftar Akun AWS, organisasi, dan unit organisasi (OUs) yang bersama Anda telah membagikan tampilan Katalog Data.

Tabel yang mendasari  
Tabel yang mendasari direferensikan dalam definisi SQL yang digunakan untuk membuat tampilan ditampilkan di bawah tab ini.

# Membuat tampilan Katalog Data menggunakan AWS Glue APIs
<a name="views-api-usage"></a>

Anda dapat menggunakan AWS Glue [CreateTable](https://docs.aws.amazon.com/glue/latest/webapi/API_CreateTable.html), dan [UpdateTable](https://docs.aws.amazon.com/glue/latest/webapi/API_UpdateTable.html) APIs untuk membuat dan memperbarui tampilan di Katalog Data. `UpdateTable`Operasi `CreateTable` dan memiliki `TableInput` struktur baru untuk`ViewDefinition`, sementara,`SearchTables`,`GetTable`, `GetTables``GetTableVersion`, `GetTableVersions` operasi menyediakan sintaks keluaran mereka untuk tampilan. `ViewDefinition` Selain itu, ada `Status` bidang baru dalam output `GetTable` API. 

Dua AWS Glue koneksi baru tersedia untuk memvalidasi dialek SQL untuk setiap mesin kueri yang didukung, dan Amazon Amazon Athena Redshift.

The `CreateTable` dan `UpdateTable` APIs asinkron bila digunakan dengan tampilan. Ketika ini APIs dipanggil dengan beberapa dialek SQL, panggilan divalidasi dengan masing-masing mesin untuk menentukan apakah dialek dapat dijalankan pada mesin itu, dan apakah skema tampilan yang dihasilkan dari masing-masing dialek cocok. AWS Glue Layanan ini menggunakan koneksi ini untuk melakukan panggilan internal ke mesin analitik. Panggilan ini mensimulasikan apa yang mesin lakukan untuk memvalidasi jika `CREATE VIEW` atau `ALTER VIEW` SQL DDL dijalankan pada mesin.

Jika SQL yang disediakan valid, dan skema cocok antara dialek tampilan, AWS Glue API secara atomik melakukan hasilnya. Atomicity memungkinkan tampilan dengan beberapa dialek dibuat atau diubah tanpa downtime. 

**Topics**
+ [Membuat AWS Glue koneksi untuk memvalidasi status](views-api-usage-connection.md)
+ [Memvalidasi status pembuatan tampilan](views-api-usage-get-table.md)
+ [Status dan operasi asinkron](views-api-usage-async-states.md)
+ [Lihat skenario kegagalan pembuatan selama operasi asinkron](views-api-usage-errors.md)

# Membuat AWS Glue koneksi untuk memvalidasi status
<a name="views-api-usage-connection"></a>

Untuk membuat atau memperbarui AWS Glue Data Catalog tampilan menggunakan `CreateTable` atau `UpdateTable` operasi, Anda harus membuat jenis AWS Glue koneksi baru untuk validasi, dan menyediakannya ke mesin analitik yang didukung. Koneksi ini diperlukan untuk menggunakan tampilan Katalog Data dengan Athena atau Amazon Redshift. Anda dapat membuat koneksi ini hanya menggunakan AWS CLI, AWS SDKs, atau AWS Glue APIs. Anda tidak dapat menggunakan Konsol Manajemen AWS untuk membuat AWS Glue koneksi.

**catatan**  
Jika peran penentu tampilan dan pemanggilan peran `CreateTable` atau `UpdateTable` berbeda, maka keduanya memerlukan `glue:PassConnection` izin dalam pernyataan kebijakan IAM mereka.

Untuk informasi selengkapnya, lihat dokumentasi [create-connection](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/glue/create-connection.html) AWS CLI .

**AWS CLI perintah untuk membuat koneksi**  
Berikut ini adalah AWS CLI perintah untuk membuat koneksi:

```
aws glue create-connection --region us-east-1 
--endpoint-url https://glue.us-east-1.amazonaws.com 
--cli-input-json file:///root/path/to/create-connection.json
```

**AWS CLI masukan JSON**  
Untuk Amazon Redshift:

```
{
    "CatalogId": "123456789012",
    "ConnectionInput": {
        "ConnectionType": "VIEW_VALIDATION_REDSHIFT",
        "Name": "views-preview-cluster-connection-2",
        "Description": "My first Amazon Redshift validation connection",
        "ConnectionProperties": {
            "DATABASE": "dev",
            "CLUSTER_IDENTIFIER": "glue-data-catalog-views-preview-cluster"
        }
    }
}
```

Untuk Amazon Athena:

```
{
    "CatalogId": "123456789012",
    "ConnectionInput": {
        "ConnectionType": "VIEW_VALIDATION_ATHENA",
        "Name": "views-preview-cluster-connection-3",
        "Description": "My first Amazon Athena validation connection",
        "ConnectionProperties": {
            "WORKGROUP_NAME": "workgroup-name"
        }
    }
}
```

# Memvalidasi status pembuatan tampilan
<a name="views-api-usage-get-table"></a>

Saat Anda menjalankan `UpdateTable` operasi `CreateTable` atau, `Status` bidang untuk output `GetTable` API menunjukkan detail status pembuatan tampilan. Untuk `create` permintaan di mana tabel belum ada, AWS Glue buat tabel kosong selama proses asinkron. Saat menelepon`GetTable`, Anda dapat meneruskan flag boolean opsional`IncludeStatusDetails`, yang menampilkan informasi diagnostik tentang permintaan tersebut. Dalam kasus kegagalan, bendera ini menunjukkan pesan kesalahan dengan status individual dari setiap dialek.

Kesalahan selama operasi pembuatan, baca, perbarui, dan hapus (CRUD) tampilan dapat terjadi baik selama pemrosesan di layanan AWS Glue/Lake Formation atau selama validasi tampilan SQL di Amazon Redshift atau Athena. Ketika kesalahan terjadi selama validasi di mesin, AWS Glue layanan memberikan pesan kesalahan bahwa mesin kembali.

**Bidang status**  
Berikut ini adalah bidang status:
+ Status: status generik, yang agnostik untuk berbagai jenis pekerjaan:
  + DIANTREKAN
  + IN\$1PROGRESS
  + BERHASIL
  + FAILED
+ Tindakan - Menunjukkan tindakan mana yang dipanggil di atas meja, saat ini hanya `CREATE` atau `UPDATE` operasi yang tersedia.

  Membedakan antara `UPDATE` dan `CREATE` operasi penting saat bekerja dengan pandangan. Jenis operasi menentukan bagaimana Anda harus melanjutkan dengan query tabel.

   `UPDATE`Operasi menandakan bahwa tabel sudah ada di Katalog Data. Dalam hal ini, Anda dapat melanjutkan kueri tabel yang dibuat sebelumnya tanpa masalah. Di sisi lain, `CREATE ` operasi menunjukkan bahwa tabel belum pernah berhasil dibuat sebelumnya. Jika tabel ditandai untuk`CREATE`, mencoba untuk query itu akan gagal karena tabel belum ada dalam sistem. Oleh karena itu, penting untuk mengidentifikasi jenis operasi (UPDATE atau CREATE) sebelum mencoba untuk query tabel. 
+ RequestedBy — ARN pengguna yang meminta perubahan asinkron.
+ UpdatedBy ARN pengguna yang terakhir mengubah proses perubahan asinkron secara manual, seperti meminta pembatalan atau modifikasi.
+ Kesalahan - Bidang ini hanya muncul ketika status **GAGAL**. Ini adalah pesan pengecualian tingkat induk. Mungkin ada kesalahan yang berbeda untuk setiap dialek.
  + ErrorCode Jenis pengecualian.
  + ErrorMessage — deskripsi singkat tentang pengecualian.
+ RequestTime — string tanggal berformat ISO 8601 yang menunjukkan waktu perubahan dimulai.
+ UpdateTime — string tanggal berformat ISO 8601 yang menunjukkan waktu status terakhir diperbarui.

# Status dan operasi asinkron
<a name="views-api-usage-async-states"></a>

Saat Anda menjalankan `glue:CreateTable` permintaan, pembuatan asinkron tampilan Katalog Data dimulai. Di bagian berikut, dokumen ini menjelaskan AWS Glue tampilan yang tersedia dalam `glue:GetTable` respons. `Status` Untuk singkatnya, bagian ini menghilangkan respons penuh.

```
{
    "Table": {
        ...
        "Status": {
            ...
            "Action": "CREATE",
            "State": "QUEUED",
        }
    }
}
```

Kedua atribut di atas mewakili informasi diagnostik penting yang menunjukkan keadaan operasi asinkron, serta tindakan yang dapat dilakukan pada tampilan ini. Di bawah ini adalah nilai yang mungkin yang dapat diambil oleh atribut ini.

1. `Status.Action`

   1. CREATE

   1. UPDATE

1. `Status.State`

   1. DIANTREKAN

   1. IN\$1PROGRESS

   1. BERHASIL

   1. FAILED

Penting juga untuk dicatat bahwa beberapa pembaruan pada tampilan Katalog Data tidak memerlukan operasi asinkron. Misalnya, seseorang mungkin ingin memperbarui `Description` atribut tabel. Karena ini tidak memerlukan operasi asinkron, metadata tabel yang dihasilkan tidak akan memilikinya`Status`, dan atributnya akan menjadi. `NULL`

```
{
    "Table": {
        ...,
        "Description": "I changed this attribute!"
    }
}
```

Selanjutnya, topik ini mengeksplorasi bagaimana informasi status di atas dapat memengaruhi operasi yang dapat dilakukan pada suatu AWS Glue tampilan.

**lem: CreateTable**  
Tidak ada perubahan untuk API ini jika dibandingkan dengan bagaimana `glue:CreateTable` fungsi untuk tabel Glue apa pun. `CreateTable`dapat dipanggil untuk nama tabel apa pun yang belum ada.

**lem: UpdateTable**  
Operasi ini tidak dapat dilakukan pada AWS Glue tampilan yang memiliki informasi status berikut:

1. Tindakan == CREATE dan State == ANTRIAN

1. Tindakan == BUAT dan Status == IN\$1PROGRESS

1. Tindakan == BUAT dan status == GAGAL

1. Tindakan == PEMBARUAN dan status == ANTRIAN

1. Tindakan == PEMBARUAN dan status == IN\$1PROGRESS

Untuk meringkas, Anda dapat memperbarui tampilan Katalog Data hanya jika memenuhi persyaratan berikut.

1. Ini telah berhasil dibuat untuk pertama kalinya.

   1. Tindakan == CREATE dan State == SUKSES

1. Ini telah mencapai status terminal setelah operasi pembaruan asinkron.

   1. Tindakan == PEMBARUAN dan Status == SUKSES

   1. Tindakan == PEMBARUAN dan Status == GAGAL

1. Ini memiliki atribut `NULL` status sebagai hasil dari pembaruan sinkron.

**lem: DeleteTable**  
Tidak ada perubahan untuk operasi ini jika dibandingkan dengan bagaimana `glue:DeleteTable` fungsi untuk AWS Glue tabel apa pun. Anda dapat menghapus tampilan Katalog Data terlepas dari statusnya.

**lem: GetTable**  
Tidak ada perubahan untuk operasi ini jika dibandingkan dengan bagaimana `glue:GetTable` fungsi untuk AWS Glue tabel apa pun. Namun, Anda tidak dapat menanyakan tampilan Katalog Data dari mesin analitik hingga berhasil dibuat untuk pertama kalinya. `Action == CREATE and State == SUCCESS`. Setelah berhasil membuat tampilan Katalog Data untuk pertama kalinya, Anda dapat melakukan kueri tampilan terlepas dari statusnya.

**catatan**  
Semua informasi di bagian ini berlaku untuk semua bacaan tabel APIs seperti`GetTable`,`GetTables`, dan`SearchTables`.

# Lihat skenario kegagalan pembuatan selama operasi asinkron
<a name="views-api-usage-errors"></a>

Contoh berikut mewakili jenis kesalahan yang mungkin timbul dari `CreateTable` atau `UpdateTable` melihat panggilan API. Mereka tidak lengkap karena permukaan kesalahan kegagalan kueri SQL cukup besar.

## Skenario 1: Kegagalan kueri Amazon Redshift
<a name="views-api-usage-errors-scenario-1"></a>

Kueri yang disediakan untuk Amazon Redshift menyertakan nama tabel yang salah eja tidak dapat ditemukan di Katalog Data selama validasi. Kesalahan yang dihasilkan ditampilkan di `Status` bidang dalam `GetTable` respons untuk tampilan.

`GetTable`permintaan:

```
{
    "CatalogId": "123456789012",
    "DatabaseName": "async-view-test-db",
    "TableInput": {
        "Name": "view-athena-redshift-72",
        "Description": "This is an atomic operation",
        "StorageDescriptor": {
            "Columns": [
                { "Name": "col1", "Type": "int" },
                { "Name": "col2", "Type": "string" },
                { "Name": "col3", "Type": "double" }
            ]
        },
        "ViewDefinition": {
            "Definer": "arn:aws:iam::123456789012:role/GDCViewDefiner",
            "SubObjects": [ "arn:aws:glue:us-east-1:123456789012:table/gdc-view-playground-db/table_1" ],
            "Representations": [
                {
                    "Dialect": "ATHENA",
                    "DialectVersion": "3",
                    "ViewOriginalText": "SELECT * FROM \"gdc-view-playground-db\".\"table_1\"",
                    "ValidationConnection": "athena-connection"
                },
                {
                    "Dialect": "REDSHIFT",
                    "DialectVersion": "1.0",
                    "ViewOriginalText": "SELECT * FROM \"gdc-view-playground-external-schema\".\"table__1\";",
                    "ValidationConnection": "redshift-connection"
                }
            ]
        }
    }
}
```

`GetTable`respon:

```
IncludeStatusDetails = FALSE
{
    "Table": {
        "Name": "view-athena-redshift-72",
        "DatabaseName": "async-view-test-db",
        "Description": "",
        "CreateTime": "2024-07-11T11:39:19-07:00",
        "UpdateTime": "2024-07-11T11:39:19-07:00",
        "Retention": 0,
        "ViewOriginalText": "",
        "ViewExpandedText": "",
        "TableType": "",
        "CreatedBy": "arn:aws:iam::123456789012:user/zcaisse",
        "IsRegisteredWithLakeFormation": false,
        "CatalogId": "123456789012",
        "IsRowFilteringEnabled": false,
        "VersionId": "-1",
        "DatabaseId": "<databaseID>",
        "IsMultiDialectView": false,
        "Status": {
            "RequestedBy": "arn:aws:iam::123456789012:user/zcaisse",
            "UpdatedBy": "arn:aws:iam::123456789012:user/zcaisse",
            "RequestTime": "2024-07-11T11:39:19-07:00",
            "UpdateTime": "2024-07-11T11:40:06-07:00",
            "Action": "CREATE",
            "State": "FAILED"
        }
    }
}

IncludeStatusDetails = TRUE
{
    "Table": {
        "Name": "view-athena-redshift-72",
        "DatabaseName": "async-view-test-db",
        "Description": "",
        "CreateTime": "2024-07-11T11:39:19-07:00",
        "UpdateTime": "2024-07-11T11:39:19-07:00",
        "Retention": 0,
        "ViewOriginalText": "",
        "ViewExpandedText": "",
        "TableType": "",
        "CreatedBy": "arn:aws:iam::123456789012:user/zcaisse",
        "IsRegisteredWithLakeFormation": false,
        "CatalogId": "123456789012",
        "IsRowFilteringEnabled": false,
        "VersionId": "-1",
        "DatabaseId": "<databaseID>",
        "IsMultiDialectView": false,
        "Status": {
            "RequestedBy": "arn:aws:iam::123456789012:user/zcaisse",
            "UpdatedBy": "arn:aws:iam::123456789012:user/zcaisse",
            "RequestTime": "2024-07-11T11:39:19-07:00",
            "UpdateTime": "2024-07-11T11:40:06-07:00",
            "Action": "CREATE",
            "State": "FAILED",
            "Error": {
                "ErrorCode": "QueryExecutionException",
                "ErrorMessage": "Error received during view SQL validation using a connection: [Connection Name: redshift-connection | Query Execution Id: ddb711d3-2415-4aa9-b251-6a76ab4f41b1 | Timestamp: Thu Jul 11 18:39:37 UTC 2024]: Redshift returned error for the statement: ERROR: AwsClientException: EntityNotFoundException from glue - Entity Not Found"
            },
            "Details": {
                "RequestedChange": {
                    "Name": "view-athena-redshift-72",
                    "DatabaseName": "async-view-test-db",
                    "Description": "This is an atomic operation",
                    "Retention": 0,
                    "StorageDescriptor": {
                        "Columns": [
                            {
                                "Name": "col1",
                                "Type": "int"
                            },
                            {
                                "Name": "col2",
                                "Type": "string"
                            },
                            {
                                "Name": "col3",
                                "Type": "double"
                            }
                        ],
                        "Compressed": false,
                        "NumberOfBuckets": 0,
                        "SortColumns": [],
                        "StoredAsSubDirectories": false
                    },
                    "TableType": "VIRTUAL_VIEW",
                    "IsRegisteredWithLakeFormation": false,
                    "CatalogId": "123456789012",
                    "IsRowFilteringEnabled": false,
                    "VersionId": "-1",
                    "DatabaseId": "<databaseID>",
                    "ViewDefinition": {
                        "IsProtected": true,
                        "Definer": "arn:aws:iam::123456789012:role/GDCViewDefiner",
                        "SubObjects": [
                            "arn:aws:glue:us-east-1:123456789012:table/gdc-view-playground-db/table_1"
                        ],
                        "Representations": [
                            {
                                "Dialect": "ATHENA",
                                "DialectVersion": "3",
                                "ViewOriginalText": "SELECT * FROM \"gdc-view-playground-db\".\"table_1\"",
                                "IsStale": false
                            },
                            {
                                "Dialect": "REDSHIFT",
                                "DialectVersion": "1.0",
                                "ViewOriginalText": "SELECT * FROM \"gdc-view-playground-external-schema\".\"table__1\";",
                                "IsStale": false
                            }
                        ]
                    },
                    "IsMultiDialectView": true
                },
                "ViewValidations": [
                    {
                        "Dialect": "ATHENA",
                        "DialectVersion": "3",
                        "ViewValidationText": "SELECT * FROM \"gdc-view-playground-db\".\"table_1\"",
                        "UpdateTime": "2024-07-11T11:40:06-07:00",
                        "State": "SUCCESS"
                    },
                    {
                        "Dialect": "REDSHIFT",
                        "DialectVersion": "1.0",
                        "ViewValidationText": "SELECT * FROM \"gdc-view-playground-external-schema\".\"table__1\";",
                        "UpdateTime": "2024-07-11T11:39:37-07:00",
                        "State": "FAILED",
                        "Error": {
                            "ErrorCode": "QueryExecutionException",
                            "ErrorMessage": "Error received during view SQL validation using a connection: [Connection Name: redshift-connection | Query Execution Id: ddb711d3-2415-4aa9-b251-6a76ab4f41b1 | Timestamp: Thu
 Jul 11 18:39:37 UTC 2024]: Redshift returned error for the statement: ERROR: AwsClientException: EntityNotFoundException from glue - Entity Not Found"
                        }
                    }
                ]
            }
        }
    }
}
```

## Skenario 2: Koneksi Amazon Redshift tidak valid
<a name="views-api-usage-errors-scenario-2"></a>

Koneksi Amazon Redshift dalam contoh berikut salah bentuk karena mengacu pada database Amazon Redshift yang tidak ada di titik akhir yang disediakan. cluster/serverless Amazon Redshift tidak dapat memvalidasi tampilan dan `Status` bidang dalam `GetTable` respons menunjukkan kesalahan (dari Amazon `"State": "FAILED"` Redshift.

`GetTable`permintaan:

```
{
    "CatalogId": "123456789012",
    "DatabaseName": "async-view-test-db",
    "TableInput": {
        "Name": "view-athena-redshift-73",
        "Description": "This is an atomic operation",
        "StorageDescriptor": {
            "Columns": [
                { "Name": "col1", "Type": "int" },
                { "Name": "col2", "Type": "string" },
                { "Name": "col3", "Type": "double" }
            ]
        },
        "ViewDefinition": {
            "Definer": "arn:aws:iam::123456789012:role/GDCViewDefiner",
            "SubObjects": [ "arn:aws:glue:us-east-1:123456789012:table/gdc-view-playground-db/table_1" ],
            "Representations": [
                {
                    "Dialect": "ATHENA",
                    "DialectVersion": "3",
                    "ViewOriginalText": "SELECT * FROM \"gdc-view-playground-db\".\"table_1\"",
                    "ValidationConnection": "athena-connection"
                },
                {
                    "Dialect": "REDSHIFT",
                    "DialectVersion": "1.0",
                    "ViewOriginalText": "SELECT * FROM \"gdc-view-playground-external-schema\".\"table_1\";",
                    "ValidationConnection": "redshift-connection-malformed"
                }
            ]
        }
    }
}
```

`GetTable`respon:

```
IncludeStatusDetails = FALSE
{
    "Table": {
        "Name": "view-athena-redshift-73",
        "DatabaseName": "async-view-test-db",
        "Description": "",
        "CreateTime": "2024-07-11T11:43:27-07:00",
        "UpdateTime": "2024-07-11T11:43:27-07:00",
        "Retention": 0,
        "ViewOriginalText": "",
        "ViewExpandedText": "",
        "TableType": "",
        "CreatedBy": "arn:aws:iam::123456789012:user/zcaisse",
        "IsRegisteredWithLakeFormation": false,
        "CatalogId": "123456789012",
        "IsRowFilteringEnabled": false,
        "VersionId": "-1",
        "DatabaseId": "<databaseID>",
        "IsMultiDialectView": false,
        "Status": {
            "RequestedBy": "arn:aws:iam::123456789012:user/zcaisse",
            "UpdatedBy": "arn:aws:iam::123456789012:user/zcaisse",
            "RequestTime": "2024-07-11T11:43:27-07:00",
            "UpdateTime": "2024-07-11T11:43:40-07:00",
            "Action": "CREATE",
            "State": "FAILED"
        }
    }
}

IncludeStatusDetails = TRUE
{
    "Table": {
        "Name": "view-athena-redshift-73",
        "DatabaseName": "async-view-test-db",
        "Description": "",
        "CreateTime": "2024-07-11T11:43:27-07:00",
        "UpdateTime": "2024-07-11T11:43:27-07:00",
        "Retention": 0,
        "ViewOriginalText": "",
        "ViewExpandedText": "",
        "TableType": "",
        "CreatedBy": "arn:aws:iam::123456789012:user/zcaisse",
        "IsRegisteredWithLakeFormation": false,
        "CatalogId": "123456789012",
        "IsRowFilteringEnabled": false,
        "VersionId": "-1",
        "DatabaseId": "<databaseID>",
        "IsMultiDialectView": false,
        "Status": {
            "RequestedBy": "arn:aws:iam::123456789012:user/zcaisse",
            "UpdatedBy": "arn:aws:iam::123456789012:user/zcaisse",
            "RequestTime": "2024-07-11T11:43:27-07:00",
            "UpdateTime": "2024-07-11T11:43:40-07:00",
            "Action": "CREATE",
            "State": "FAILED",
            "Error": {
                "ErrorCode": "QueryExecutionException",
                "ErrorMessage": "Error received during view SQL validation using a connection: [Connection Name: redshift-connection-malformed | Query Execution Id: 69bfafd4-3d51-4cb0-9320-7ce5404b1809 | Timestamp: Thu Jul 11 18:43:38 UTC 2024]: Redshift returned error for the statement: FATAL: database \"devooo\" does not exist"
            },
            "Details": {
                "RequestedChange": {
                    "Name": "view-athena-redshift-73",
                    "DatabaseName": "async-view-test-db",
                    "Description": "This is an atomic operation",
                    "Retention": 0,
                    "StorageDescriptor": {
                        "Columns": [
                            {
                                "Name": "col1",
                                "Type": "int"
                            },
                            {
                                "Name": "col2",
                                "Type": "string"
                            },
                            {
                                "Name": "col3",
                                "Type": "double"
                            }
                        ],
                        "Compressed": false,
                        "NumberOfBuckets": 0,
                        "SortColumns": [],
                        "StoredAsSubDirectories": false
                    },
                    "TableType": "VIRTUAL_VIEW",
                    "IsRegisteredWithLakeFormation": false,
                    "CatalogId": "123456789012",
                    "IsRowFilteringEnabled": false,
                    "VersionId": "-1",
                    "DatabaseId": "<databaseID>",
                    "ViewDefinition": {
                        "IsProtected": true,
                        "Definer": "arn:aws:iam::123456789012:role/GDCViewDefiner",
                        "SubObjects": [
                            "arn:aws:glue:us-east-1:123456789012:table/gdc-view-playground-db/table_1"
                        ],
                        "Representations": [
                            {
                                "Dialect": "ATHENA",
                                "DialectVersion": "3",
                                "ViewOriginalText": "SELECT * FROM \"gdc-view-playground-db\".\"table_1\"",
                                "IsStale": false
                            },
                            {
                                "Dialect": "REDSHIFT",
                                "DialectVersion": "1.0",
                                "ViewOriginalText": "SELECT * FROM \"gdc-view-playground-external-schema\".\"table_1\";",
                                "IsStale": false
                            }
                        ]
                    },
                    "IsMultiDialectView": true
                },
                "ViewValidations": [
                    {
                        "Dialect": "ATHENA",
                        "DialectVersion": "3",
                        "ViewValidationText": "SELECT * FROM \"gdc-view-playground-db\".\"table_1\"",
                        "UpdateTime": "2024-07-11T11:43:40-07:00",
                        "State": "SUCCESS"
                    },
                    {
                        "Dialect": "REDSHIFT",
                        "DialectVersion": "1.0",
                        "ViewValidationText": "SELECT * FROM \"gdc-view-playground-external-schema\".\"table_1\";",
                        "UpdateTime": "2024-07-11T11:43:38-07:00",
                        "State": "FAILED",
                        "Error": {
                            "ErrorCode": "QueryExecutionException",
                            "ErrorMessage": "Error received during view SQL validation using a connection: [Connection Name: redshift-connection-malformed | Query Execution Id: 69bfafd4-3d51-4cb0-9320-7ce5404b1809 | Time
stamp: Thu Jul 11 18:43:38 UTC 2024]: Redshift returned error for the statement: FATAL: database \"devooo\" does not exist"
                        }
                    }
                ]
            }
        }
    }
}
```

## Skenario 3: Kegagalan kueri Athena
<a name="views-api-usage-errors-scenario-3"></a>

SQL untuk Athena di sini tidak valid karena kueri salah mengeja nama database. Validasi kueri Athena menangkap ini dan kesalahan yang dihasilkan muncul melalui objek dalam `Status` panggilan. `GetTable`

`GetTable`permintaan:

```
{
    "CatalogId": "123456789012",
    "DatabaseName": "async-view-test-db",
    "TableInput": {
        "Name": "view-athena-redshift-70",
        "Description": "This is an atomic operation",
        "StorageDescriptor": {
            "Columns": [
                { "Name": "col1", "Type": "int" },
                { "Name": "col2", "Type": "string" },
                { "Name": "col3", "Type": "double" }
            ]
        },
        "ViewDefinition": {
            "Definer": "arn:aws:iam::123456789012:role/GDCViewDefiner",
            "SubObjects": [ "arn:aws:glue:us-east-1:123456789012:table/gdc-view-playground-db/table_1" ],
            "Representations": [
                {
                    "Dialect": "ATHENA",
                    "DialectVersion": "3",
                    "ViewOriginalText": "SELECT * FROM \"gdc--view-playground-db\".\"table_1\"",
                    "ValidationConnection": "athena-connection"
                },
                {
                    "Dialect": "REDSHIFT",
                    "DialectVersion": "1.0",
                    "ViewOriginalText": "SELECT * FROM \"gdc-view-playground-external-schema\".\"table_1\";",
                    "ValidationConnection": "redshift-connection"
                }
            ]
        }
    }
}
```

`GetTable`respon:

```
IncludeStatusDetails = FALSE
{
    "Table": {
        "Name": "view-athena-redshift-70",
        "DatabaseName": "async-view-test-db",
        "Description": "",
        "CreateTime": "2024-07-11T11:09:53-07:00",
        "UpdateTime": "2024-07-11T11:09:53-07:00",
        "Retention": 0,
        "ViewOriginalText": "",
        "ViewExpandedText": "",
        "TableType": "",
        "CreatedBy": "arn:aws:iam::123456789012:user/",
        "IsRegisteredWithLakeFormation": false,
        "CatalogId": "123456789012",
        "IsRowFilteringEnabled": false,
        "VersionId": "-1",
        "DatabaseId": "<databaseID>",
        "IsMultiDialectView": false,
        "Status": {
            "RequestedBy": "arn:aws:iam::123456789012:user/zcaisse",
            "UpdatedBy": "arn:aws:iam::123456789012:user/zcaisse",
            "RequestTime": "2024-07-11T11:09:54-07:00",
            "UpdateTime": "2024-07-11T11:10:41-07:00",
            "Action": "CREATE",
            "State": "FAILED",
        }
    }
}

IncludeStatusDetails = TRUE
{
    "Table": {
        "Name": "view-athena-redshift-70",
        "DatabaseName": "async-view-test-db",
        "Description": "",
        "CreateTime": "2024-07-11T11:09:53-07:00",
        "UpdateTime": "2024-07-11T11:09:53-07:00",
        "Retention": 0,
        "ViewOriginalText": "",
        "ViewExpandedText": "",
        "TableType": "",
        "CreatedBy": "arn:aws:iam::123456789012:user/zcaisse",
        "IsRegisteredWithLakeFormation": false,
        "CatalogId": "123456789012",
        "IsRowFilteringEnabled": false,
        "VersionId": "-1",
        "DatabaseId": "<databaseID>",
        "IsMultiDialectView": false,
        "Status": {
            "RequestedBy": "arn:aws:iam::123456789012:user/zcaisse",
            "UpdatedBy": "arn:aws:iam::123456789012:user/zcaisse",
            "RequestTime": "2024-07-11T11:09:54-07:00",
            "UpdateTime": "2024-07-11T11:10:41-07:00",
            "Action": "CREATE",
            "State": "FAILED",
            "Error": {
                "ErrorCode": "QueryExecutionException",
                "ErrorMessage": "Error received during view SQL validation using a connection: [Connection Name: athena-connection | Query Execution Id: d9bb1e6d-ce26-4b35-8276-8a199af966aa | Timestamp: Thu Jul 11 18:10:
41 UTC 2024]: Athena validation FAILED: {ErrorCategory: 2,ErrorType: 1301,Retryable: false,ErrorMessage: line 1:118: Schema 'gdc--view-playground-db' does not exist}"
            },
            "Details": {
                "RequestedChange": {
                    "Name": "view-athena-redshift-70",
                    "DatabaseName": "async-view-test-db",
                    "Description": "This is an atomic operation",
                    "Retention": 0,
                    "StorageDescriptor": {
                        "Columns": [
                            {
                                "Name": "col1",
                                "Type": "int"
                            },
                            {
                                "Name": "col2",
                                "Type": "string"
                            },
                            {
                                "Name": "col3",
                                "Type": "double"
                            }
                        ],
                        "Compressed": false,
                        "NumberOfBuckets": 0,
                        "SortColumns": [],
                        "StoredAsSubDirectories": false
                    },
                    "TableType": "VIRTUAL_VIEW",
                    "IsRegisteredWithLakeFormation": false,
                    "CatalogId": "123456789012",
                    "IsRowFilteringEnabled": false,
                    "VersionId": "-1",
                    "DatabaseId": "<databaseID>",
                    "ViewDefinition": {
                        "IsProtected": true,
                        "Definer": "arn:aws:iam::123456789012:role/GDCViewDefiner",
                        "SubObjects": [
                            "arn:aws:glue:us-east-1:123456789012:table/gdc-view-playground-db/table_1"
                        ],
                        "Representations": [
                            {
                                "Dialect": "ATHENA",
                                "DialectVersion": "3",
                                "ViewOriginalText": "SELECT * FROM \"gdc--view-playground-db\".\"table_1\"",
                                "IsStale": false
                            },
                            {
                                "Dialect": "REDSHIFT",
                                "DialectVersion": "1.0",
                                "ViewOriginalText": "SELECT * FROM \"gdc-view-playground-external-schema\".\"table_1\";",
                                "IsStale": false
                            }
                        ]
                    },
                    "IsMultiDialectView": true
                },
                "ViewValidations": [
                    {
                        "Dialect": "ATHENA",
                        "DialectVersion": "3",
                        "ViewValidationText": "SELECT * FROM \"gdc--view-playground-db\".\"table_1\"",
                        "UpdateTime": "2024-07-11T11:10:41-07:00",
                        "State": "FAILED",
                        "Error": {
                            "ErrorCode": "QueryExecutionException",
                            "ErrorMessage": "Error received during view SQL validation using a connection: [Connection Name: athena-connection | Query Execution Id: d9bb1e6d-ce26-4b35-8276-8a199af966aa | Timestamp: Thu J
ul 11 18:10:41 UTC 2024]: Athena validation FAILED: {ErrorCategory: 2,ErrorType: 1301,Retryable: false,ErrorMessage: line 1:118: Schema 'gdc--view-playground-db' does not exist}"
                        }
                    },
                    {
                        "Dialect": "REDSHIFT",
                        "DialectVersion": "1.0",
                        "ViewValidationText": "SELECT * FROM \"gdc-view-playground-external-schema\".\"table_1\";",
                        "UpdateTime": "2024-07-11T11:10:41-07:00",
                        "State": "SUCCESS"
                    }
                ]
            }
        }
    }
}
```

## Skenario 4: Deskriptor penyimpanan ketidakcocokan
<a name="views-api-usage-errors-scenario-4"></a>

SQL yang disediakan untuk dialek Athena memilih `col2` dan sementara SQL untuk Redshift hanya `col1` memilih. `col1` Hal ini menyebabkan kesalahan ketidakcocokan deskriptor penyimpanan.

`GetTable`permintaan:

```
{
    "CatalogId": "123456789012",
    "DatabaseName": "async-view-test-db",
    "TableInput": {
        "Name": "view-athena-redshift-71",
        "Description": "This is an atomic operation",
        "StorageDescriptor": {
            "Columns": [
                { "Name": "col1", "Type": "int" },
                { "Name": "col2", "Type": "string" },
                { "Name": "col3", "Type": "double" }
            ]
        },
        "ViewDefinition": {
            "Definer": "arn:aws:iam::123456789012:role/GDCViewDefiner",
            "SubObjects": [ "arn:aws:glue:us-east-1:123456789012:table/gdc-view-playground-db/table_1" ],
            "Representations": [
                {
                    "Dialect": "ATHENA",
                    "DialectVersion": "3",
                    "ViewOriginalText": "SELECT col1, col2 FROM \"gdc-view-playground-db\".\"table_1\"",
                    "ValidationConnection": "athena-connection"
                },
                {
                    "Dialect": "REDSHIFT",
                    "DialectVersion": "1.0",
                    "ViewOriginalText": "SELECT col1 FROM \"gdc-view-playground-external-schema\".\"table_1\";",
                    "ValidationConnection": "redshift-connection"
                }
            ]
        }
    }
}
```

`GetTable`respon:

```
IncludeStatusDetails = FALSE

{
    "Table": {
        "Name": "view-athena-redshift-71",
        "DatabaseName": "async-view-test-db",
        "Description": "",
        "CreateTime": "2024-07-11T11:22:02-07:00",
        "UpdateTime": "2024-07-11T11:22:02-07:00",
        "Retention": 0,
        "ViewOriginalText": "",
        "ViewExpandedText": "",
        "TableType": "",
        "CreatedBy": "arn:aws:iam::123456789012:user/zcaisse",
        "IsRegisteredWithLakeFormation": false,
        "CatalogId": "123456789012",
        "IsRowFilteringEnabled": false,
        "VersionId": "-1",
        "DatabaseId": "<databaseID>",
        "IsMultiDialectView": false,
        "Status": {
            "RequestedBy": "arn:aws:iam::123456789012:user/zcaisse",
            "UpdatedBy": "arn:aws:iam::123456789012:user/zcaisse",
            "RequestTime": "2024-07-11T11:22:02-07:00",
            "UpdateTime": "2024-07-11T11:23:19-07:00",
            "Action": "CREATE",
            "State": "FAILED"
        }
    }
}

IncludeStatusDetails = TRUE

{
    "Table": {
        "Name": "view-athena-redshift-71",
        "DatabaseName": "async-view-test-db",
        "Description": "",
        "CreateTime": "2024-07-11T11:22:02-07:00",
        "UpdateTime": "2024-07-11T11:22:02-07:00",
        "Retention": 0,
        "ViewOriginalText": "",
        "ViewExpandedText": "",
        "TableType": "",
        "CreatedBy": "arn:aws:iam::123456789012:user/zcaisse",
        "IsRegisteredWithLakeFormation": false,
        "CatalogId": "123456789012",
        "IsRowFilteringEnabled": false,
        "VersionId": "-1",
        "DatabaseId": "<databaseID>",
        "IsMultiDialectView": false,
        "Status": {
            "RequestedBy": "arn:aws:iam::123456789012:user/zcaisse",
            "UpdatedBy": "arn:aws:iam::123456789012:user/zcaisse",
            "RequestTime": "2024-07-11T11:22:02-07:00",
            "UpdateTime": "2024-07-11T11:23:19-07:00",
            "Action": "CREATE",
            "State": "FAILED",
            "Error": {
                "ErrorCode": "InvalidInputException",
                "ErrorMessage": "Engine and existing storage descriptor mismatch"
            },
            "Details": {
                "RequestedChange": {
                    "Name": "view-athena-redshift-71",
                    "DatabaseName": "async-view-test-db",
                    "Description": "This is an atomic operation",
                    "Retention": 0,
                    "StorageDescriptor": {
                        "Columns": [
                            {
                                "Name": "col1",
                                "Type": "int"
                            },
                            {
                                "Name": "col2",
                                "Type": "string"
                            },
                            {
                                "Name": "col3",
                                "Type": "double"
                            }
                        ],
                        "Compressed": false,
                        "NumberOfBuckets": 0,
                        "SortColumns": [],
                        "StoredAsSubDirectories": false
                    },
                    "TableType": "VIRTUAL_VIEW",
                    "IsRegisteredWithLakeFormation": false,
                    "CatalogId": "123456789012",
                    "IsRowFilteringEnabled": false,
                    "VersionId": "-1",
                    "DatabaseId": "<databaseID>",
                    "ViewDefinition": {
                        "IsProtected": true,
                        "Definer": "arn:aws:iam::123456789012:role/GDCViewDefiner",
                        "SubObjects": [
                            "arn:aws:glue:us-east-1:123456789012:table/gdc-view-playground-db/table_1"
                        ],
                        "Representations": [
                            {
                                "Dialect": "ATHENA",
                                "DialectVersion": "3",
                                "ViewOriginalText": "SELECT col1, col2 FROM \"gdc-view-playground-db\".\"table_1\"",
                                "IsStale": false
                            },
                            {
                                "Dialect": "REDSHIFT",
                                "DialectVersion": "1.0",
                                "ViewOriginalText": "SELECT col1 FROM \"gdc-view-playground-external-schema\".\"table_1\";",
                                "IsStale": false
                            }
                        ]
                    },
                    "IsMultiDialectView": true
                },
                "ViewValidations": [
                    {
                        "Dialect": "ATHENA",
                        "DialectVersion": "3",
                        "ViewValidationText": "SELECT col1, col2 FROM \"gdc-view-playground-db\".\"table_1\"",
                        "UpdateTime": "2024-07-11T11:23:19-07:00",
                        "State": "FAILED",
                        "Error": {
                            "ErrorCode": "InvalidInputException",
                            "ErrorMessage": "Engine and existing storage descriptor mismatch"
                        }
                    },
                    {
                        "Dialect": "REDSHIFT",
                        "DialectVersion": "1.0",
                        "ViewValidationText": "SELECT col1 FROM \"gdc-view-playground-external-schema\".\"table_1\";",
                        "UpdateTime": "2024-07-11T11:22:49-07:00",
                        "State": "FAILED",
                        "Error": {
                            "ErrorCode": "InvalidInputException",
                            "ErrorMessage": "Engine and existing storage descriptor mismatch"
                        }
                    }
                ]
            }
        }
    }
}
```

# Memberikan izin pada tampilan Katalog Data
<a name="grant-perms-views"></a>

 Setelah membuat tampilan di AWS Glue Data Catalog, Anda dapat memberikan izin data lake pada tampilan ke kepala sekolah di seluruh Akun AWS, organisasi, dan unit organisasi. Anda dapat memberikan izin menggunakan LF-tag atau metode sumber daya bernama. Untuk informasi selengkapnya tentang penandaan sumber daya, lihat[Kontrol akses berbasis tag Lake Formation](tag-based-access-control.md). Untuk informasi selengkapnya tentang pemberian izin pada tampilan secara langsung, lihat. [Memberikan izin pada tampilan menggunakan metode sumber daya bernama](granting-view-permissions.md)

# Tampilan terwujud
<a name="materialized-views"></a>

**Topics**
+ [Membedakan tampilan terwujud dari jenis tampilan lain](#materialized-views-differentiating)
+ [Kasus penggunaan](#materialized-views-use-cases)
+ [Konsep utama](#materialized-views-key-concepts)
+ [Izin untuk tampilan terwujud](#materialized-views-permissions)
+ [Membuat dan mengelola tampilan yang terwujud](#materialized-views-creating-managing)
+ [Penyimpanan dan akses data](#materialized-views-storage-access)
+ [Mengintegrasikan dengan izin AWS Lake Formation](#materialized-views-lake-formation)
+ [Pemantauan dan debugging](#materialized-views-monitoring-debugging)
+ [Mengelola pekerjaan penyegaran](#materialized-views-managing-refresh-jobs)
+ [Pemantauan dan pemecahan masalah](#materialized-views-monitoring-troubleshooting)
+ [Pertimbangan dan batasan](#materialized-views-considerations-limitations)

Dalam Katalog AWS Glue Data, tampilan terwujud adalah tabel terkelola yang menyimpan hasil yang telah dihitung sebelumnya dari kueri SQL dalam format Apache Iceberg. Tidak seperti tampilan Katalog Data standar yang mengeksekusi kueri setiap kali diakses, tampilan terwujud secara fisik menyimpan hasil kueri dan memperbaruinya saat tabel sumber yang mendasarinya berubah. Anda dapat membuat tampilan terwujud menggunakan Apache Spark versi 3.5.6\$1 di Amazon Athena, Amazon EMR, atau. AWS Glue

Tampilan terwujud mereferensikan tabel Apache Iceberg yang terdaftar di Katalog AWS Glue Data, dengan data yang telah dihitung sebelumnya disimpan sebagai tabel Apache Iceberg di bucket Amazon S3 Tables atau bucket tujuan umum Amazon S3, membuatnya dapat diakses dari beberapa mesin kueri termasuk Amazon Athena, Amazon Redshift, dan mesin yang kompatibel dengan Iceberg pihak ketiga.

## Membedakan tampilan terwujud dari jenis tampilan lain
<a name="materialized-views-differentiating"></a>

Tampilan terwujud berbeda dari tampilan Katalog AWS Glue Data, tampilan Apache Spark, dan tampilan Amazon Athena dengan cara mendasar. Sementara tampilan Katalog Data adalah tabel virtual yang mengeksekusi definisi kueri SQL setiap kali diakses, tampilan terwujud secara fisik menyimpan hasil kueri yang telah dihitung sebelumnya. Ini menghilangkan komputasi yang berlebihan dan secara signifikan meningkatkan kinerja kueri untuk transformasi kompleks yang sering diakses.

Tampilan terwujud juga berbeda dari jalur transformasi data tradisional yang dibangun dengan AWS Glue ETL atau pekerjaan Spark khusus. Alih-alih menulis kode khusus untuk menangani deteksi perubahan, pembaruan tambahan, dan orkestrasi alur kerja, Anda menentukan tampilan terwujud menggunakan sintaks SQL standar. Katalog AWS Glue Data secara otomatis memonitor tabel sumber, mendeteksi perubahan, dan menyegarkan tampilan terwujud menggunakan infrastruktur komputasi yang dikelola sepenuhnya.

## Kasus penggunaan
<a name="materialized-views-use-cases"></a>

Berikut ini adalah kasus penggunaan penting untuk tampilan terwujud:
+ **Mempercepat kueri analitik yang kompleks** — Buat tampilan terwujud yang menghitung sebelumnya gabungan, agregasi, dan fungsi jendela yang mahal. Spark engine secara otomatis menulis ulang kueri berikutnya untuk menggunakan hasil yang telah dihitung sebelumnya, mengurangi latensi kueri dan biaya komputasi.
+ **Sederhanakan jalur transformasi data** — Ganti pekerjaan ETL kompleks yang menangani deteksi perubahan, pembaruan tambahan, dan orkestrasi alur kerja dengan definisi tampilan terwujud berbasis SQL sederhana. Katalog AWS Glue Data mengelola semua kompleksitas operasional secara otomatis.
+ **Aktifkan analisis layanan mandiri dengan akses data yang diatur** — Buat tampilan terwujud yang dikuratori yang mengubah data mentah menjadi kumpulan data siap bisnis. Berikan pengguna akses ke tampilan yang terwujud tanpa mengekspos tabel sumber yang mendasarinya, menyederhanakan manajemen keamanan sekaligus memberdayakan analitik swalayan.
+ **Optimalkan rekayasa fitur untuk pembelajaran mesin** — Tentukan tampilan terwujud yang menerapkan transformasi fitur untuk model ML. Kemampuan penyegaran otomatis memastikan penyimpanan fitur tetap terkini saat data sumber berkembang, sementara penyegaran tambahan meminimalkan biaya komputasi.
+ **Menerapkan berbagi data yang efisien** — Buat tampilan terwujud yang menyaring dan mengubah data untuk konsumen tertentu. Bagikan tampilan terwujud di seluruh akun dan wilayah yang menggunakan AWS Lake Formation, menghilangkan kebutuhan akan duplikasi data sambil mempertahankan tata kelola terpusat.

## Konsep utama
<a name="materialized-views-key-concepts"></a>

### Penyegaran otomatis
<a name="materialized-views-automatic-refresh"></a>

Penyegaran otomatis adalah kemampuan yang terus memantau tabel sumber Anda dan memperbarui tampilan yang terwujud sesuai dengan jadwal yang Anda tentukan. Saat membuat tampilan terwujud, Anda dapat menentukan frekuensi penyegaran menggunakan penjadwalan berbasis waktu dengan interval sesering satu jam. Katalog AWS Glue Data menggunakan infrastruktur komputasi Spark terkelola untuk menjalankan operasi penyegaran di latar belakang, menangani semua aspek deteksi perubahan dan pembaruan tambahan secara transparan.

Saat data sumber berubah di antara interval penyegaran, tampilan yang terwujud menjadi basi sementara. Kueri yang secara langsung mengakses tampilan terwujud dapat mengembalikan hasil yang sudah ketinggalan zaman hingga penyegaran terjadwal berikutnya selesai. Untuk skenario yang membutuhkan akses langsung ke data terbaru, Anda dapat menjalankan penyegaran manual menggunakan perintah `REFRESH MATERIALIZED VIEW` SQL.

### Penyegaran tambahan
<a name="materialized-views-incremental-refresh"></a>

Penyegaran tambahan adalah teknik pengoptimalan yang hanya memproses data yang telah berubah dalam tabel sumber sejak penyegaran terakhir, daripada menghitung ulang seluruh tampilan yang terwujud. Katalog AWS Glue Data memanfaatkan lapisan metadata Apache Iceberg untuk melacak perubahan tabel sumber secara efisien dan menentukan bagian mana dari tampilan terwujud yang memerlukan pembaruan.

Pendekatan ini secara signifikan mengurangi biaya komputasi dan durasi penyegaran dibandingkan dengan operasi penyegaran penuh, terutama untuk kumpulan data besar di mana hanya sebagian kecil perubahan data di antara siklus penyegaran. Mekanisme penyegaran tambahan beroperasi secara otomatis; Anda tidak perlu menulis logika khusus untuk mendeteksi atau memproses data yang diubah.

### Penulisan ulang kueri otomatis
<a name="materialized-views-automatic-query-rewrite"></a>

Penulisan ulang kueri otomatis adalah kemampuan pengoptimalan kueri yang tersedia di mesin Spark di Amazon Athena, Amazon EMR, dan. AWS Glue Saat Anda menjalankan kueri terhadap tabel dasar, pengoptimal Spark menganalisis rencana kueri Anda dan secara otomatis menentukan apakah tampilan terwujud yang tersedia dapat memenuhi kueri dengan lebih efisien. Jika tampilan terwujud yang sesuai ada, pengoptimal secara transparan menulis ulang kueri untuk menggunakan hasil yang telah dihitung sebelumnya alih-alih memproses tabel dasar.

Pengoptimalan ini terjadi tanpa memerlukan perubahan apa pun pada kode aplikasi atau pernyataan kueri Anda. Pengoptimal Spark memastikan bahwa penulisan ulang kueri otomatis hanya berlaku ketika tampilan terwujud saat ini dan dapat menghasilkan hasil yang akurat. Jika tampilan terwujud sudah basi atau tidak sepenuhnya sesuai dengan persyaratan kueri, pengoptimal akan mengeksekusi rencana kueri asli terhadap tabel dasar, memprioritaskan kebenaran daripada kinerja.

### Lihat peran yang lebih pasti
<a name="materialized-views-view-definer-role"></a>

Tampilan terwujud beroperasi berdasarkan izin peran IAM yang membuatnya, yang dikenal sebagai peran penentu tampilan. Peran definer harus memiliki akses baca ke semua tabel dasar yang direferensikan dalam definisi tampilan terwujud dan membuat izin tabel pada database target. Ketika Katalog AWS Glue Data menyegarkan tampilan terwujud, ia akan mengasumsikan peran definer untuk mengakses tabel sumber dan menulis hasil yang diperbarui.

Model keamanan ini memungkinkan Anda memberi pengguna akses ke tampilan terwujud tanpa memberi mereka izin langsung pada tabel sumber yang mendasarinya. Jika peran penentu tampilan kehilangan akses ke tabel dasar apa pun, operasi penyegaran berikutnya akan gagal hingga izin dipulihkan.

## Izin untuk tampilan terwujud
<a name="materialized-views-permissions"></a>

Untuk membuat dan mengelola tampilan terwujud, Anda harus mengonfigurasi AWS Lake Formation izin. Peran IAM yang menciptakan tampilan terwujud (peran definer) memerlukan izin khusus pada tabel sumber dan database target.

### Izin yang diperlukan untuk peran definer
<a name="materialized-views-required-permissions-definer-role"></a>

Peran definer harus memiliki izin Lake Formation berikut:
+ Pada tabel sumber - PILIH atau SEMUA izin tanpa filter baris, kolom, atau sel
+ Pada database target - izin CREATE\$1TABLE
+ Pada Katalog AWS Glue Data — GetTable dan izin CreateTable API

Saat Anda membuat tampilan terwujud, ARN peran definer disimpan dalam definisi tampilan. Katalog AWS Glue Data mengasumsikan peran ini saat menjalankan operasi penyegaran otomatis. Jika peran definer kehilangan akses ke tabel sumber, operasi refresh akan gagal hingga izin dipulihkan.

### Izin IAM untuk pekerjaan AWS Glue
<a name="materialized-views-iam-permissions-glue-jobs"></a>

Peran IAM AWS Glue pekerjaan Anda memerlukan izin berikut:

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "glue:GetCatalog",
                "glue:GetCatalogs",
                "glue:GetTable",
                "glue:GetTables",
                "glue:CreateTable",
                "glue:UpdateTable",
                "glue:DeleteTable",
                "glue:GetDatabase",
                "glue:GetDatabases",
                "cloudwatch:PutMetricData"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:GetObject",
                "s3:PutObject",
                "s3:DeleteObject"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-bucket/*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:ListBucket"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-bucket"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "logs:CreateLogGroup",
                "logs:CreateLogStream",
                "logs:PutLogEvents"
            ],
            "Resource": [
                "arn:aws:logs:*:*:*:/aws-glue/*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "lakeformation:GetDataAccess"
            ],
            "Resource": "*"
        }
    ]
}
```

Peran yang Anda gunakan untuk penyegaran otomatis Tampilan Materialisasi harus memiliki PassRole izin iam: pada peran tersebut.

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "iam:PassRole"
      ],
      "Resource": [
        "arn:aws:iam::111122223333:role/materialized-view-role-name"
      ]
    }
  ]
}
```

Agar Glue secara otomatis menyegarkan tampilan terwujud untuk Anda, peran tersebut juga harus memiliki kebijakan kepercayaan berikut yang memungkinkan layanan untuk mengambil peran tersebut.

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "glue.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}
```

Jika Tampilan Materialisasi disimpan di Bucket Tabel S3, Anda juga perlu menambahkan izin berikut ke peran.

```
{
  "Version": "2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "s3tables:PutTableMaintenanceConfiguration"
      ],
      "Resource": "arn:aws:s3tables:*:123456789012:*"
    }
  ]
}
```

### Memberikan akses ke tampilan yang terwujud
<a name="materialized-views-granting-access"></a>

Untuk memberi pengguna lain akses ke kueri tampilan terwujud, gunakan AWS Lake Formation untuk memberikan izin SELECT pada tabel tampilan terwujud. Pengguna dapat menanyakan tampilan terwujud tanpa memerlukan akses langsung ke tabel sumber yang mendasarinya.

Untuk informasi lebih lanjut tentang mengonfigurasi izin Lake Formation, lihat Memberikan dan mencabut izin pada sumber daya Katalog Data di Panduan Pengembang. AWS Lake Formation 

## Membuat dan mengelola tampilan yang terwujud
<a name="materialized-views-creating-managing"></a>

Anda membuat tampilan terwujud menggunakan pernyataan `CREATE MATERIALIZED VIEW` SQL di mesin Spark. Definisi tampilan menentukan kueri SQL yang mendefinisikan logika transformasi, database target dan nama tabel, dan konfigurasi penyegaran opsional. Anda dapat menentukan transformasi kompleks termasuk agregasi, bergabung di beberapa tabel, filter, dan fungsi jendela.

```
CREATE MATERIALIZED VIEW sales_summary
AS
SELECT 
    region,
    product_category,
    SUM(sales_amount) as total_sales,
    COUNT(DISTINCT customer_id) as unique_customers
FROM sales_transactions
WHERE transaction_date >= current_date - interval '90' day
GROUP BY region, product_category;
```

Untuk mengonfigurasi penyegaran otomatis, sertakan jadwal penyegaran dalam definisi tampilan Anda:

```
CREATE MATERIALIZED VIEW sales_summary
SCHEDULE REFRESH EVERY 1 HOUR
AS
SELECT region, product_category, SUM(sales_amount) as total_sales
FROM sales_transactions
GROUP BY region, product_category;
```

Anda dapat menyegarkan tampilan terwujud secara manual kapan saja menggunakan `REFRESH MATERIALIZED VIEW` perintah:

```
REFRESH MATERIALIZED VIEW sales_summary;
```

Untuk mengubah jadwal penyegaran tampilan terwujud yang ada, gunakan `ALTER MATERIALIZED VIEW` pernyataan:

```
ALTER MATERIALIZED VIEW sales_summary
ADD SCHEDULE REFRESH EVERY 2 HOURS;
```

### Pandangan terwujud bersarang
<a name="materialized-views-nested"></a>

Anda dapat membuat tampilan terwujud yang mereferensikan tampilan terwujud lainnya sebagai tabel dasar, memungkinkan transformasi data multi-tahap. Saat Anda membuat tampilan terwujud bersarang, Katalog AWS Glue Data melacak dependensi dan secara otomatis menyebarkan pembaruan melalui hierarki tampilan terwujud. Saat tampilan terwujud dasar diperbarui, semua tampilan terwujud hilir yang bergantung padanya akan diperbarui sesuai dengan itu.

Kemampuan ini memungkinkan Anda untuk menguraikan transformasi kompleks menjadi tahapan logis, meningkatkan pemeliharaan dan memungkinkan penyegaran selektif lapisan transformasi berdasarkan persyaratan kesegaran data Anda.

## Penyimpanan dan akses data
<a name="materialized-views-storage-access"></a>

Tampilan terwujud menyimpan hasil yang telah dihitung sebelumnya sebagai tabel Apache Iceberg di bucket Tabel S3 atau bucket S3 tujuan umum dalam akun Anda. AWS Katalog AWS Glue Data mengelola semua aspek pemeliharaan tabel Iceberg, termasuk pemadatan dan retensi snapshot, melalui kemampuan pengoptimalan otomatis S3 Tables.

Karena tampilan terwujud disimpan sebagai tabel Iceberg, Anda dapat membacanya langsung dari mesin yang kompatibel dengan Iceberg, termasuk Amazon Athena, Amazon Redshift, dan platform analitik pihak ketiga. Aksesibilitas multi-mesin ini memastikan data yang telah dihitung sebelumnya tetap dapat diakses di seluruh ekosistem analitik Anda tanpa duplikasi data atau konversi format.

## Mengintegrasikan dengan izin AWS Lake Formation
<a name="materialized-views-lake-formation"></a>

Anda dapat menggunakannya AWS Lake Formation untuk mengelola izin berbutir halus pada tampilan terwujud. Pembuat tampilan secara otomatis menjadi pemilik tampilan terwujud dan dapat memberikan izin kepada pengguna atau peran lain menggunakan metode sumber daya bernama atau AWS Lake Formation LF-tag.

Saat Anda memberikan `SELECT` izin kepada pengguna pada tampilan terwujud, mereka dapat menanyakan hasil yang telah dihitung sebelumnya tanpa memerlukan akses ke tabel sumber yang mendasarinya. Model keamanan ini menyederhanakan manajemen akses data dan memungkinkan Anda menerapkan prinsip hak istimewa paling sedikit, memberi pengguna akses hanya ke transformasi data spesifik yang mereka butuhkan.

Anda dapat membagikan tampilan terwujud di seluruh AWS akun, AWS organisasi, dan unit organisasi menggunakan AWS Lake Formation kemampuan berbagi lintas akun. Anda juga dapat mengakses tampilan terwujud di seluruh AWS Wilayah menggunakan tautan sumber daya, memungkinkan tata kelola data terpusat dengan akses data terdistribusi.

## Pemantauan dan debugging
<a name="materialized-views-monitoring-debugging"></a>

Katalog AWS Glue Data menerbitkan semua operasi penyegaran tampilan terwujud dan metrik terkait ke Amazon. CloudWatch Anda dapat memantau waktu mulai penyegaran, waktu akhir, durasi, volume data yang diproses, dan menyegarkan status melalui CloudWatch metrik. Ketika operasi penyegaran gagal, pesan kesalahan dan informasi diagnostik ditangkap di CloudWatch Log.

Anda dapat mengatur CloudWatch alarm untuk menerima notifikasi saat penyegaran pekerjaan melebihi durasi yang diharapkan atau gagal berulang kali. Katalog AWS Glue Data juga menerbitkan peristiwa perubahan untuk penyegaran yang berhasil dan gagal, memungkinkan Anda mengintegrasikan operasi tampilan terwujud ke dalam otomatisasi alur kerja yang lebih luas.

Untuk memeriksa status tampilan terwujud saat ini, gunakan perintah `DESCRIBE MATERIALIZED VIEW` SQL, yang menampilkan metadata termasuk status kebuntuan, stempel waktu penyegaran terakhir, dan konfigurasi jadwal penyegaran.

## Mengelola pekerjaan penyegaran
<a name="materialized-views-managing-refresh-jobs"></a>

### Memulai penyegaran manual
<a name="materialized-views-manual-refresh"></a>

Picu penyegaran langsung di luar interval yang dijadwalkan.

Izin yang Diperlukan: AWS Kredensil yang digunakan untuk melakukan panggilan API harus memiliki `glue:GetTable` izin untuk tampilan yang terwujud.

Untuk Katalog Tabel S3:

```
aws glue start-materialized-view-refresh-task-run \
    --catalog-id <ACCOUNT_ID>:s3tablescatalog/<CATALOG_NAME> \
    --database-name <DATABASE_NAME> \
    --table-name <MV_TABLE_NAME>
```

Untuk Katalog Root:

```
aws glue start-materialized-view-refresh-task-run \
    --catalog-id <ACCOUNT_ID> \
    --database-name <DATABASE_NAME> \
    --table-name <MV_TABLE_NAME>
```

### Memeriksa status penyegaran
<a name="materialized-views-checking-refresh-status"></a>

Dapatkan status pekerjaan penyegaran tertentu:

```
aws glue get-materialized-view-refresh-task-run \
    --catalog-id <CATALOG_ID> \
    --materialized-view-refresh-task-run-id <TASK_RUN_ID>
```

### Daftar riwayat penyegaran
<a name="materialized-views-listing-refresh-history"></a>

Lihat semua pekerjaan penyegaran untuk tampilan terwujud:

```
aws glue list-materialized-view-refresh-task-runs \
    --catalog-id <CATALOG_ID> \
    --database-name <DATABASE_NAME> \
    --table-name <MV_TABLE_NAME>
```

**catatan**  
Gunakan `<ACCOUNT_ID>:s3tablescatalog/<CATALOG_NAME>` untuk Tabel S3 atau `<ACCOUNT_ID>` untuk katalog root.

### Menghentikan penyegaran yang sedang berjalan
<a name="materialized-views-stopping-refresh"></a>

Membatalkan pekerjaan penyegaran yang sedang berlangsung:

```
aws glue stop-materialized-view-refresh-task-run \
    --catalog-id <CATALOG_ID> \
    --database-name <DATABASE_NAME> \
    --table-name <MV_TABLE_NAME>
```

## Pemantauan dan pemecahan masalah
<a name="materialized-views-monitoring-troubleshooting"></a>

Ada tiga cara untuk memantau pekerjaan penyegaran tampilan yang terwujud:

### CloudWatch Metrik
<a name="materialized-views-cloudwatch-metrics"></a>

Lihat metrik agregat untuk semua pekerjaan penyegaran tampilan terwujud Anda di: CloudWatch

Metrik yang Tersedia:
+ AWS/Lem namespace dengan dimensi:
  + CatalogId: Pengenal katalog Anda
  + DatabaseName: Database yang berisi tampilan terwujud
  + TableName: Nama tampilan terwujud
  + TaskType: Setel ke "MaterializedViewRefresh”

Melihat di Konsol:

1. Arahkan ke CloudWatch Konsol → Metrik

1.  AWS Pilih/Lem namespace

1. Filter berdasarkan dimensi: CatalogId, DatabaseName, TableName, TaskType

1. Lihat metrik untuk keberhasilan, kegagalan, dan durasi pekerjaan

Contoh Kueri CloudWatch Metrik:

```
{AWS/Glue,CatalogId,DatabaseName,TableName,TaskType} MaterializedViewRefresh
```

Menggunakan AWS CLI:

```
aws cloudwatch get-metric-statistics \
    --namespace AWS/Glue \
    --metric-name <MetricName> \
    --dimensions Name=CatalogId,Value=<CATALOG_ID> \
                 Name=DatabaseName,Value=<DATABASE_NAME> \
                 Name=TableName,Value=<TABLE_NAME> \
                 Name=TaskType,Value=MaterializedViewRefresh \
    --start-time <START_TIME> \
    --end-time <END_TIME> \
    --period 3600 \
    --statistics Sum \
    --region <REGION>
```

### CloudWatch Log
<a name="materialized-views-cloudwatch-logs"></a>

Lihat log eksekusi terperinci untuk menjalankan tugas penyegaran individu:

Grup Log: `/aws-glue/materialized-views/<task_run_id>`

Dimana `<task_run_id>` adalah UUID (misalnya, abc12345-def6-7890-ghij-klmnopqrstuv).

Melihat Log:

```
# List log streams for a task run
aws logs describe-log-streams \
    --log-group-name /aws-glue/materialized-views/<TASK_RUN_ID> \
    --region <REGION>

# Get log events
aws logs get-log-events \
    --log-group-name /aws-glue/materialized-views/<TASK_RUN_ID> \
    --log-stream-name <LOG_STREAM_NAME> \
    --region <REGION>
```

Di CloudWatch Konsol:

1. Arahkan ke CloudWatch → Grup log

1. Cari /aws-glue/materialized-views/

1. Pilih grup log dengan ID task run

1. Lihat log eksekusi terperinci, kesalahan, dan output pekerjaan Spark

### Notifikasi
<a name="materialized-views-eventbridge"></a>

Berlangganan acara untuk pemberitahuan waktu nyata tentang menyegarkan perubahan status pekerjaan:

Jenis Acara yang Tersedia:
+ Glue Materialized View Refresh Task Dimulai
+ Glue Materialized View Refresh Task Berhasil
+ Gagal Glue Materialized View Refresh Task
+ Glue Materialized View Kegagalan Pemanggilan Penyegaran Otomatis

Membuat Aturan:

```
aws events put-rule \
    --name materialized-view-refresh-notifications \
    --event-pattern '{
        "source": ["aws.glue"],
        "detail-type": [
            "Glue Materialized View Refresh Task Started",
            "Glue Materialized View Refresh Task Succeeded",
            "Glue Materialized View Refresh Task Failed",
            "Glue Materialized View Auto-Refresh Invocation Failure"
        ]
    }' \
    --region <REGION>
```

Menambahkan Target (misalnya, Topik SNS):

```
aws events put-targets \
    --rule materialized-view-refresh-notifications \
    --targets "Id"="1","Arn"="arn:aws:sns:<REGION>:<ACCOUNT_ID>:<TOPIC_NAME>" \
    --region <REGION>
```

### Melihat status penyegaran
<a name="materialized-views-refresh-status"></a>

Periksa status pekerjaan penyegaran tampilan terwujud Anda menggunakan AWS Glue API:

```
aws glue get-materialized-view-refresh-task-run \
    --catalog-id <CATALOG_ID> \
    --materialized-view-refresh-task-run-id <TASK_RUN_ID> \
    --region <REGION>
```

Atau daftar semua proses penyegaran terbaru:

```
aws glue list-materialized-view-refresh-task-runs \
    --catalog-id <CATALOG_ID> \
    --database-name <DATABASE_NAME> \
    --table-name <MV_TABLE_NAME> \
    --region <REGION>
```

Ini menunjukkan:
+ Waktu penyegaran terakhir
+ Segarkan status (BERHASIL, GAGAL, BERJALAN, BERHENTI)
+ ID Jalankan tugas
+ Pesan galat (jika gagal)

Status Penyegaran Umum:
+ RUNNING: Segarkan pekerjaan saat ini sedang dijalankan
+ BERHASIL: Refresh berhasil diselesaikan
+ GAGAL: Penyegaran mengalami kesalahan
+ STOPTED: Refresh dibatalkan secara manual

Pemecahan Masalah Gagal Menyegarkan:

Jika penyegaran gagal, periksa:

1. Izin IAM: Pastikan peran definer memiliki akses ke semua tabel dasar dan lokasi tampilan yang terwujud

1. Ketersediaan Tabel Dasar: Verifikasi semua tabel yang direferensikan ada dan dapat diakses

1. Validitas Kueri: Konfirmasikan kueri SQL valid untuk dialek Spark SQL

1. Batas Sumber Daya: Periksa apakah Anda telah mencapai batas penyegaran bersamaan untuk akun Anda

Gunakan GetMaterializedViewRefreshTaskRun API untuk mengambil pesan kesalahan terperinci.

## Pertimbangan dan batasan
<a name="materialized-views-considerations-limitations"></a>
+ Tampilan terwujud hanya dapat mereferensikan tabel Apache Iceberg yang terdaftar di Katalog AWS Glue Data sebagai tabel dasar.
+ Pembuatan tampilan dan penulisan ulang kueri otomatis hanya tersedia dari mesin Spark di Apache Spark versi 3.5.6 ke atas di Amazon Athena, Amazon EMR, dan (Versi 5.1). AWS Glue 
+ Tampilan terwujud pada akhirnya konsisten dengan tabel dasar. Selama jendela penyegaran, kueri yang secara langsung mengakses tampilan terwujud dapat mengembalikan data yang sudah ketinggalan zaman. Untuk akses langsung ke data saat ini, jalankan penyegaran manual.
+ Interval penyegaran otomatis minimum adalah satu jam. Untuk kasus penggunaan yang membutuhkan pembaruan yang lebih sering, jalankan penyegaran manual secara terprogram menggunakan perintah. `REFRESH MATERIALIZED VIEW`
+ Penulisan ulang kueri memprioritaskan kebenaran daripada kinerja. Jika tampilan terwujud basi atau tidak dapat memenuhi persyaratan kueri secara akurat, mesin Spark mengeksekusi kueri asli terhadap tabel dasar.

# Mengimpor data menggunakan alur kerja di Lake Formation
<a name="workflows"></a>

Dengan AWS Lake Formation, Anda dapat mengimpor data menggunakan *alur kerja*. Alur kerja menentukan sumber data dan jadwal untuk mengimpor data ke danau data Anda. Ini adalah wadah untuk AWS Glue crawler, pekerjaan, dan pemicu yang digunakan untuk mengatur proses untuk memuat dan memperbarui data lake. 

**Topics**
+ [Cetak biru dan alur kerja di Lake Formation](workflows-about.md)
+ [Membuat alur kerja](workflows-creating.md)
+ [Menjalankan alur kerja](workflows-running.md)

# Cetak biru dan alur kerja di Lake Formation
<a name="workflows-about"></a>

Alur kerja merangkum aktivitas multi-job extract, transform, and load (ETL) yang kompleks. Alur kerja menghasilkan AWS Glue crawler, pekerjaan, dan pemicu untuk mengatur pemuatan dan pembaruan data. Lake Formation mengeksekusi dan melacak alur kerja sebagai satu entitas. Anda dapat mengonfigurasi alur kerja agar berjalan sesuai permintaan atau sesuai jadwal.

**catatan**  
Penulis parket Spark tidak mendukung karakter khusus dalam nama kolom. Ini adalah batasan teknis dari penulis itu sendiri, bukan masalah konfigurasi.

Alur kerja yang Anda buat di Lake Formation terlihat di AWS Glue konsol sebagai grafik asiklik terarah (DAG). Setiap node DAG adalah job, crawler, atau trigger. Untuk memantau kemajuan dan pemecahan masalah, Anda dapat melacak status setiap node dalam alur kerja.

Ketika alur kerja Lake Formation telah selesai, pengguna yang menjalankan alur kerja diberikan `SELECT` izin Lake Formation pada tabel Katalog Data yang dibuat oleh alur kerja. 

Anda juga dapat membuat alur kerja diAWS Glue. Namun, karena Lake Formation memungkinkan Anda membuat alur kerja dari cetak biru, membuat alur kerja jauh lebih sederhana dan lebih otomatis di Lake Formation. Lake Formation menyediakan jenis cetak biru berikut:
+ **Snapshot database** — Memuat atau memuat ulang data dari semua tabel ke dalam data lake dari sumber JDBC. Anda dapat mengecualikan beberapa data dari sumber berdasarkan pola pengecualian.
+ **Database tambahan** — Memuat hanya data baru ke dalam data lake dari sumber JDBC, berdasarkan bookmark yang ditetapkan sebelumnya. Anda menentukan tabel individual dalam database sumber JDBC untuk disertakan. Untuk setiap tabel, Anda memilih kolom bookmark dan urutan sortir bookmark untuk melacak data yang sebelumnya telah dimuat. Pertama kali Anda menjalankan cetak biru database inkremental terhadap sekumpulan tabel, alur kerja memuat semua data dari tabel dan menetapkan bookmark untuk menjalankan cetak biru database inkremental berikutnya. Oleh karena itu, Anda dapat menggunakan cetak biru database tambahan alih-alih cetak biru snapshot database untuk memuat semua data, asalkan Anda menentukan setiap tabel di sumber data sebagai parameter.
+ **File log** - memuat data massal dari sumber file log, termasuk AWS CloudTrail, log Elastic Load Balancing, dan log Application Load Balancer.

Gunakan tabel berikut untuk membantu memutuskan apakah akan menggunakan snapshot database atau cetak biru database inkremental.


| Gunakan snapshot database saat... | Gunakan database inkremental saat... | 
| --- | --- | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/lake-formation/latest/dg/workflows-about.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/lake-formation/latest/dg/workflows-about.html)  | 

**catatan**  
Pengguna tidak dapat mengedit cetakan biru dan alur kerja yang dibuat oleh Lake Formation. 

# Membuat alur kerja
<a name="workflows-creating"></a>

Sebelum memulai, pastikan bahwa Anda telah memberikan izin data yang diperlukan dan izin lokasi data untuk peran tersebut. `LakeFormationWorkflowRole` Ini agar alur kerja dapat membuat tabel metadata di Katalog Data dan menulis data ke lokasi target di Amazon S3. Untuk informasi selengkapnya, lihat [(Opsional) Buat peran IAM untuk alur kerja](initial-lf-config.md#iam-create-blueprint-role) dan [Ikhtisar izin Lake Formation](lf-permissions-overview.md).

**catatan**  
Lake Formation menggunakan`GetTemplateInstance`,`GetTemplateInstances`, dan `InstantiateTemplate` operasi untuk membuat alur kerja dari cetak biru. Operasi ini tidak tersedia untuk umum, dan hanya digunakan secara internal untuk membuat sumber daya atas nama Anda. Anda menerima CloudTrail acara untuk membuat alur kerja.

**Untuk membuat alur kerja dari cetak biru**

1. Buka AWS Lake Formation konsol di [https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/). Masuk sebagai administrator data lake atau sebagai pengguna yang memiliki izin insinyur data. Untuk informasi selengkapnya, lihat [Referensi personas Lake Formation dan izin IAM](permissions-reference.md).

1. **Di panel navigasi, pilih **Blueprints, lalu pilih Use blueprint**.**

1. Pada halaman **Gunakan cetak biru**, pilih ubin untuk memilih jenis cetak biru.

1. Di bawah **Impor sumber**, tentukan sumber data. 

   Jika Anda mengimpor dari sumber JDBC, tentukan yang berikut ini:
   + ****Koneksi database**** —Pilih koneksi dari daftar. Buat koneksi tambahan menggunakan AWS Glue konsol. Nama pengguna dan kata sandi JDBC dalam koneksi menentukan objek database yang dapat diakses oleh alur kerja.
   + ****Jalur data sumber**** —Masukkan*<database>*/*<schema>*/*<table>*atau*<database>*/*<table>*, tergantung pada produk database. Basis Data Oracle dan MySQL tidak mendukung skema dalam path. Anda dapat mengganti persen (%) karakter untuk *<schema>* atau*<table>*. Misalnya, untuk database Oracle dengan pengenal sistem (SID) dari`orcl`, masukkan `orcl/%` untuk mengimpor semua tabel yang pengguna nama dalam koneksi memiliki akses ke.
**penting**  
Bidang ini peka huruf besar/kecil. Alur kerja akan gagal jika ada ketidakcocokan kasus untuk salah satu komponen.

     Jika Anda menentukan database MySQL AWS Glue , ETL menggunakan driver Mysql5 JDBC secara default, jadi My tidak didukung secara native. SQL8 Anda dapat mengedit skrip pekerjaan ETL untuk menggunakan `customJdbcDriverS3Path` parameter seperti yang dijelaskan dalam Nilai [ConnectionType JDBC](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-connect.html#aws-glue-programming-etl-connect-jdbc) di Panduan *AWS Glue Pengembang* untuk menggunakan driver JDBC berbeda yang mendukung My. SQL8

   Jika Anda mengimpor dari file log, pastikan bahwa peran yang Anda tentukan untuk alur kerja (“peran alur kerja”) memiliki izin IAM yang diperlukan untuk mengakses sumber data. Misalnya, untuk mengimpor AWS CloudTrail log, pengguna harus memiliki `cloudtrail:LookupEvents` izin `cloudtrail:DescribeTrails` dan untuk melihat daftar CloudTrail log saat membuat alur kerja, dan peran alur kerja harus memiliki izin pada lokasi di CloudTrail Amazon S3.

1. Lakukan salah satu tindakan berikut:
   + Untuk jenis cetak biru **snapshot Database**, identifikasi subset data yang akan diimpor secara opsional dengan menentukan satu atau beberapa pola pengecualian. Pola pengecualian ini adalah pola gaya Unix`glob`. Mereka disimpan sebagai properti dari tabel yang dibuat oleh alur kerja.

     Untuk detail tentang pola pengecualian yang tersedia, lihat [Menyertakan dan Mengecualikan Pola](https://docs.aws.amazon.com/glue/latest/dg/define-crawler.html#crawler-data-stores-exclude) di *Panduan AWS Glue Pengembang*.
   + Untuk jenis cetak biru **database Incremental**, tentukan bidang berikut. Tambahkan baris untuk setiap tabel untuk diimpor.  
**Nama tabel**  
Tabel untuk mengimpor. Harus semua huruf kecil.  
**Tombol bookmark**  
Daftar nama kolom yang dibatasi koma yang menentukan kunci bookmark. Jika kosong, kunci utama digunakan untuk menentukan data baru. Kasus untuk setiap kolom harus cocok dengan kasus seperti yang didefinisikan dalam sumber data.  
Kunci primer memenuhi syarat sebagai kunci bookmark default hanya jika secara berurutan meningkat atau menurun (tanpa celah). Jika Anda ingin menggunakan kunci primer sebagai kunci bookmark dan memiliki celah, Anda harus memberi nama kolom kunci utama sebagai kunci bookmark.  
**Urutan bookmark**  
Saat Anda memilih **Ascending**, baris dengan nilai lebih besar dari nilai yang ditandai diidentifikasi sebagai baris baru. Saat Anda memilih **Menurun**, baris dengan nilai kurang dari nilai yang ditandai diidentifikasi sebagai baris baru.  
**Skema pembagian**  
(Opsional) Daftar kolom kunci partisi, dibatasi oleh garis miring (/). Contoh:` year/month/day`.  
![\[Bagian data tambahan konsol mencakup bidang-bidang ini: Nama tabel, Tombol bookmark, Urutan bookmark, Skema partisi. Anda dapat menambah atau menghapus baris, di mana setiap baris adalah untuk tabel yang berbeda.\]](http://docs.aws.amazon.com/id_id/lake-formation/latest/dg/images/incremental-data.png)

     Untuk informasi selengkapnya, lihat [Melacak Data yang Diproses Menggunakan Bookmark Job](https://docs.aws.amazon.com/glue/latest/dg/monitor-continuations.html) di *Panduan AWS Glue Pengembang*.

1. Di bawah **Impor target**, tentukan database target, target lokasi Amazon S3, dan format data.

   Pastikan bahwa peran alur kerja memiliki izin Lake Formation yang diperlukan pada database dan lokasi target Amazon S3.
**catatan**  
Saat ini, cetak biru tidak mendukung enkripsi data pada target.

1. Pilih frekuensi impor.

   Anda dapat menentukan `cron` ekspresi dengan opsi **Kustom**.

1. Di bawah **opsi Impor**:

   1. Masukkan nama alur kerja.

   1. Untuk peran, pilih peran`LakeFormationWorkflowRole`, yang Anda buat[(Opsional) Buat peran IAM untuk alur kerja](initial-lf-config.md#iam-create-blueprint-role). 

   1. Secara opsional menentukan awalan tabel. Awalan ditambahkan ke nama tabel Katalog Data yang dibuat alur kerja.

1. Pilih **Buat**, dan tunggu konsol melaporkan bahwa alur kerja berhasil dibuat.
**Tip**  
Apakah Anda mendapatkan pesan kesalahan berikut?  
`User: arn:aws:iam::<account-id>:user/<username> is not authorized to perform: iam:PassRole on resource:arn:aws:iam::<account-id>:role/<rolename>...`  
Jika demikian, periksa apakah Anda mengganti *<account-id>* dengan nomor AWS akun yang valid di semua kebijakan.

**Lihat juga:**  
[Cetak biru dan alur kerja di Lake Formation](workflows-about.md)

# Menjalankan alur kerja
<a name="workflows-running"></a>

Anda dapat menjalankan alur kerja menggunakan konsol Lake Formation, AWS Glue konsol, atau AWS Glue Command Line Interface (AWS CLI), atau API.

**Untuk menjalankan alur kerja (konsol Lake Formation)**

1. Buka AWS Lake Formation konsol di [https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/). Masuk sebagai administrator data lake atau sebagai pengguna yang memiliki izin insinyur data. Untuk informasi selengkapnya, lihat [Referensi personas Lake Formation dan izin IAM](permissions-reference.md).

1. Di panel navigasi, pilih **Cetak biru**.

1. Pada halaman **Blueprints**, pilih alur kerja. Kemudian pada menu **Tindakan**, pilih **Mulai**.

1. Saat alur kerja berjalan, lihat kemajuannya di kolom **Status Last run**. Pilih tombol refresh sesekali.

   **Status berubah dari **RUNNING**, ke **Discovering**, ke **Importing**, ke COMPLETED.** 

   Saat alur kerja selesai:
   + Katalog Data memiliki tabel metadata baru.
   + Data Anda tertelan ke danau data.

   Jika alur kerja gagal, lakukan hal berikut:

   1. Pilih alur kerja. Pilih **Tindakan**, lalu pilih **Lihat grafik**.

      Alur kerja terbuka di AWS Glue konsol.

   1. Pastikan bahwa alur kerja sudah dipilih, dan pilih tab **Riwayat**.

   1. Di bawah **Riwayat**, pilih proses terbaru dan pilih **Lihat detail jalankan**.

   1. Pilih job atau crawler yang gagal dalam grafik dinamis (runtime), dan tinjau pesan galatnya. Node yang gagal berwarna merah atau kuning.

**Lihat juga:**  
[Cetak biru dan alur kerja di Lake Formation](workflows-about.md)