

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

# Membawa data Anda ke AWS Glue Data Catalog
<a name="bring-your-data-overview"></a>

Anda dapat membuat katalog gabungan di AWS Glue Data Catalog (Katalog Data) dan menyatukan data di seluruh danau data Amazon S3 dan gudang data Amazon Redshift. Anda juga dapat mengintegrasikan data dari database operasional Anda seperti Amazon DynamoDB, dan sumber data pihak ketiga seperti PostgreSQL, BigQuery Google, MySQL, dan lainnya. Katalog Data menyediakan repositori metadata terpusat yang membuat pengelolaan dan penemuan data di seluruh sistem yang berbeda menjadi lebih mudah.

Katalog Data terintegrasi dengan lebih dari 30 sumber data eksternal melalui konektor federasi. Dengan integrasi ini, Anda dapat melakukan kueri data dari sumber eksternal ini tanpa harus membangun pipeline data untuk memasukkan AWS data terlebih dahulu.

Setelah membuat katalog data eksternal, Anda dapat menggunakan AWS Lake Formation untuk mengelola izin akses data secara terpusat di Katalog Data. Administrator data lake dapat memberikan izin akses berbutir halus ke prinsipal IAM lainnya (pengguna atau peran) dalam akun yang sama atau di seluruh akun menggunakan kontrol akses berbasis tag (LF-tag) dan metode sumber daya bernama.

Dengan menggunakan LF-tag, administrator data dapat secara logis mengatur sumber daya berdasarkan atribut seperti domain dan tingkat sensitivitas, menyederhanakan manajemen izin sambil memastikan kontrol akses yang konsisten di seluruh layanan analitik dan pembelajaran mesin termasuk Athena, Amazon EMR, atau Redshift Spectrum. AWS Glue 

Katalog Data menyediakan metode berikut untuk mengelola data dan izin pada kumpulan data eksternal dan metastor eksternal:
+ **Integrasikan bucket Tabel Amazon S3 dengan Katalog Data** — Anda dapat menerbitkan dan membuat katalog Tabel Amazon S3 sebagai objek Katalog Data dan mendaftarkan katalog sebagai lokasi data Lake Formation dari konsol Lake Formation atau menggunakan operasi API. AWS Glue 
+ **Bawa data di gudang data Amazon Redshift ke dalam AWS Glue Data Catalog** — Daftarkan namespace [Amazon Redshift](https://docs.aws.amazon.com/redshift/index.html) yang ada atau cluster dengan Katalog Data, dan buat katalog federasi multi-level di Katalog Data. 

  Anda dapat mengakses data Anda menggunakan mesin kueri apa pun yang kompatibel dengan spesifikasi OpenAPI katalog Apache Iceberg REST, seperti Amazon EMR Tanpa Server, dan Amazon Athena. 
+ **Gabungkan Iceberg REST katalog jarak jauh ke Katalog Data — Gabungkan katalog** jarak jauh ke Iceberg REST Katalog Data dan akses tabel jarak jauh yang disimpan Iceberg di Amazon S3 dengan aman menggunakan mesin analitik. AWS 
+ **Federasi ke dalam Katalog Data dari sumber data eksternal** — Hubungkan Katalog Data ke sumber data eksternal menggunakan AWS Glue koneksi, dan buat katalog federasi untuk mengelola izin akses secara terpusat pada kumpulan data menggunakan Lake Formation. Tidak diperlukan migrasi metadata ke dalam Katalog Data. 
+ **Buat katalog untuk mengelola tabel Amazon Redshift di Katalog Data** — Anda mungkin tidak memiliki klaster produsen Amazon Redshift atau datashare Amazon Redshift yang tersedia saat ini, tetapi ingin membuat dan mengelola tabel Amazon Redshift menggunakan Katalog Data. Anda dapat memulai dengan membuat katalog AWS Glue terkelola menggunakan operasi `glue:CreateCatalog` API atau AWS Lake Formation konsol dengan menyetel jenis katalog sebagai `Managed` dan `Catalog source` sebagai **Redshift**. 
+ **Publikasikan datashares Amazon Redshift dengan Katalog Data — Publikasikan** datashares [Amazon Redshift](https://docs.aws.amazon.com/redshift/index.html) ke Katalog Data, dan gunakan Lake Formation untuk mengelola akses data data secara terpusat dan membatasi akses pengguna.

  Anda dapat menanyakan data Anda menggunakan Amazon Redshift Spectrum. 
+  **Connect Data Catalog ke metastor Hive eksternal — Hubungkan** Katalog Data ke metastor eksternal untuk mengelola izin akses pada kumpulan data di Amazon S3 menggunakan Lake Formation. Tidak diperlukan migrasi metadata ke dalam Katalog Data. 
+ **Integrasikan Lake Formation dengan AWS Data Exchange** — Lake Formation mendukung lisensi akses ke data Anda melalui AWS Data Exchange. Jika Anda ingin melisensikan data Lake Formation Anda, lihat [Apa yang ada AWS Data Exchange](https://docs.aws.amazon.com/data-exchange/latest/userguide/what-is.html) di *Panduan AWS Data Exchange Pengguna*.

**Topics**
+ [Federasi katalog ke katalog Gunung Es jarak jauh](catalog-federation.md)
+ [Membawa data Amazon Redshift ke dalam AWS Glue Data Catalog](managing-namespaces-datacatalog.md)
+ [Menggabungkan ke sumber data eksternal di AWS Glue Data Catalog](federated-catalog-data-connection.md)
+ [Integrasi Amazon S3 Tabel dengan dan AWS Glue Data Catalog AWS Lake Formation](create-s3-tables-catalog.md)
+ [Mengubah kontrol akses untuk integrasi Tabel S3](manage-s3tables-catalog-integration.md)
+ [Membuat katalog terkelola Amazon Redshift di AWS Glue Data Catalog](create-rms-catalog.md)
+ [Mengelola izin untuk data dalam data Amazon Redshift](data-sharing-redshift.md)
+ [Mengelola izin pada kumpulan data yang menggunakan metastor eksternal](data-sharing-hms.md)

# Federasi katalog ke katalog Gunung Es jarak jauh
<a name="catalog-federation"></a>

Federasi katalog AWS Glue menyediakan akses langsung dan aman ke tabel Iceberg, disimpan di Amazon S3 dan dikatalogkan dalam katalog jarak jauh, menggunakan mesin analitik. AWS Federasi katalog menyinkronkan metadata di seluruh Katalog Data dan katalog jarak jauh saat Anda mengakses tabel jarak jauh. Ini didukung oleh berbagai mesin analitik, termasuk Amazon Redshift, Amazon EMR, Amazon Athena,, mesin pihak ketiga seperti Apache Spark AWS Glue, dan banyak lagi.

Federasi katalog menggunakan AWS Glue Data Catalog untuk berkomunikasi dengan sistem katalog jarak jauh untuk menemukan tabel dan Lake Formation untuk mengotorisasi akses ke data tabel di Amazon S3. Saat Anda menanyakan tabel federasi, Katalog Data menemukan informasi tabel terbaru di katalog jarak jauh pada waktu kueri, mendapatkan lokasi Amazon S3 tabel, skema saat ini, dan informasi partisi. Mesin analitik Anda (Amazon Athena, Amazon Redshift, Amazon EMR) kemudian menggunakan informasi ini untuk mengakses file data Iceberg langsung dari Amazon S3. Lake Formation mengelola akses ke tabel dengan menjual kredenal cakupan ke data tabel yang disimpan di Amazon S3, memungkinkan engine menerapkan izin berbutir halus ke tabel federasi.

## Fitur Federasi Katalog
<a name="catalog-federation-features"></a>

**Diatur menggunakan Lake Formation**  
Katalog Gunung Es Federasi di Katalog Data adalah sumber daya terdaftar Lake Formation, memungkinkan Anda memberikan izin baris, kolom, tingkat sel berbutir halus ke tabel Gunung Es di katalog Gunung Es federasi menggunakan hibah Lake Formation. Katalog Iceberg Federasi dan objek terkait dapat dibagikan dengan aman di seluruh akun. AWS Katalog Federated Iceberg juga bekerja dengan kontrol akses berbasis Lake Formation Tag yang memungkinkan Anda untuk menskalakan tata kelola menggunakan tag.

**Konfigurasi jaringan**  
Federasi katalog mendukung koneksi langsung ke sumber katalog jarak jauh menggunakan konektivitas HTTPS standar. Ini juga mendukung konektivitas melalui Amazon VPC ketika Anda ingin mempertahankan isolasi jaringan dan konektivitas menggunakan dukungan proxy ketika Anda menginginkan komunikasi yang aman melalui firewall organisasi.

**Topics**
+ [Fitur Federasi Katalog](#catalog-federation-features)
+ [Katalog Federasi ke Gunung Snowflake Es](catalog-federation-snowflake.md)
+ [Federasi ke Databricks Unity Catalog](catalog-federation-databricks.md)

# Katalog Federasi ke Gunung Snowflake Es
<a name="catalog-federation-snowflake"></a>

AWS Glue Data Catalog federasi untuk Snowflake menggunakan OAuth2 kredensi dari kepala layanan. Snowflake Anda dapat menggunakan federasi ini untuk terhubung ke Snowflake Horizon dan Snowflake Polaris katalog. Mekanisme otentikasi ini memungkinkan Katalog Data untuk mengakses metadata berbagai objek (seperti katalog, database, dan tabel) dalam katalog Anda, berdasarkan hak istimewa yang terkait dengan prinsipal layanan. Untuk memastikan akses ke objek yang tepat, penting untuk memberikan prinsip layanan Snowflake dengan izin yang diperlukan untuk membaca metadata objek ini.

## Prasyarat
<a name="catalog-federation-snowflake-prerequisites"></a>

Sebelum Anda membuat katalog federasi di Katalog Data yang diatur oleh Lake Formation, pastikan Anda memiliki izin berikut:

Prinsipal IAM Anda (pengguna atau peran) harus memiliki izin berikut:
+ **Izin Lake Formation** —`lakeformation:RegisterResource`, `lakeformation:DescribeResource`
+ **AWS Glue izin** —`glue:CreateConnection`,,`glue:CreateCatalog`, `glue:GetConnection` `glue:PassConnection`
+ **Izin Secrets Manager** —`secretsmanager:CreateSecret`, `secretsmanager:GetSecretValue`
+ **Izin IAM** —`iam:CreateRole`,, `iam:AttachRolePolicy` `iam:PassRole`

Anda harus menjadi administrator danau data Lake Formation atau memiliki `CREATE_CATALOG` izin pada Katalog Data

## Buat Katalog Federasi
<a name="catalog-federation-snowflake-create"></a>

### Menggunakan Konsol
<a name="catalog-federation-snowflake-console"></a>

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

1. Pilih AWS wilayah yang disukai di bagian halaman kanan atas.

1. Di panel navigasi kiri, pilih Katalog.

1. Pilih **Create Catalog** untuk membuka **Create Catalog Workflow**.

1. Di **Pilih langkah sumber data**, pilih Snowflake dari opsi yang tersedia.

1. Pada langkah **Atur detail katalog**, Anda memberikan tiga informasi - detail katalog, detail koneksi, dan detail pendaftaran.

1. Dalam wadah **detail katalog**, berikan nama unik ke katalog AWS Glue federasi Anda dan masukkan nama Snowflake katalog yang ada.

1. Dalam kontainer **detail koneksi**, Anda dapat memilih dari koneksi yang ada yang dapat Anda akses atau menyediakan konfigurasi untuk membuat konektor baru.

1. Konfigurasi koneksi baru meliputi:
   + Nama Koneksi — Nama unik dari objek AWS Glue koneksi.
   + URL Instance — URL endpoint dari Snowflake akun Anda yang ada.
   + Otentikasi — Tentukan konfigurasi otentikasi yang AWS Glue digunakan untuk terhubung ke server katalog jarak jauh. AWS Glue mendukung keduanya OAuth2 dan otentikasi Kustom.
   + URL Token — Tentukan URL penyedia identitas katalog jarak jauh.
   + OAuth2 ID Klien - Tentukan ID Klien dari OAuth2 kredensi yang terkait dengan katalog jarak jauh Anda.
   + Rahasia — Simpan dan gunakan rahasia OAuth2 klien menggunakan AWS Secrets Manager atau masukkan nilai rahasia di kotak teks. Saat Anda memasukkan rahasia secara manual di konsol, AWS Glue buat rahasia atas nama Anda.
   + Cakupan URL Token — Tentukan OAuth ruang lingkup untuk otentikasi.
   + Filter Casing Katalog - Pilih apakah akan membawa objek huruf kecil atau huruf besar dari katalog jarak jauh Anda ke Katalog Data.

1. Buat peran IAM yang dapat digunakan oleh kepala layanan Lake Formation untuk mengakses rahasia di AWS Glue dan lokasi Amazon AWS Secrets Manager S3 dari tabel Iceberg jarak jauh. Pilih peran IAM di dropdown pendaftaran. Lihat langkah 2 dan 3 di bagian CLI berikut untuk detail kebijakan IAM.

1. Pilih Uji Koneksi untuk menguji apakah properti koneksi dan akses peran IAM dikonfigurasi dengan benar.

1. Pilih **Berikutnya** untuk meninjau pengaturan Anda.

1. Pilih **Buat Katalog** di halaman ulasan.

### Menggunakan CLI
<a name="snowflake-federation-cli"></a>

1. <a name="snowflake-step-1"></a>**Buat AWS Secrets Manager rahasia**

    AWS Glue Konektor mendukung dua jenis otentikasi - **OAuth2**dan **Custom**. Saat menggunakan OAuth2 opsi, gunakan AWS Secrets Manager untuk menyimpan rahasia klien dari kepala Snowflake layanan. Anda nantinya akan menggunakan rahasia ini saat membuat AWS Glue Koneksi. Untuk otentikasi kustom, gunakan AWS Secrets Manager untuk menyimpan dan mengambil token akses.

   Dalam contoh berikut, ganti`your-snowflake-secret`,`client_secret`, `region` dengan informasi Anda sendiri.

   ```
   aws secretsmanager create-secret \
   --name your-snowflake-secret \
   --description "Snowflake secret" \
   --secret-string '{
   "USER_MANAGED_CLIENT_APPLICATION_CLIENT_SECRET": "client_secret"
   }' \
   --region region
   ```
**catatan**  
`USER_MANAGED_CLIENT_APPLICATION_CLIENT_SECRET`adalah kata kunci yang dicadangkan yang AWS Glue digunakan untuk merujuk ke nilai rahasia klien dalam rahasia. Gunakan kata kunci yang sama saat Anda membuat rahasia di konsol Lake Formation juga.

1. <a name="snowflake-step-2"></a>**Buat peran IAM yang memberikan akses objek AWS Glue koneksi ke rahasia yang dibuat pada langkah sebelumnya**

   Objek AWS Glue koneksi memerlukan akses ke AWS Secrets Manager rahasia saat Anda gunakan AWS Secrets Manager untuk menyimpan, mengambil, dan menyegarkan token OAuth rahasia Anda. Objek AWS Glue koneksi juga memerlukan akses untuk membuat, mendeskripsikan, dan menggunakan antarmuka jaringan Amazon VPC saat Anda menggunakan titik akhir VPC Amazon untuk membatasi konektivitas ke akun Anda. Snowflake

   Buat kebijakan IAM dan lampirkan ke peran IAM. Tambahkan prinsip AWS Glue layanan ke kebijakan kepercayaan.

   Dalam contoh berikut, ganti`your-secrets-manager-ARN`,`your-vpc-id`, dan `your-subnet-id1` dengan informasi Anda sendiri.  
**Example Kebijakan IAM**  

   ```
   {
       "Version": "2012-10-17",		 	 	 
       "Statement": [{
               "Effect": "Allow",
               "Action": [
                   "secretsmanager:GetSecretValue",
                   "secretsmanager:DescribeSecret",
                   "secretsmanager:PutSecretValue"
               ],
               "Resource": [
                   "your-secrets-manager-ARN"
               ]
           },
           {
               "Effect": "Allow",
               "Action": [
                   "ec2:CreateNetworkInterface",
                   "ec2:DeleteNetworkInterface",
                   "ec2:DescribeNetworkInterfaces"
               ],
               "Resource": "*",
               "Condition": {
                   "ArnEquals": {
                       "ec2:Vpc": "arn:aws:ec2:region:account-id:vpc/your-vpc-id",
                       "ec2:Subnet": ["arn:aws:ec2:region:account-id:subnet/your-subnet-id1"]
                   }
               }
           }
       ]
   }
   ```  
**Example Kebijakan Kepercayaan**  

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

1. <a name="snowflake-step-3"></a>**Buat kebijakan IAM yang memberikan akses baca Lake Formation ke lokasi Amazon S3 katalog**

   Sebagai pemilik katalog katalog federasi di Katalog Data, Anda menggunakan Lake Formation untuk memberikan akses tabel berbutir kasar, akses berbutir halus - tingkat kolom, tingkat baris, dan tingkat sel - akses, dan akses berbasis tag ke tim data Anda. Lake Formation menggunakan peran IAM yang memberikan akses ke lokasi Amazon S3 yang mendasari tabel Iceberg jarak jauh Anda. Akses ini memungkinkan Lake Formation untuk menjual kredenal akses cakupan ke mesin analitik yang menanyakan tabel jarak jauh.

   Buat kebijakan IAM dan lampirkan ke peran IAM. Tambahkan kepala layanan Lake Formation ke kebijakan kepercayaan peran.

   Dalam contoh berikut, ganti `amzn-s3-demo-bucketN` dan `your-kms-key` dengan informasi Anda sendiri.  
**Example Kebijakan IAM**  

   ```
   {
       "Version": "2012-10-17",		 	 	 
       "Statement": [{
               "Effect": "Allow",
               "Action": [
                   "s3:GetObject"
               ],
               "Resource": [
                   "arn:aws:s3:::amzn-s3-demo-bucket1/*",
                   "arn:aws:s3:::amzn-s3-demo-bucket2/*"
               ]
           },
           {
               "Effect": "Allow",
               "Action": [
                   "s3:ListBucket"
               ],
               "Resource": [
                   "arn:aws:s3:::amzn-s3-demo-bucket1",
                   "arn:aws:s3:::amzn-s3-demo-bucket2"
               ]
           },
           {
               "Effect": "Allow",
               "Action": [
                   "kms:Decrypt",
                   "kms:Encrypt"
               ],
               "Resource": [
                   "your-kms-key"
               ]
           }
       ]
   }
   ```  
**Example Kebijakan Kepercayaan**  

   ```
   {
       "Version": "2012-10-17",		 	 	 
       "Statement": [{
           "Sid": "",
           "Effect": "Allow",
           "Principal": {
               "Service": "lakeformation.amazonaws.com"
           },
           "Action": "sts:AssumeRole"
       }]
   }
   ```
**catatan**  
Saat Anda menggunakan konsol Lake Formation untuk membuat katalog federasi, konsol menggunakan peran IAM tunggal dengan kedua kebijakan yang dilampirkan untuk menyelesaikan penyiapan.

1. <a name="snowflake-step-4"></a>**Buat objek AWS Glue koneksi**

   AWS Glue konektor mendukung OAuth2 dan metode otentikasi kustom. Objek koneksi Katalog Data mendukung `CATALOG_CASING_FILTER` konfigurasi yang memungkinkan Anda membawa objek huruf kecil atau huruf besar dalam katalog jarak jauh Anda ke Katalog Data.

   Contoh berikut menggunakan konfigurasi OAuth2 otentikasi untuk membuat AWS Glue koneksi. Ganti `highlighted sections` dengan informasi Anda.

   ```
   aws glue create-connection \
       --connection-input '{
   "Name": "your-glue-connection-to-snowflake-account",
   "ConnectionType": "SNOWFLAKEICEBERGRESTCATALOG",
   "ConnectionProperties": {
       "INSTANCE_URL": "your-snowflake-account-URL",
       "ROLE_ARN": "your-IAM-role-for-secrets-and-VPC-access",
       "CATALOG_CASING_FILTER": "LOWERCASE_ONLY"
   },
   "AuthenticationConfiguration": {
       "AuthenticationType": "OAUTH2",
       "OAuth2Properties": {
           "OAuth2GrantType": "CLIENT_CREDENTIALS",
           "TokenUrl": "your-internal-or-external-token-server-url",
           "OAuth2ClientApplication": {
               "UserManagedClientApplicationClientId": "our-client-id"
           },
           "TokenUrlParametersMap": {
               "scope": "all-apis"
           }
       },
       "SecretArn": "arn:aws:secretsmanager:your-aws-region:your-aws-account-id:secret:snowflake-secret"
   }
   }'
   ```

1. <a name="snowflake-step-5"></a>**Daftarkan AWS Glue koneksi sebagai sumber daya Lake Formation**

   Menggunakan objek AWS Glue koneksi (dibuat di Langkah 4) dan peran IAM (dibuat pada Langkah 3), Anda sekarang dapat mendaftarkan objek AWS Glue koneksi sebagai sumber daya yang dikelola Lake Formation.

   Ganti `your-glue-connector-arn` dan `your-IAM-role-ARN-having-LF-access` dengan informasi Anda.

   ```
   aws lakeformation register-resource \
       --resource-arn your-glue-connector-arn \
       --role-arn your-IAM-role-ARN-having-LF-access \
       --with-federation \
       --with-privileged-access
   ```

1. <a name="snowflake-step-6"></a>**Buat katalog federasi di Katalog Data**

   Setelah membuat objek AWS Glue koneksi dan mendaftarkannya dengan Lake Formation, Anda dapat membuat katalog federasi di Katalog Data:

   Berikan katalog federasi nama unik di`your-federated-catalog-name`, referensi katalog Snowflake di at`catalog-name-in-Snowflake`, dan masukkan nama koneksi yang dibuat sebelumnya di`your-glue-connection-name`.

   ```
   aws glue create-catalog \
       --name your-federated-catalog-name \
       --catalog-input '{
       "FederatedCatalog": {
           "Identifier": catalog-name-in-Snowflake",
           "ConnectionName": your-glue-connection-name"
       },
       "CreateTableDefaultPermissions": [],
       "CreateDatabaseDefaultPermissions": []
   }'
   ```

## Pertimbangan saat berintegrasi dengan Snowflake
<a name="snowflake-considerations"></a>
+ Saat Anda menghapus sumber daya (seperti database dan tabel)Snowflake, Lake Formation tidak secara otomatis mencabut izin yang diberikan pada sumber daya federasi tersebut. Untuk menghapus izin akses, Anda harus secara eksplisit mencabut izin yang sebelumnya diberikan pada sumber daya federasi menggunakan Lake Formation.
+ Saat Anda memasang katalog jarak jauh dengan `CATALOG_CASING_FILTER='UPPERCASE_ONLY'` konfigurasi, database dan tabel dengan pengidentifikasi huruf besar digabungkan tetapi objek dengan pengidentifikasi huruf kecil tidak.
+ Anda dapat menggunakan kembali AWS Glue koneksi yang sama untuk membuat beberapa katalog federasi. Menghapus katalog tidak akan menghapus koneksi terkait. Untuk menghapus koneksi, gunakan `aws glue delete-connection` perintah AWS CLI dan pastikan semua katalog terkait dihapus terlebih dahulu.
+ Ruang nama bersarang dalam Polaris katalog tidak didukung. Artinya, federasi katalog dapat mengakses Iceberg tabel jarak jauh yang mengikuti `catalog.database.table` notasi 3 bagian.

# Federasi ke Databricks Unity Catalog
<a name="catalog-federation-databricks"></a>

AWS Glue Data Catalog federasi untuk Databricks menggunakan OAuth2 kredensi dari kepala layanan. Databricks Mekanisme otentikasi ini memungkinkan AWS Glue Data Catalog untuk mengakses metadata berbagai objek (seperti katalog, database, dan tabel) diDatabricks Unity Catalog, berdasarkan hak istimewa yang terkait dengan prinsip layanan. Untuk memastikan akses ke objek yang tepat, penting untuk memberikan prinsipal layanan dengan izin yang diperlukan Databricks untuk membaca metadata objek ini.

Selanjutnya, federasi katalog memungkinkan penemuan dan kueri Iceberg tabel di Katalog Unity Databricks Anda. Untuk membaca tabel delta, pastikan Iceberg metadata tersedia untuk tabel ini menggunakan. Uniform Ikuti Databricks tutorial dan dokumentasi untuk membuat prinsip layanan dan hak istimewa terkait di ruang Databricks kerja Anda.

## Prasyarat
<a name="catalog-federation-databricks-prerequisites"></a>

Sebelum Anda membuat katalog federasi di Katalog Data yang diatur oleh Lake Formation, pastikan Anda memiliki izin berikut:

Prinsipal IAM Anda (pengguna atau peran) harus memiliki izin berikut:
+ **Izin Lake Formation** —`lakeformation:RegisterResource`, `lakeformation:DescribeResource`
+ **AWS Glue izin** —`glue:CreateConnection`,,`glue:CreateCatalog`, `glue:GetConnection` `glue:PassConnection`
+ **Izin Secrets Manager** —`secretsmanager:CreateSecret`, `secretsmanager:GetSecretValue`
+ **Izin IAM** —`iam:CreateRole`,, `iam:AttachRolePolicy` `iam:PassRole`

Anda harus menjadi administrator danau data Lake Formation atau memiliki `CREATE_CATALOG` izin pada Katalog Data

## Buat Katalog Federasi
<a name="catalog-federation-databricks-create"></a>

### Menggunakan Konsol
<a name="catalog-federation-databricks-console"></a>

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

1. Pilih AWS wilayah yang disukai di bagian halaman kanan atas.

1. Di panel navigasi kiri, pilih Katalog.

1. Pilih **Create Catalog** untuk membuka **Create Catalog Workflow**.

1. Di **Pilih langkah sumber data**, pilih Databricks dari opsi yang tersedia.

1. Pada langkah **Atur detail katalog**, Anda memberikan tiga informasi - detail katalog, detail koneksi, dan detail pendaftaran.

1. Dalam wadah **detail katalog**, berikan nama unik ke katalog AWS Glue federasi Anda dan masukkan nama Databricks katalog yang ada.

1. Dalam kontainer **detail koneksi**, Anda dapat memilih dari koneksi yang ada yang dapat Anda akses atau menyediakan konfigurasi untuk membuat konektor baru.

1. Konfigurasi koneksi baru meliputi:
   + Nama Koneksi — Nama unik dari objek AWS Glue koneksi.
   + URL Workspace — URL endpoint dari ruang kerja Anda yang adaDatabricks.
   + Otentikasi — Tentukan konfigurasi otentikasi yang AWS Glue digunakan untuk terhubung ke server katalog jarak jauh. AWS Glue mendukung keduanya OAuth2 dan otentikasi Kustom.
   + URL Token — Tentukan URL penyedia identitas katalog jarak jauh.
   + OAuth2 ID Klien — Tentukan ID Klien dari OAuth2 kredensi yang terkait dengan katalog jarak jauh Anda.
   + Rahasia — Simpan dan gunakan rahasia OAuth2 klien menggunakan AWS Secrets Manager atau masukkan nilai rahasia di kotak teks. Saat Anda memasukkan rahasia secara manual di konsol, AWS Glue buat rahasia atas nama Anda.
   + Cakupan URL Token — Tentukan OAuth ruang lingkup untuk otentikasi.

1. Buat peran IAM yang dapat digunakan oleh kepala layanan Lake Formation untuk mengakses rahasia di AWS Glue dan lokasi Amazon S3 dari tabel jarak jauh masing-masing. Iceberg Pilih peran IAM di dropdown pendaftaran. Lihat langkah 2 dan 3 di bagian CLI berikut untuk detail kebijakan IAM.

1. Pilih Uji Koneksi untuk menguji apakah properti koneksi dan akses peran IAM dikonfigurasi dengan benar. Fungsionalitas koneksi uji tidak tersedia saat menghubungkan Databricks menggunakan Amazon VPC.

1. Pilih **Berikutnya** untuk meninjau pengaturan Anda.

1. Pilih **Buat Katalog** di halaman ulasan.

### Menggunakan CLI
<a name="catalog-federation-databricks-cli"></a>

1. <a name="databricks-step-1"></a>**Buat AWS Secrets Manager rahasia**

    AWS Glue Konektor mendukung dua jenis otentikasi - **OAuth2**dan **Custom**. Saat menggunakan OAuth2 opsi, gunakan AWS Secrets Manager untuk menyimpan rahasia klien dari kepala Databricks layanan. Anda nantinya akan menggunakan rahasia ini saat membuat AWS Glue Koneksi. Untuk otentikasi kustom, gunakan AWS Secrets Manager untuk menyimpan dan mengambil token akses.

   Dalam contoh berikut, ganti`<databricks-secret>`,`<client_secret>`, `<region>` dengan informasi Anda sendiri.

   ```
   aws secretsmanager create-secret \
   --name <databricks-secret> \
   --description "Databricks secret" \
   --secret-string '{
   "USER_MANAGED_CLIENT_APPLICATION_CLIENT_SECRET": "<client_secret>"
   }' \
   --region <region>
   ```
**catatan**  
`USER_MANAGED_CLIENT_APPLICATION_CLIENT_SECRET`adalah kata kunci yang dicadangkan yang AWS Glue digunakan untuk merujuk ke nilai rahasia klien dalam rahasia. Gunakan kata kunci yang sama saat Anda membuat rahasia di konsol Lake Formation juga. 

1. <a name="databricks-step-2"></a>**Buat peran IAM yang memberikan akses objek AWS Glue koneksi ke rahasia yang dibuat pada langkah sebelumnya**

   Objek AWS Glue koneksi memerlukan akses ke AWS Secrets Manager rahasia saat Anda gunakan AWS Secrets Manager untuk menyimpan, mengambil, dan menyegarkan token OAuth rahasia Anda. Objek AWS Glue koneksi juga memerlukan akses untuk membuat, mendeskripsikan, dan menggunakan antarmuka jaringan Amazon VPC saat Anda menggunakan titik akhir VPC Amazon untuk membatasi konektivitas ke ruang kerja Anda. Databricks

   Buat kebijakan IAM dan lampirkan ke peran IAM. Tambahkan prinsip AWS Glue layanan ke kebijakan kepercayaan.

   Dalam contoh berikut, ganti`<your-secrets-manager-ARN>`,`<your-vpc-id>`, dan `<your-subnet-id1>` dengan informasi Anda sendiri.  
**Example Kebijakan IAM**  

   ```
   {
       "Version": "2012-10-17",		 	 	 
       "Statement": [{
               "Effect": "Allow",
               "Action": [
                   "secretsmanager:GetSecretValue",
                   "secretsmanager:DescribeSecret",
                   "secretsmanager:PutSecretValue"
               ],
               "Resource": [
                   "<your-secrets-manager-ARN>"
               ]
           },
           {
               "Effect": "Allow",
               "Action": [
                   "ec2:CreateNetworkInterface",
                   "ec2:DeleteNetworkInterface",
                   "ec2:DescribeNetworkInterfaces"
               ],
               "Resource": "*",
               "Condition": {
                   "ArnEquals": {
                       "ec2:Vpc": "arn:aws:ec2:region:account-id:vpc/<your-vpc-id>",
                       "ec2:Subnet": ["arn:aws:ec2:region:account-id:subnet/<your-subnet-id1>"]
                   }
               }
           }
       ]
   }
   ```  
**Example Kebijakan Kepercayaan**  

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

1. <a name="databricks-step-3"></a>**Buat kebijakan IAM yang memberikan akses baca Lake Formation ke lokasi Amazon S3 katalog**

   Sebagai pemilik katalog katalog federasi di Katalog Data, Anda menggunakan Lake Formation untuk memberikan akses tabel berbutir kasar, akses berbutir halus - tingkat kolom, tingkat baris, dan tingkat sel - akses, dan akses berbasis tag ke tim data Anda. Lake Formation menggunakan peran IAM yang memberikan akses ke lokasi Amazon S3 yang mendasari tabel Iceberg jarak jauh Anda. Akses ini memungkinkan Lake Formation untuk menjual kredenal akses cakupan ke mesin analitik yang menanyakan tabel jarak jauh.

   Buat kebijakan IAM dan lampirkan ke peran IAM. Tambahkan kepala layanan Lake Formation ke kebijakan kepercayaan peran IAM.

   Dalam contoh berikut, ganti `<your-s3-bucket-N>` dan `<your-kms-key>` dengan informasi Anda sendiri.  
**Example Kebijakan IAM**  

   ```
   {
       "Version": "2012-10-17",		 	 	 
       "Statement": [{
               "Effect": "Allow",
               "Action": [
                   "s3:GetObject"
               ],
               "Resource": [
                   "arn:aws:s3:::<your-s3-bucket-1>/*",
                   "arn:aws:s3:::<your-s3-bucket-2>/*"
               ]
           },
           {
               "Effect": "Allow",
               "Action": [
                   "s3:ListBucket"
               ],
               "Resource": [
                   "arn:aws:s3:::<your-s3-bucket-1>",
                   "arn:aws:s3:::<your-s3-bucket-2>"
               ]
           },
           {
               "Effect": "Allow",
               "Action": [
                   "kms:Decrypt",
                   "kms:Encrypt"
               ],
               "Resource": [
                   "<your-kms-key>"
               ]
           }
       ]
   }
   ```  
**Example Kebijakan Kepercayaan**  

   ```
   {
       "Version": "2012-10-17",		 	 	 
       "Statement": [{
           "Sid": "",
           "Effect": "Allow",
           "Principal": {
               "Service": "lakeformation.amazonaws.com"
           },
           "Action": "sts:AssumeRole"
       }]
   }
   ```
**catatan**  
Saat Anda menggunakan konsol Lake Formation untuk membuat katalog federasi, konsol menggunakan peran IAM tunggal dengan kedua kebijakan yang dilampirkan untuk menyelesaikan penyiapan.

1. <a name="databricks-step-4"></a>**Buat objek AWS Glue koneksi**

   Data Catalog mendukung ConnectionType`DATABRICKSICEBERGRESTCATALOG`: untuk menghubungkan Data Catalog ke. Databricks AWS Glue Konektor ini mendukung OAuth2 dan metode otentikasi kustom.

   Contoh berikut menggunakan konfigurasi OAuth2 otentikasi untuk membuat AWS Glue koneksi. Ganti `highlighed sections` dengan informasi Anda.

   ```
   aws glue create-connection \
       --connection-input '{
   "Name": "<your-glue-connection-to-databricks-unity-account>",
   "ConnectionType": "DATABRICKSICEBERGRESTCATALOG",
   "ConnectionProperties": {
       "INSTANCE_URL": "<your-databricks-workspace-catalog-URL>",
       "ROLE_ARN": "<your-IAM-role-for-secrets-and-VPC-access>"
   },
   "AuthenticationConfiguration": {
       "AuthenticationType": "OAUTH2",
       "OAuth2Properties": {
           "OAuth2GrantType": "CLIENT_CREDENTIALS",
           "TokenUrl": "<your-internal-or-external-token-server-url>",
           "OAuth2ClientApplication": {
               "UserManagedClientApplicationClientId": "<your-client-id>"
           },
           "TokenUrlParametersMap": {
               "scope": "all-apis"
           }
       },
       "SecretArn": "arn:aws:secretsmanager:<aws-region>:<your-aws-account-id>:secret:<databricks-secret>"
   }
   }'
   ```

1. <a name="databricks-step-5"></a>**Daftarkan AWS Glue koneksi sebagai sumber daya Lake Formation**

   Menggunakan objek AWS Glue koneksi (dibuat di Langkah 4) dan peran IAM (dibuat pada Langkah 3), Anda sekarang dapat mendaftarkan objek AWS Glue koneksi sebagai sumber daya yang dikelola Lake Formation.

   Ganti `<your-glue-connector-arn>` dan `<your-IAM-role-ARN-having-LF-access>` dengan informasi Anda.

   ```
   aws lakeformation register-resource \
       --resource-arn <your-glue-connector-arn> \
       --role-arn <your-IAM-role-ARN-having-LF-access> \
       --with-federation \
       --with-privileged-access
   ```

1. <a name="databricks-step-6"></a>**Buat katalog federasi di Katalog Data**

   Setelah membuat objek AWS Glue koneksi dan mendaftarkannya dengan Lake Formation, Anda dapat membuat katalog federasi di Katalog Data:

   Berikan katalog federasi nama unik di`<your-federated-catalog-name>`, referensi katalog Databricks di at`"<catalog-name-in-Databricks>`, dan masukkan nama koneksi yang dibuat sebelumnya di`"<your-glue-connection-name>`.

   ```
   aws glue create-catalog \
       --name <your-federated-catalog-name> \
       --catalog-input '{
       "FederatedCatalog": {
           "Identifier": "<catalog-name-in-Databricks>",
           "ConnectionName": "<your-glue-connection-name>"
       },
       "CreateTableDefaultPermissions": [],
       "CreateDatabaseDefaultPermissions": []
   }'
   ```

## Pertimbangan saat berintegrasi dengan Databricks
<a name="databricks-considerations"></a>
+ Saat Anda menghapus sumber daya (seperti database dan tabel) diDatabricks, Lake Formation tidak secara otomatis mencabut izin yang diberikan pada sumber daya federasi tersebut. Untuk menghapus izin akses, Anda harus secara eksplisit mencabut izin yang sebelumnya diberikan pada sumber daya federasi menggunakan Lake Formation.
+ Anda dapat menanyakan tabel Iceberg yang disimpan di Amazon S3 menggunakan integrasi ini. Saat menggunakan format tabel atau penyimpanan objek lainnya, Anda dapat menggabungkan metadata dalam katalog jarak jauh ke AWS Glue dan mencantumkan database dan tabelnya tetapi operasi kueri seperti `SELECT ColumnFoo from TableBar` akan gagal selama kueri dengan kesalahan 'Gagal membaca tabel. Apache Iceberg Lokasi penyimpanan objek tidak didukung. '
+ Anda dapat menggunakan kembali AWS Glue koneksi yang sama untuk membuat beberapa katalog federasi. Menghapus katalog tidak akan menghapus objek koneksi terkait. Untuk menghapus objek koneksi, gunakan `aws glue delete-connection` perintah AWS CLI dan pastikan semua katalog terkait dihapus terlebih dahulu.

# Membawa data Amazon Redshift ke dalam AWS Glue Data Catalog
<a name="managing-namespaces-datacatalog"></a>

Anda dapat mengelola data analitik di gudang data Amazon Redshift di AWS Glue Data Catalog (Katalog Data), dan menyatukan data lake Amazon S3 dan gudang data Amazon Redshift. Amazon Redshift adalah layanan gudang data skala petabyte yang dikelola sepenuhnya di Cloud. AWS *Gudang data Amazon Redshift adalah kumpulan sumber daya komputasi yang disebut *node*, yang diatur ke dalam grup yang disebut cluster.* Setiap klaster menjalankan mesin Amazon Redshift dan berisi satu atau lebih database.

Di Amazon Redshift, Anda dapat membuat klaster yang disediakan Amazon Redshift dan ruang nama tanpa server, dan mendaftarkannya ke Katalog Data. Dengan melakukan ini, Anda dapat menyatukan data di Amazon Redshift managed storage (RMS) dan Amazon S3 bucket, dan mengakses data dari mesin analitik yang kompatibel dengan Apache Iceberg.

Dengan mendaftarkan ruang nama dan cluster, Anda dapat memberikan akses ke data tanpa perlu menyalin atau memindahkannya. Untuk informasi selengkapnya tentang mendaftarkan cluster dan ruang nama di Amazon Redshift, lihat Mendaftarkan klaster dan ruang nama Amazon [Redshift ke](https://docs.aws.amazon.com/redshift/latest/dg/iceberg-integration-register.html). AWS Glue Data Catalog

 Di Amazon Redshift, Anda dapat melakukan berbagi data melalui datashares atau dengan mendaftarkan namespace dan cluster dengan Data Catalog. Dengan datashares, yang beroperasi pada tingkat objek database individual, Anda harus mengaktifkan berbagi untuk setiap tabel atau tampilan. Sebaliknya, penerbitan namespace berfungsi pada tingkat cluster atau namespace. Saat Anda mendaftarkan cluster atau namespace dengan Katalog Data, semua database dan tabel di dalamnya akan dibagikan secara otomatis, tanpa Anda harus mengonfigurasi berbagi untuk objek individual. 

Di Katalog Data, Anda dapat membuat katalog federasi untuk setiap namespace atau cluster. Katalog disebut sebagai *katalog federasi* ketika menunjuk ke entitas di luar Katalog Data. Tabel dan tampilan di namespace Amazon Redshift dicantumkan sebagai tabel individual dalam Katalog Data. Anda dapat berbagi database dan tabel dalam katalog federasi dengan prinsipal IAM dan pengguna SAMB yang dipilih dalam akun yang sama, atau di akun lain dengan Lake Formation. Anda juga dapat menyertakan ekspresi filter baris dan kolom untuk membatasi akses ke data tertentu. Untuk informasi selengkapnya, lihat [Pemfilteran data dan keamanan tingkat sel di Lake Formation](data-filtering.md). 

Katalog Data mendukung hierarki metadata tiga tingkat yang terdiri dari katalog, database, dan tabel (dan tampilan). Saat Anda mendaftarkan namespace dengan Katalog Data, hierarki data Amazon Redshift dipetakan ke hierarki 3 tingkat Katalog Data sebagai berikut:
+ Namespace Amazon Redshift menjadi katalog multi-level di Katalog Data.
+ Basis data Amazon Redshift terkait terdaftar sebagai katalog di Katalog Data.
+ Skema Amazon Redshift menjadi database dalam Katalog Data.
+ Tabel Amazon Redshift menjadi tabel di Katalog Data.

![\[Menampilkan pemetaan tingkat katalog antara namespace Amazon Redshift dan Katalog Data.\]](http://docs.aws.amazon.com/id_id/lake-formation/latest/dg/images/rs-catalog-mapping.png)


Dengan hierarki metadata tiga tingkat ini, Anda dapat mengakses tabel Amazon Redshift menggunakan notasi 3 bagian - “catalog1/catalog2.database.table” di Katalog Data. Selain itu, tim data dapat mempertahankan organisasi yang sama yang digunakan Amazon Redshift untuk mengatur tabel dalam akun Katalog Data. 

Di Lake Formation, Anda dapat mengelola data dengan aman dari Amazon Redshift menggunakan kontrol akses berbutir halus untuk sumber daya Katalog Data. Dengan integrasi ini, Anda dapat mengelola, mengamankan, dan menanyakan data analitik dari satu katalog dengan mekanisme kontrol akses umum.

Untuk batasan, lihat [Keterbatasan untuk membawa data gudang data Amazon Redshift ke dalam AWS Glue Data Catalog](notes-ns-catalog.md).

**Topics**
+ [Manfaat utama](#namespace-publish-benefits)
+ [Peran dan tanggung jawab](#namespace-roles-responsibilities)
+ [Prasyarat untuk mengelola ruang nama Amazon Redshift di AWS Glue Data Catalog](redshift-ns-prereqs.md)
+ [Membuat katalog federasi Amazon Redshift](create-ns-catalog.md)
+ [Melihat objek katalog](view-ns-catalog-resources.md)
+ [Memperbarui katalog federasi](update-fed-catalog-steps.md)
+ [Mengakses katalog federasi bersama](catalog-resource-link.md)
+ [Menghapus katalog federasi](delete-rs-fed-catalog.md)
+ [Menanyakan katalog federasi](query-redshift-fed-catalog.md)
+ [Sumber daya tambahan](additional-resources-byod.md)

## Manfaat utama
<a name="namespace-publish-benefits"></a>

 Mendaftarkan cluster dan ruang nama Amazon Redshift dengan dan menyatukan data di seluruh danau data Amazon S3 AWS Glue Data Catalog dan gudang data Amazon Redshift, menawarkan manfaat berikut: 
+ **Pengalaman kueri seragam** — Kueri data dan data terkelola Amazon Redshift Anda di bucket Amazon S3 menggunakan mesin kueri apa pun yang kompatibel dengan Apache Iceberg, seperti Amazon EMR Tanpa Server dan Amazon Athena tanpa harus memindahkan atau menyalin data. 
+ **Akses data yang konsisten di seluruh layanan** — Anda tidak perlu memperbarui nama database dan tabel di jalur data saat mengakses sumber data gabungan yang sama dari layanan AWS analitik yang berbeda, karena sumber data terdaftar di Katalog Data. 
+ **Kontrol akses berbutir halus** — Anda dapat menerapkan izin Lake Formation untuk mengelola akses ke sumber data federasi menggunakan izin kontrol akses berbutir halus. 

## Peran dan tanggung jawab
<a name="namespace-roles-responsibilities"></a>


|  |  | 
| --- |--- |
| Peran | Tanggung jawab | 
|  Administrator klaster produsen Amazon Redshift  |  Mendaftarkan cluster atau namespace dengan Katalog Data.  | 
| Administrator danau data Lake Formation  |  Menerima undangan cluster atau namespace, membuat katalog federasi, dan memberikan akses pada katalog federasi ke prinsipal lainnya.  | 
| Lake Formation hanya membaca administrator | Menemukan katalog federasi, menanyakan tabel Amazon Redshift di katalog federasi. | 
| Peran transfer data  |  Amazon Redshift mengasumsikan atas nama Anda untuk mentransfer data ke dan dari bucket Amazon S3.  | 

Berikut ini adalah langkah-langkah tingkat tinggi untuk memberi pengguna akses ke namespace Amazon Redshift:

1.  Di Amazon Redshift, administrator klaster produser mendaftarkan klaster atau namespace dengan Katalog Data. 

1. Administrator data lake menerima undangan namespace dari administrator klaster produsen Amazon Redshift, dan membuat katalog federasi di Katalog Data.

   Setelah menyelesaikan langkah ini, Anda dapat mengelola katalog namespace Amazon Redshift dalam Katalog Data. 

1. Berikan izin kepada pengguna di katalog, database, dan tabel. Anda dapat membagikan seluruh katalog namespace atau subset tabel dengan pengguna di akun yang sama atau akun lain. 

# Prasyarat untuk mengelola ruang nama Amazon Redshift di AWS Glue Data Catalog
<a name="redshift-ns-prereqs"></a>

1. Buat administrator data lake - Buat peran IAM yang diizinkan untuk menerima undangan namespace, dan membuat AWS Glue Data Catalog objek (katalog, database, tabel/tampilan), dan berikan izin Lake Formation ke pengguna lain.

   Untuk step-by-step petunjuk tentang cara membuat administrator danau data, lihat[Buat administrator danau data](initial-lf-config.md#create-data-lake-admin). 

1. Perbarui izin administrator danau data.

    Selain izin administrator data lake, administrator data lake memerlukan izin berikut untuk menerima undangan namespace Amazon Redshift di Lake Formation, membuat atau memperbarui sumber daya Katalog Data, dan mengaktifkan akses data lake:

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

****  

   ```
       {
       "Version":"2012-10-17",		 	 	 
       "Id": "glue-enable-datalake-access",
       "Statement": [{
               "Effect": "Allow",
               "Action": [
                   "redshift:AssociateDataShareConsumer",
                   "redshift:DescribeDataSharesForConsumer",
                   "redshift:DescribeDataShares",
                   "redshift-serverless:CreateNamespace",
                   "redshift-serverless:CreateWorkgroup",
                   "redshift-serverless:DeleteNamespace",
                   "redshift-serverless:DeleteWorkgroup",
                   "ec2:DescribeAccountAttributes",
                   "ec2:DescribeSubnets",
                   "ec2:DescribeSecurityGroups",
                   "ec2:DescribeAvailabilityZones",
                   "s3:createBucket",
                   "s3:deleteBucket",
                   "s3:putBucketPolicy",
                   "s3:putEncryptionConfiguration",
                   "s3:putLifecycleConfiguration",
                   "s3:putBucketVersioning",
                   "iam:CreateRole"
               ],
               "Resource": "*"
           },
           {
               "Action": [
                   "iam:PassRole"
               ],
               "Effect": "Allow",
               "Resource": "arn:aws:iam::*:role/data transfer role name",
               "Condition": {
                   "StringLike": {
                       "iam:PassedToService": [
                           "glue.amazonaws.com"
                       ]
                   }
               }
           }
       ]
   }
   ```

------

1. Jika peran IAM yang digunakan untuk membuat katalog federasi bukan administrator data lake, Anda harus memberikan izin kepada peran tersebut. `Create catalog`

**Untuk membuat pembuat katalog**

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

   1. Pilih **peran dan tugas administratif** di bawah **Administrasi**.

   1. Pilih**Izin**.

   1. Pada layar **Hibah izin**, pilih pengguna atau peran IAM.

   1. Pilih **Buat izin katalog**.

   1. Secara opsional, Anda juga dapat memberikan izin **Buat** katalog yang dapat diberikan. Izin yang dapat diberikan memungkinkan pembuat katalog untuk memberikan `Create catalog` izin kepada prinsipal lain.

   1. Pilih**Izin**.

   AWS CLI contoh untuk memberikan izin untuk membuat katalog federasi. 

   ```
   aws lakeformation grant-permissions \
   --cli-input-json \
   '{
       "Principal": {
        "DataLakePrincipalIdentifier":"arn:aws:iam::123456789012:role/Admin"
       },
       "Resource": {
           "Catalog": {
           }
       },
       "Permissions": [
           "CREATE_CATALOG",
           "DESCRIBE"
       ]
   }'
   ```

1. Buat peran administrator hanya baca untuk menemukan katalog federasi Amazon Redshift di Katalog Data dari Amazon Redshift Query Editor v2.

   Untuk menanyakan tabel Amazon Redshift di katalog federasi dari Amazon Redshift Query Editor v2, pastikan bahwa kebijakan peran administrator Baca saja berisi ARN untuk peran terkait layanan Amazon Redshift. `AWSServiceRoleForRedshift` 

   ```
    aws lakeformation put-data-lake-settings 
           --region us-east-1 \
           --data-lake-settings \
    '{
      "DataLakeAdmins": [{"DataLakePrincipalIdentifier":"arn:aws:iam::123456789012:role/Admin"}],
      "ReadOnlyAdmins":[{"DataLakePrincipalIdentifier":"arn:aws:iam::123456789012:role/aws-service-role/redshift.amazonaws.com/AWSServiceRoleForRedshift"}],
      "CreateDatabaseDefaultPermissions":[],
      "CreateTableDefaultPermissions":[],
      "Parameters":{"CROSS_ACCOUNT_VERSION":"4","SET_CONTEXT":"TRUE"}
     }'
   ```

1.  Buat peran transfer data yang dapat diasumsikan Amazon Redshift atas nama Anda untuk mentransfer data ke dan dari bucket Amazon S3. 

   Saat Anda mengaktifkan akses data lake untuk mesin kueri yang kompatibel dengan Apache Iceberg seperti Athena, Amazon EMR di Amazon EC2 untuk mengakses sumber daya Amazon Redshift di Katalog Data, Anda perlu membuat peran IAM dengan izin yang diperlukan untuk melakukan transfer data ke dan dari bucket Amazon S3. 

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Id": "glue-enable-datalake-access",
       "Statement": [{
         "Sid": "DataTransferRolePolicy",
           "Effect": "Allow",
           "Action": [ "glue:GetCatalog",
                       "glue:GetDatabase",
                       "kms:GenerateDataKey",
                       "kms:Decrypt"],
           "Resource": "*"
       }
       ]
   }
   ```

------

1.  Tambahkan kebijakan kepercayaan berikut ke peran transfer data untuk AWS Glue dan layanan Amazon Redshift untuk mengambil peran mentransfer data ke dan dari bucket Amazon S3. 

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

****  

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

------

1.  Tambahkan kebijakan kunci berikut ke kunci jika Anda menggunakan AWS KMS kunci terkelola pelanggan untuk mengenkripsi data di klaster/namespace Amazon Redshift. Ganti nomor akun dengan nomor AWS akun yang valid, dan tentukan nama peran transfer data. Secara default, data di cluster Amazon Redshift dienkripsi menggunakan kunci KMS. Lake Formation menyediakan opsi untuk membuat kunci KMS kustom Anda untuk enkripsi. Jika Anda menggunakan kunci yang dikelola pelanggan, Anda harus menambahkan kebijakan kunci tertentu ke kunci tersebut. 

   Untuk informasi selengkapnya tentang mengelola izin kunci terkelola pelanggan, lihat [Kunci terkelola pelanggan](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk).

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Id": "auto-redshift-3",
       "Statement": [{
               "Sid": "RedshiftAllowAccessPolicy",
               "Effect": "Allow",
               "Principal": {
                   "AWS": "*"
               },
               "Action": [
                   "kms:Encrypt",
                   "kms:Decrypt",
                   "kms:ReEncrypt*",
                   "kms:GenerateDataKey*",
                   "kms:CreateGrant",
                   "kms:DescribeKey"
               ],
               "Resource": "*",
               "Condition": {
                   "StringEquals": {
                       "kms:CallerAccount": "111122223333",
                       "kms:ViaService": "redshift.us-east-1.amazonaws.com"
                   }
               }
           },
           {
               "Sid": "RedshiftServerlessAllowAccessPolicy",
               "Effect": "Allow",
               "Principal": {
                   "AWS": "*"
               },
               "Action": [
                   "kms:Encrypt",
                   "kms:Decrypt",
                   "kms:ReEncrypt*",
                   "kms:GenerateDataKey*",
                   "kms:CreateGrant",
                   "kms:DescribeKey"
               ],
               "Resource": "*",
               "Condition": {
                   "StringEquals": {
                       "kms:CallerAccount": "111122223333",
                       "kms:ViaService": "redshift-serverless.us-east-1.amazonaws.com"
                   }
               }
           },
           {
               "Sid": "DirectMetadataAccess",
               "Effect": "Allow",
               "Principal": {
               "AWS": "arn:aws:iam::111122223333:root"
               },
               "Action": [
                   "kms:Describe*",
                   "kms:Get*",
                   "kms:List*",
                   "kms:RevokeGrant"
               ],
               "Resource": "*"
           },
           {
               "Sid": "GenerateDataKeyDecryptDataTransferRole",
               "Effect": "Allow",
               "Principal": {
               "AWS": "arn:aws:iam::111122223333:role/data-transfer-role-name"
               },
               "Action": [
                   "kms:GenerateDataKey",
                   "kms:Decrypt"
               ],
               "Resource": "*",
               "Condition": {
                   "StringEquals": {
                   "kms:ViaService": "s3.us-east-1.amazonaws.com"
                   }
               }
           }
       ]
   }
   ```

------

# Membuat katalog federasi Amazon Redshift
<a name="create-ns-catalog"></a>

Topik ini menjelaskan langkah-langkah yang perlu Anda ikuti untuk menerima undangan cluster atau namespace, membuat katalog multi-level gabungan, dan memberikan izin kepada prinsipal lainnya. Anda dapat menyelesaikan tugas-tugas ini menggunakan konsol Lake Formation, AWS Command Line Interface (AWS CLI), atau APIs/SDKs. Contoh dalam topik ini menunjukkan cluster produser/namespace, Katalog Data, dan konsumen data di akun yang sama.

Untuk mempelajari lebih lanjut tentang kemampuan lintas akun Lake Formation, lihat[Berbagi data lintas akun di Lake Formation](cross-account-permissions.md).

**Untuk mengelola namespace Amazon Redshift di Katalog Data**

1. Tinjau undangan namespace dan terima.

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

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

   1. Tinjau undangan namespace yang diizinkan untuk diakses. Kolom **Status** menunjukkan status partisipasi Anda saat ini untuk namespace. Status **Tidak diterima** menunjukkan bahwa Anda telah ditambahkan ke namespace, tetapi Anda belum menerimanya atau telah menolak undangan.   
![\[Halaman katalog dengan undangan yang tertunda.\]](http://docs.aws.amazon.com/id_id/lake-formation/latest/dg/images/catalog-details.png)

   1. Untuk menanggapi namespace atau undangan klaster, pilih nama undangan dan pilih **Tinjau** undangan. Dalam **Menerima atau menolak undangan**, tinjau detail undangan. Pilih **Terima** untuk menerima undangan atau **Tolak untuk menolak** undangan. Anda tidak mendapatkan akses ke namespace jika Anda menolak undangan.

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

   Contoh berikut menunjukkan cara melihat, menerima, dan mendaftarkan undangan. Ganti Akun AWS ID dengan ID yang valid Akun AWS . Ganti `data-share-arn` dengan Amazon Resource Name (ARN) aktual yang mereferensikan namespace.

   1. Lihat undangan yang tertunda.

      ```
      aws redshift describe-data-shares \
       --data-share-arn 'arn:aws:redshift:us-east-1:123456789012:datashare:abcd1234-1234-ab12-cd34-1a2b3c4d5e6f/ds_internal_namespace' \
      ```

   1. Terima undangan.

      ```
       aws redshift associate-data-share-consumer \
       --data-share-arn 'arn:aws:redshift:us-east-1:123456789012:datashare:abcd1234-1234-ab12-cd34-1a2b3c4d5e6f/ds_internal_namespace' \
       --consumer-arn 'arn:aws:glue:us-east-1:123456789012:catalog'
      ```

   1. Daftarkan cluster atau namespace di akun Lake Formation. Gunakan operasi [RegisterResource](https://docs.aws.amazon.com/lake-formation/latest/APIReference/API_RegisterResource.html)API untuk mendaftarkan datashare di Lake Formation. `DataShareArn`adalah parameter input untuk`ResourceArn`.
**catatan**  
Ini adalah langkah wajib.

      ```
      aws lakeformation register-resource \
       --resource-arn 'arn:aws:redshift:us-east-1:123456789012:datashare:abcd1234-1234-ab12-cd34-1a2b3c4d5e6f/ds_internal_namespace'
      ```

------

1. Buat katalog federasi.

    Setelah menerima undangan, Anda perlu membuat katalog federasi di Katalog Data yang memetakan objek di namespace Amazon Redshift ke Katalog Data. Anda harus menjadi administrator data lake atau pengguna atau peran yang memerlukan izin untuk membuat katalog. 

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

   1. Setelah menerima **Undangan** namespace, halaman **Setel detail katalog ditampilkan**. 

   1. Pada halaman **Tetapkan detail katalog**, masukkan nama unik untuk katalog. Gunakan huruf kecil untuk nama katalog. Nama katalog harus kurang dari atau sama dengan 255 karakter. Anda menggunakan pengenal ini untuk memetakan namespace secara internal dalam hierarki metadata (Catalogid.dbName.schema.table). 

   1.  Masukkan deskripsi untuk katalog. Deskripsi harus kurang dari atau sama dengan 2048 karakter. 

   1. Selanjutnya, pilih kotak centang **Akses katalog ini dari mesin yang kompatibel dengan Iceberg** untuk memungkinkan mengakses sumber daya Amazon Redshift menggunakan mesin analitik yang kompatibel dengan Apache Iceberg seperti Athena dan Apache Spark di Amazon EMR.

      Anda tidak perlu mengaktifkan akses danau data untuk mengakses katalog gabungan menggunakan Amazon Redshift.  
![\[Halaman buat katalog dengan opsi pemberdayaan akses.\]](http://docs.aws.amazon.com/id_id/lake-formation/latest/dg/images/catalog-access.png)

   1. Untuk mengaktifkan mesin kueri ini membaca dan menulis ke ruang nama Amazon Redshift, AWS Glue buat klaster Amazon Redshift terkelola dengan sumber daya komputasi dan penyimpanan yang diperlukan untuk melakukan operasi baca dan tulis tanpa memengaruhi beban kerja gudang data Amazon Redshift.

      Anda juga perlu memberikan peran IAM dengan izin yang diperlukan untuk mentransfer data ke dan dari bucket Amazon S3. 

   1. Secara default, data di klaster Amazon Redshift dienkripsi menggunakan kunci terkelola. AWS Lake Formation menyediakan opsi untuk membuat kunci KMS kustom Anda untuk enkripsi. Jika Anda menggunakan kunci yang dikelola pelanggan, Anda harus menambahkan kebijakan kunci tertentu ke kunci tersebut. 

       Pilih **pengaturan Sesuaikan enkripsi** jika Anda menggunakan kunci yang dikelola pelanggan untuk mengenkripsi data di klaster/namespace Amazon Redshift. Untuk menggunakan kunci kustom, Anda harus menambahkan kebijakan kunci kustom terkelola tambahan ke kunci KMS Anda. Untuk informasi selengkapnya, lihat [Prasyarat untuk mengelola ruang nama Amazon Redshift di AWS Glue Data Catalog](redshift-ns-prereqs.md).

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

    Gunakan kode contoh berikut untuk membuat katalog dengan data Amazon Redshift yang dipublikasikan ke Katalog Data menggunakan. AWS CLI

   ```
   aws glue create-catalog 
   --cli-input-json \
   '{
       "Name": "nscatalog", 
       "CatalogInput": {
           "Description": "Redshift federated catalog",
           "CreateDatabaseDefaultPermissions" : [],
           "CreateTableDefaultPermissions": [],
           "FederatedCatalog": {
               "Identifier": "arn:aws:redshift:us-east-1:123456789012:datashare:11524d7f-f56d-45fe-83f7-d7bb0a4d6d71/ds_internal_namespace",
               "ConnectionName": "aws:redshift"
           },
           "CatalogProperties": {
             "DataLakeAccessProperties" : {
               "DataLakeAccess" : true,
               "DataTransferRole" : "arn:aws:iam::123456789012:role/DataTransferRole"
            } 
          }
       }
   }'
   ```

------

1. Berikan izin kepada pengguna di akun Anda atau di akun eksternal.

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

   1. Pilih **Berikutnya** untuk memberikan izin kepada pengguna lain di katalog, database, dan tabel bersama. 

   1.  Pada layar **Tambahkan izin**, pilih prinsip dan jenis izin yang akan diberikan.   
![\[Halaman izin katalog dengan tipe utama dan opsi hibah.\]](http://docs.aws.amazon.com/id_id/lake-formation/latest/dg/images/catalog-permissions.png)

      1.  Di bagian **Principal**, pilih jenis principal lalu tentukan principal yang akan diberi izin. 
         + **Peran dan pengguna IAM** – Pilih satu atau beberapa pengguna atau peran dari daftar peran dan pengguna IAM.
         + **Pengguna dan grup SAMB** — Untuk SALL dan Amazon Quick pengguna dan grup, masukkan satu atau beberapa Nama Sumber Daya Amazon (ARNs) untuk pengguna atau grup yang difederasi melalui SAMB, atau untuk pengguna atau grup ARNs Amazon Quick. Tekan **Enter** setelah setiap ARN.

           Untuk informasi tentang cara membuat ARNs, lihat AWS CLI memberikan dan mencabut perintah AWS CLI . 
         + **Akun eksternal** — Untuk AWS, AWS organisasi, atau IAM Principal masukkan satu atau lebih AWS akun IDs, organisasi, unit organisasi IDs IDs, atau ARN yang valid untuk pengguna atau peran IAM. Tekan Enter setelah setiap ID. ID organisasi terdiri dari “o-” diikuti oleh 10-32 huruf kecil atau digit. ID unit organisasi dimulai dengan “ou-” diikuti oleh 4-32 huruf kecil atau digit (ID dari root yang berisi OU). String ini diikuti oleh tanda hubung “-” kedua dan 8 hingga 32 huruf kecil atau digit tambahan. 

      1.  Di bagian **Izin**, pilih izin dan izin yang dapat diberikan.

         Di **Izin katalog**, pilih satu atau beberapa izin untuk diberikan. Di bawah Izin **yang dapat diberikan, pilih izin** yang dapat diberikan oleh penerima hibah kepada prinsipal lain di akun mereka. AWS Opsi ini tidak didukung jika Anda memberikan izin ke principal IAM dari akun eksternal. 

         Pilih **Super user** untuk memberikan pengguna izin tak terbatas ke sumber daya (database, tabel, tampilan) dalam katalog.

   1. Pilih **Tambahkan**.

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

   Gunakan contoh berikut untuk memberikan izin katalog, database, dan tabel menggunakan: AWS CLI
   + Contoh berikut menunjukkan cara memberikan izin pada katalog federasi.

     ```
     aws lakeformation grant-permissions
      --cli-input-cli-json \
        '{
              "Principal": {
                   "DataLakePrincipalIdentifier": "arn:aws:iam::123456789012:role/non-admin"
               },
               "Resource": {
                    "Catalog": {
                          "Id": "123456789012:nscatalog"
                     }
                 },
                 "Permissions": [
                        "DESCRIBE","CREATE_CATALOG"
                  ],
                 "PermissionsWithGrantOption": [
                  ]
         }'
     ```
   + Gunakan contoh berikut untuk memberikan izin pada database.

     ```
     aws lakeformation grant-permissions \
       --cli-input-json \
               '{
                   "Principal": {
                       "DataLakePrincipalIdentifier": "arn:aws:iam::123456789012:role/non-admin"
                   },
                   "Resource": {
                       "Database": {
                           "CatalogId": "123456789012:nscatalog/dev",
                           "Name": "public"
                       }
                   },
                   "Permissions": [
                       "ALL"
                   ]
               }'
     ```
   +  Contoh berikut menunjukkan cara memberikan izin pada tabel di database Amazon Redshift. 

     ```
     aws lakeformation grant-permissions \
       --cli-input-json \
             '{
                 "Principal": {
                     "DataLakePrincipalIdentifier": "arn:aws:iam::123456789012:role/non-admin"
                 },
                 "Resource": {
                     "Table": {
                         "CatalogId": "123456789012:nscatalog2/dev",
                         "DatabaseName": "public",
                         "TableWildcard" : {}
                     }
                 },
                 "Permissions": [
                     "ALL"
                 ]
             }'
     ```

------

1. Pilih **Berikutnya** untuk meninjau detail katalog dan membuat katalog gabungan. Katalog federasi yang baru dibuat dan objek katalog muncul di halaman **Katalog**. 

   Katalog federasi Amazon Redshift direferensikan dengan. `catalogID = 123456789012:Redshift-federated catalog id`

# Melihat objek katalog
<a name="view-ns-catalog-resources"></a>

 Setelah Anda membuat katalog federasi, Anda dapat melihat objek dalam katalog menggunakan konsol Lake Formation atau AWS CLI. 

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

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

1. Pilih **Katalog di bawah Katalog** Data. 

1. Pilih katalog gabungan dari daftar di halaman **Katalog**.

1.  Halaman ringkasan katalog menunjukkan objek katalog (database dan tabel) tempat Anda memiliki izin. Tab **Izin** menunjukkan prinsipal IAM yang telah diberikan izin pada objek ini. 

------
#### [ AWS CLI ]
+  AWS CLI Contoh berikut menunjukkan cara meminta katalog tingkat atas.

  ```
  aws glue get-catalog \
  --catalog-id 123456789012:nscatalog
  ```

  *Respons*

  ```
  {
      "Catalog": {
          "CatalogId": "123456789012:nscatalog",
          "Name": "nscatalog",
          "ResourceArn": "arn:aws:glue:us-east-1:123456789012:catalog/nscatalog",
          "Description": "Redshift published Catalog",
          "CreateTime": "2024-09-05T14:49:16-07:00",
          "FederatedCatalog": {
              "Identifier": "arn:aws:redshift:us-east-1:123456789012:datashare:b1234589-e823-4a14-ad8e-077085540a50/ds_internal_namespace",
              "ConnectionName": "aws:redshift"
          },
          "CatalogProperties": {
              "DataLakeAccessProperties": {
                  "DataLakeAccess": true,
                  "DataTransferRole": "arn:aws:iam::123456789012:role/DataTransferRole",
                  "KmsKey": "AWS_OWNED_KMS_KEY",
                  "ManagedWorkgroupName": "123456789012:nscatalog",
                  "ManagedWorkgroupStatus": "AVAILABLE",
                  "RedshiftDatabaseName": "dev"
              }
          },
          "CatalogIdentifier": "e2309c2c2fb048f1a3069dfdc1c7883e",
          "CreateTableDefaultPermissions": [],
          "CreateDatabaseDefaultPermissions": []
      }
  }
  ```
+ Contoh berikut menunjukkan cara meminta semua katalog di akun.

  ```
  aws glue get-catalogs \
    --recursive
  ```
+ Contoh permintaan berikut menunjukkan cara mendapatkan katalog tingkat database Amazon Redshift.

  ```
  aws glue get-catlog \
   --catalog-id 123456789012:namespace catalog name/redshift database name
  ```
+ Contoh permintaan berikut menunjukkan cara mendapatkan database di katalog tingkat database Amazon Redshift.

  ```
  aws glue get-databases \
  --catalog-id 123456789012:namespace catalog name/redshift database name
  ```
+  Contoh permintaan berikut menunjukkan cara mendapatkan tabel Amazon Redshift di katalog. 

  ```
  aws glue get-table \
    --catalog-id 123456789012:parent catalog name/redshift database \
    --database-name redshift schema name \
    --name table name
  ```
+  Berikut contoh menunjukkan bagaimana untuk mendapatkan semua tabel dari database Amazon Redshift. 

  ```
  aws glue get-tables \
   --catalog-id 123456789012:namespace catalog name/redshift database name \
   --database-name RS schema name
  ```

------

# Memperbarui katalog federasi
<a name="update-fed-catalog-steps"></a>

Anda dapat memperbarui katalog federasi Amazon Redshift di Katalog Data menggunakan konsol Lake Formation, AWS CLI atau operasi API. [UpdateCatalog](https://docs.aws.amazon.com/glue/latest/webapi/API_UpdateCatalog.html)

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

Ikuti langkah-langkah ini untuk memperbarui katalog federasi Anda menggunakan konsol 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 **Katalog di bawah Katalog Data**.**

1. Pada halaman **Katalog, pilih katalog** federasi Amazon Redshift yang ingin Anda perbarui.

1. Di bawah **Tindakan**, pilih **Edit**.

1. Pada layar **Set Catalog details**, di bawah bagian **Access from engine**, pilih **Access this catalog from Iceberg compatible** engine. Memeriksa opsi ini akan memungkinkan akses data lake untuk mesin kueri yang kompatibel dengan Apache Iceberg.

1. Selanjutnya, buat peran IAM baru atau pilih peran IAM yang ada yang memiliki kebijakan yang memberikan izin untuk melakukan transfer data ke dan dari bucket Amazon S3.

   Untuk informasi selengkapnya tentang izin, lihat[Prasyarat untuk mengelola ruang nama Amazon Redshift di AWS Glue Data Catalog](redshift-ns-prereqs.md).

1. Secara default, data Anda di klaster Amazon Redshift dienkripsi menggunakan file. Kunci yang dikelola AWS Jika Anda memilih untuk mengenkripsi data menggunakan kunci yang dikelola pelanggan, buat kunci KMS atau pilih kunci yang ada yang memiliki izin yang ditentukan di bagian tersebut. [Prasyarat untuk mengelola ruang nama Amazon Redshift di AWS Glue Data Catalog](redshift-ns-prereqs.md) 

1. Pilih **Simpan**.

   Setelah berhasil diselesaikan, halaman **detail Katalog** menampilkan nama grup kerja terkelola dengan status sebagai “Sukses”.

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

Berikut ini adalah contoh input `update-catalog` CLI dengan akses danau data dinonaktifkan dengan menetapkan nilai `DataLakeAacess` parameter sebagai. `false` 

```
aws glue update-catalog  --cli-input-json \
'{
    "Name": "nscatalog", 
    "CatalogInput": {
        "Description": "Redshift published catalog",
        "CreateDatabaseDefaultPermissions" : [],
        "CreateTableDefaultPermissions": [],
        "FederatedCatalog": {
            "Identifier": "arn:aws:redshift:us-east-1:123456789012:datashare:11524d7f-f56d-45fe-83f7-d7bb0a4d6d71/ds_internal_namespace",
            "ConnectionName": "aws:redshift"
        },
        "CatalogProperties": {
          "DataLakeAccessProperties" : {
            "DataLakeAccess" : false
        } 
       }
    }
}'
```

------

# Mengakses katalog federasi bersama
<a name="catalog-resource-link"></a>

 AWS Lake Formation Kemampuan lintas akun memungkinkan pengguna untuk berbagi data lake terdistribusi dengan aman di beberapa Akun AWS s, AWS organisasi, atau langsung dengan prinsipal IAM di akun lain yang menyediakan akses halus ke metadata dan data yang mendasarinya. 

Lake Formation menggunakan layanan AWS Resource Access Manager (AWS RAM) untuk memfasilitasi berbagi sumber daya. Saat Anda membagikan sumber daya katalog dengan akun lain, AWS RAM kirimkan undangan ke akun penerima hibah untuk menerima atau menolak hibah sumber daya.

Layanan analitik terintegrasi seperti Amazon Athena dan Redshift Spectrum memerlukan tautan sumber daya untuk dapat menyertakan sumber daya bersama dalam kueri. Prinsipal perlu membuat tautan sumber daya ke sumber daya bersama dari yang lain. AWS Glue Data Catalog Akun AWS Untuk informasi selengkapnya tentang tautan sumber daya, lihat [Cara kerja tautan sumber daya di Lake Formation](https://docs.aws.amazon.com/lake-formation/latest/dg/resource-links-about.html).

*Kontainer tautan Katalog* adalah objek Katalog Data, yang mereferensikan katalog tingkat basis data federasi lokal atau lintas akun dari akun lain. AWS Anda juga dapat membuat tautan database dan tautan tabel dalam wadah tautan katalog. Saat membuat tautan database atau tautan tabel, Anda harus menentukan sumber daya target yang berada di bawah katalog tingkat database Amazon Redshift target yang sama (database Amazon Redshift). 

Untuk membuat wadah tautan katalog, Anda memerlukan Lake Formation `CREATE_CATALOG` atau `glue:CreateCatalog` izin.

 Anda harus memiliki **pengaturan versi Cross account** versi 4 atau lebih tinggi untuk berbagi database atau tabel dalam katalog federasi di seluruh Akun AWS s. 

## Membuat wadah tautan katalog ke katalog federasi lintas akun
<a name="create-resource-link-catalog"></a>

Anda dapat membuat wadah tautan katalog yang mengarah ke katalog federasi tingkat database Redshift di AWS Wilayah mana pun dengan menggunakan AWS Lake Formation konsol, API, AWS Glue `CreateCatalog` atau (). AWS Command Line Interface AWS CLI

**Untuk membuat wadah tautan katalog ke katalog bersama (konsol)**

1. Buka AWS Lake Formation konsol di [https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/). Masuk sebagai kepala sekolah yang memiliki `CREATE_CATALOG` izin Lake Formation. 

1. **Di panel navigasi, pilih **Katalog**, lalu pilih Buat katalog.**

1. Pada halaman **Setel detail katalog**, berikan informasi berikut:  
**Nama**  
Masukkan nama yang mematuhi aturan yang sama dengan nama katalog. Namanya bisa sama dengan katalog bersama target.  
**Tipe**  
Pilih **wadah tautan Katalog** sebagai jenis katalog.  
**Sumber**  
Pilih `Redshift`.  
**Katalog Target Redshift**  
Pilih katalog federasi tingkat database Redshift atau pilih katalog lokal (milik) dari daftar.  
Daftar ini berisi semua katalog yang dibagikan dengan akun Anda. Perhatikan ID akun pemilik katalog terdaftar dengan setiap katalog. Jika Anda tidak melihat katalog yang Anda tahu telah dibagikan dengan akun Anda, periksa hal berikut:  
   + Jika Anda bukan administrator data lake, periksa apakah administrator danau data memberi Anda izin Lake Formation di katalog.
   + Jika Anda adalah administrator data lake, dan akun Anda tidak berada dalam AWS organisasi yang sama dengan akun pemberi, pastikan bahwa Anda telah menerima undangan berbagi sumber daya AWS Resource Access Manager (AWS RAM) untuk katalog. Untuk informasi selengkapnya, lihat [Menerima undangan berbagi sumber daya dari AWS RAM](accepting-ram-invite.md).
Saat membuat wadah tautan katalog melalui konsol, tarik-turun Katalog **Redshift Target mungkin ditampilkan `No matches` saat mencoba memilih katalog** Redshift lintas akun. Terlepas dari tampilan ini, Anda dapat secara manual memasukkan ARN target dari katalog tingkat database federasi Amazon Redshift (database Amazon Redshift) di bidang input, dan formulir akan tetap berfungsi dengan benar. Sebagai contoh: `arn:aws:glue:us-east-1:123456789012:catalog/federated-catalog-redshift/dev`.  
Perilaku ini terjadi karena konsol hanya dapat mencari calon potensial dalam akun yang saat ini masuk. Dropdown dimaksudkan sebagai fitur pelengkapan otomatis, tetapi Anda masih dapat memasukkan secara manual ARNs untuk akses lintas akun.

1. Untuk mengaktifkan mesin kueri Apache Iceberg membaca dan menulis ke ruang nama Amazon Redshift, buat klaster Amazon Redshift AWS Glue terkelola dengan sumber daya komputasi dan penyimpanan yang diperlukan untuk melakukan operasi baca dan tulis tanpa memengaruhi beban kerja gudang data Amazon Redshift. Anda perlu memberikan peran IAM dengan izin yang diperlukan untuk mentransfer data ke dan dari bucket Amazon S3. 

1. Pilih **Berikutnya**.

1. (Opsional) Pilih **Tambahkan izin untuk memberikan izin** kepada prinsipal lain.

   Namun, pemberian izin pada wadah tautan katalog tidak memberikan izin pada katalog target (tertaut). Anda harus memberikan izin pada katalog target secara terpisah agar tautan katalog terlihat di Athena.

1. Selanjutnya, tinjau detail wadah tautan katalog dan pilih **Buat katalog**. 

   Anda kemudian dapat melihat nama penampung tautan di bawah halaman **Katalog**.

   Sekarang, Anda dapat membuat tautan database dan tautan tabel di wadah tautan katalog untuk mengaktifkan akses dari mesin kueri.

**Buat contoh CLI wadah tautan katalog**
+ Dalam contoh berikut, `TargetRedshiftCatalog` objek menentukan arn katalog tingkat database federasi Amazon Redshift (database Amazon Redshift). `DataLakeAccess`Harus diaktifkan saat Anda membuat wadah tautan katalog.

  ```
  aws glue create-catalog \
    --cli-input-json 
      '{
          "Name": "linkcontainer", 
          "CatalogInput": {
              "TargetRedshiftCatalog": {
                 "CatalogArn": "arn:aws:us-east-1:123456789012:catalog/nscatalog/dev"
               },
              "CatalogProperties": {
                "DataLakeAccessProperties" : {
                  "DataLakeAccess" : true,
                  "DataTransferRole" : "arn:aws:iam::111122223333:role/DataTransferRole"
               } 
             }
          }
      }'
  ```

## Membuat tautan sumber daya di bawah wadah tautan katalog
<a name="create-db-table-link"></a>

 Anda dapat membuat tautan sumber daya ke database dan tautan tabel di bawah wadah tautan katalog. Saat membuat tautan sumber daya database atau tautan sumber daya tabel, Anda harus menentukan sumber daya target yang berada di bawah katalog tingkat database Amazon Redshift target yang sama (database Amazon Redshift) yang ditunjuk oleh penampung tautan. 

Anda dapat membuat tautan sumber daya ke database Amazon Redshift bersama atau tabel menggunakan AWS Lake Formation konsol, API, atau AWS Command Line Interface ()AWS CLI.
+ Untuk petunjuk mendetail, lihat [Membuat tautan sumber daya ke database Katalog Data bersama](create-resource-link-database.md).

  Berikut ini adalah AWS CLI contoh untuk membuat link sumber daya database di bawah wadah link katalog.

  ```
  aws glue create-database \
    --cli-input-json \
      '{
          "CatalogId": "111122223333:linkcontainer",
          "DatabaseInput": {
              "Name": "dblink",
               "TargetDatabase": {
                 "CatalogId": "123456789012:nscatalog/dev",
                  "DatabaseName": "schema1"
               }
          }
      }'
  ```
+ Untuk membuat tautan sumber daya tabel di bawah wadah tautan katalog, Anda harus terlebih dahulu membuat AWS Glue database di lokal AWS Glue Data Catalog untuk memuat tautan sumber daya tabel.

  Untuk informasi selengkapnya tentang membuat tautan sumber daya ke tabel bersama, lihat[Membuat tautan sumber daya ke tabel Katalog Data bersama](create-resource-link-table.md).
  +  Buat database untuk memuat contoh tautan sumber daya tabel

    ```
    aws glue create-database \
      --cli-input-json \
          '{
              "CatalogId": "111122223333:linkcontainer",
              "DatabaseInput": {
                  "Name": "db1",
                  "Description": "creating parent database for table link"
              }
          }'
    ```
  +  Buat contoh tautan sumber daya tabel

    ```
    aws glue create-table \
      --cli-input-json \
        '{
            "CatalogId": "111122223333:linkcontainer",
             "DatabaseName": "db1",
            "TableInput": {
                "Name": "tablelink",
                "TargetTable": {
                    "CatalogId": "123456789012:nscatalog/dev",
                   "DatabaseName": "schema1", 
                    "Name": "table1"
                 }
            }
        }'
    ```

# Menghapus katalog federasi
<a name="delete-rs-fed-catalog"></a>

 Anda dapat menghapus katalog federasi yang Anda buat dalam AWS Glue Data Catalog menggunakan `glue:DeleteCatalog` operasi atau konsol. AWS Lake Formation 

**Untuk menghapus katalog federasi (konsol)**

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

1. **Di panel navigasi, pilih **Katalog di bawah Katalog Data**.**

1. Pilih katalog yang ingin Anda hapus dari daftar katalog.

1. Pilih **Hapus** dari **Tindakan**. 

1. Pilih **Jatuhkan** untuk mengonfirmasi dan katalog federasi akan dihapus dari Katalog Data.  
![\[Konfirmasi katalog hapus.\]](http://docs.aws.amazon.com/id_id/lake-formation/latest/dg/images/delete-fed-catalog.png)

**Untuk menghapus katalog federasi (CLI)**
+ 

  ```
  aws glue delete-catalog 
   --catalog-id 123456789012:catalog name
  ```

# Menanyakan katalog federasi
<a name="query-redshift-fed-catalog"></a>

Setelah Anda memberikan izin kepada prinsipal lain, mereka dapat masuk dan mulai menanyakan tabel di katalog federasi dengan masuk ke alat SQL menggunakan Amazon Redshift, Amazon EMR, dan ETL. Amazon Athena AWS Glue 

 Untuk informasi selengkapnya tentang menghubungkan ke titik akhir ekstensi Apache Iceberg Rest atau aplikasi Spark mandiri, lihat [Mengakses](https://docs.aws.amazon.com/glue/latest/dg/access_catalog.html) bagian dalam Panduan Pengembang. AWS Glue Data Catalog AWS Glue Data Catalog AWS Glue 

Anda dapat menggunakan kueri bahasa definisi data (DDL) untuk membuat dan mengelola tabel dalam database menggunakan Apache Spark di Amazon EMR. Untuk membuat dan menghapus tabel di database Amazon Redshift, prinsipal harus memiliki izin Lake Formation`Create table`. `Drop`

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

Untuk informasi selengkapnya tentang menanyakan sumber daya katalog Amazon Athena, lihat [Menanyakan AWS Glue Data Catalog dari Amazon Athena dalam Panduan](https://docs.aws.amazon.com/athena/latest/ug/gdc-register.html) Pengguna Amazon Athena. 

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

Anda dapat menggunakan [Amazon SageMaker Lakehouse](https://docs.aws.amazon.com/sagemaker-unified-studio/latest/userguide/lakehouse.html) untuk mencapai akses terpadu ke data di gudang data dan data lake. Melalui SageMaker Lakehouse, Anda dapat menggunakan analitik pilihan, pembelajaran mesin, dan mesin intelijen bisnis melalui API REST Apache Iceberg yang terbuka untuk membantu memastikan akses yang aman ke data dengan kontrol akses yang konsisten dan halus.
+ [ SageMaker Lokakarya Amazon](https://catalog.us-east-1.prod.workshops.aws/workshops/107188af-3663-4bbf-bb35-93d514d406da/en-US/03lakehouse)
+ [Sederhanakan akses data untuk perusahaan Anda menggunakan Amazon SageMaker Lakehouse](https://aws.amazon.com/blogs/big-data/simplify-data-access-for-your-enterprise-using-amazon-sagemaker-lakehouse/)

# Menggabungkan ke sumber data eksternal di AWS Glue Data Catalog
<a name="federated-catalog-data-connection"></a>

 Anda dapat menghubungkan AWS Glue Data Catalog (Katalog Data) ke gudang data seperti Amazon Redshift, Snowflake, database cloud seperti Amazon RDS, Oracle Amazon DynamoDB, dan layanan streaming seperti Amazon MSK, dan sistem lokal seperti Teradata menggunakan koneksi. AWS Glue Koneksi ini disimpan dalam AWS Glue Data Catalog dan terdaftar dengan AWS Lake Formation, memungkinkan Anda untuk membuat katalog federasi untuk setiap sumber data yang tersedia. 

 *Katalog federasi* adalah wadah tingkat atas yang menunjuk ke database dalam sistem data eksternal. Ini memungkinkan Anda untuk menanyakan data langsung dari sistem data eksternal tanpa proses ekstrak, transformasi, dan beban (ETL). 

Untuk informasi selengkapnya tentang AWS Glue koneksi, lihat [Menyambungkan ke data](https://docs.aws.amazon.com/glue/latest/dg/glue-connections.html) di Panduan AWS Glue Pengembang.

Administrator data lake dapat membuat katalog federasi menggunakan [Amazon SageMaker ](https://docs.aws.amazon.com/sagemaker-unified-studio/latest/userguide/lakehouse.html) Lakehouse atau. [Amazon Athena](https://docs.aws.amazon.com/athena/latest/ug/connect-to-a-data-source.html)

Administrator data lake kemudian dapat memberikan izin halus pada objek dalam katalog menggunakan Lake Formation, mengontrol akses di berbagai tingkatan seperti katalog, database, tabel, kolom, baris, atau sel. Analis data dapat menemukan dan menanyakan sumber data yang dikatalogkan menggunakan Athena, dengan Lake Formation menegakkan kebijakan akses yang ditentukan. Analis dapat menggabungkan data di berbagai sumber dalam satu kueri tanpa perlu terhubung ke setiap sumber secara individual. 

**Topics**
+ [Alur kerja](#connect-data-source-workflow)
+ [Prasyarat untuk menghubungkan Katalog Data ke sumber data eksternal](connect-data-source-prerequisites.md)
+ [Membuat katalog federasi menggunakan koneksi AWS Glue](create-fed-catalog-data-source.md)
+ [Melihat objek katalog](view-fed-glue-connection-catalog.md)
+ [Menghapus katalog federasi](delete-glue-fed-catalog.md)
+ [Menanyakan katalog federasi](query-glue-fed-catalog.md)
+ [Sumber daya tambahan](additional-resources-fed-connection.md)

## Alur kerja
<a name="connect-data-source-workflow"></a>

Administrator data lake atau pengguna dengan izin yang diperlukan menyelesaikan langkah-langkah berikut untuk menghubungkan AWS Glue Data Catalog ke sumber data eksternal.

1.  Membuat AWS Glue koneksi ke sumber data. Saat Anda mendaftarkan koneksi, peran IAM yang digunakan dalam mendaftarkan koneksi harus memiliki akses ke fungsi Lambda dan lokasi bucket tumpahan Amazon S3. 

1.  Mendaftarkan koneksi dengan Lake Formation. 

1.  Membuat katalog federasi dalam Katalog Data menggunakan AWS Glue koneksi untuk terhubung ke sumber data yang tersedia. Database, tabel, dan tampilan secara otomatis dikatalogkan di Katalog Data, dan terdaftar di Lake Formation. 

1.  Memberikan akses ke katalog, database, dan tabel tertentu kepada analis data menggunakan izin Lake Formation. Kebijakan kontrol akses berbutir halus dapat didefinisikan di seluruh danau data, gudang, dan sumber OLTP menggunakan Lake Formation, memungkinkan filter keamanan tingkat baris dan tingkat kolom. 

    Analis data kemudian dapat mengakses semua data melalui Katalog Data menggunakan kueri SQL di Athena, tanpa memerlukan koneksi terpisah atau kredensi sumber data. Analis dapat menjalankan kueri SQL federasi yang memindai data dari berbagai sumber, menggabungkan data di tempat tanpa jalur data yang kompleks. 

# Prasyarat untuk menghubungkan Katalog Data ke sumber data eksternal
<a name="connect-data-source-prerequisites"></a>

Untuk menghubungkan AWS Glue Data Catalog ke sumber data eksternal, mendaftarkan koneksi dengan Lake Formation, dan mengatur katalog federasi, Anda harus melengkapi persyaratan berikut:
**catatan**  
Kami menyarankan agar administrator danau data Lake Formation membuat AWS Glue koneksi untuk terhubung ke sumber data eksternal, dan membuat katalog federasi. 

1. 

**Buat IAM role.**
   +  Buat peran yang memiliki izin yang diperlukan untuk menyebarkan sumber daya (fungsi Lambda, keranjang tumpahan Amazon S3, peran IAM, dan AWS Glue koneksi) yang diperlukan untuk membuat sambungan ke sumber data eksternal. 
   + Buat peran yang memiliki izin minimum yang diperlukan untuk mengakses properti AWS Glue koneksi (fungsi Lambda dan bucket tumpahan Amazon S3). Ini adalah peran yang akan Anda sertakan saat mendaftarkan koneksi dengan Lake Formation.

     Untuk menggunakan Lake Formation untuk mengelola dan mengamankan data di danau data Anda, Anda harus mendaftarkan AWS Glue koneksi dengan Lake Formation. Dengan demikian, Lake Formation dapat menjual kredensil ke Amazon Athena untuk menanyakan sumber data federasi. 

     Peran harus memiliki `Select` atau `Describe` izin pada bucket Amazon S3 dan fungsi Lambda.
     +  s3: ListBucket 
     + s3: GetObject
     +  lambda: InvokeFunction 

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

****  

     ```
     {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
         {
           "Effect": "Allow",
           "Action": [
             "s3:*"
           ],
           "Resource": [
             "arn:aws:s3:::amzn-s3-demo-bucket1/object/*",
             "arn:aws:s3:::amzn-s3-demo-bucket1/object"
           ]
         },
         {
           "Sid": "lambdainvoke",
           "Effect": "Allow",
           "Action": "lambda:InvokeFunction",
           "Resource": "arn:aws:lambda:us-east-1:123456789012:function:example-lambda-function"
         },
         {
           "Sid": "gluepolicy",
           "Effect": "Allow",
           "Action": "glue:*",
           "Resource": "*"
         }
       ]
     }
     ```

------
   + Tambahkan kebijakan kepercayaan berikut ke peran IAM yang digunakan dalam mendaftarkan koneksi:

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

****  

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

------
   + Administrator data lake yang mendaftarkan koneksi 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/example-role-name>"
                 ]
             }
         ]
     }
     ```

------
   +  Untuk membuat katalog federasi di Katalog Data, pastikan peran IAM yang Anda gunakan adalah administrator danau data Lake Formation dengan memeriksa pengaturan data lake (). `aws lakeformation get-data-lake-settings`

      Jika Anda bukan administrator danau data, Anda memerlukan `CREATE_CATALOG` izin Lake Formation untuk membuat katalog. Contoh berikut menunjukkan cara memberikan izin yang diperlukan untuk membuat katalog. 

     ```
     aws lakeformation grant-permissions \
     --cli-input-json \
             '{
                 "Principal": {
                  "DataLakePrincipalIdentifier":"arn:aws:iam::123456789012:role/non-admin"
                 },
                 "Resource": {
                     "Catalog": {
                     }
                 },
                 "Permissions": [
                     "CREATE_CATALOG",
                     "DESCRIBE"
                 ]
             }'
     ```

1. Tambahkan kebijakan kunci berikut ke AWS KMS kunci jika Anda menggunakan kunci yang dikelola pelanggan untuk mengenkripsi data di sumber data. Ganti nomor akun dengan nomor AWS akun yang valid, dan tentukan nama peran. Secara default, data dienkripsi menggunakan kunci KMS. Lake Formation menyediakan opsi untuk membuat kunci KMS kustom Anda untuk enkripsi. Jika Anda menggunakan kunci yang dikelola pelanggan, Anda harus menambahkan kebijakan kunci tertentu ke kunci tersebut. 

   Untuk informasi selengkapnya tentang mengelola izin kunci terkelola pelanggan, lihat Kunci yang [dikelola pelanggan](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk).

------
#### [ 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:123456789012:key/key-1"
           }
       ]
   }
   ```

------

# Membuat katalog federasi menggunakan koneksi AWS Glue
<a name="create-fed-catalog-data-source"></a>

 Untuk menghubungkan AWS Glue Data Catalog ke sumber data eksternal, Anda perlu menggunakan AWS Glue koneksi yang memungkinkan komunikasi dengan sumber data eksternal. Anda dapat membuat AWS Glue koneksi menggunakan AWS Glue konsol, [Buat API koneksi](https://docs.aws.amazon.com/glue/latest/webapi/API_CreateConnection.html), dan konsol Amazon SageMaker Lakehouse. 

Untuk petunjuk langkah demi langkah untuk membuat AWS Glue sambungan, lihat [Menyambungkan ke data](https://docs.aws.amazon.com/glue/latest/dg/glue-connections.html) di Panduan AWS Glue Pengembang atau [Membuat koneksi di Amazon SageMaker Lakehouse](https://docs.aws.amazon.com/sagemaker-unified-studio/latest/userguide/lakehouse-create-connection.html). 

Saat pengguna menjalankan kueri pada tabel federasi, Lake Formation menjual kredensil yang memanggil AWS Lambda fungsi yang ditentukan dalam AWS Glue koneksi untuk mengambil objek metadata dari sumber data. 

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

**Untuk membuat katalog federasi dari sumber data eksternal dan menyiapkan izin (konsol)**

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

1. **Di panel navigasi, pilih **Katalog di bawah Katalog Data**.**

1. Pilih opsi **Buat katalog**. 

1. Pada halaman **Atur detail Katalog**, masukkan informasi berikut:   
![\[Halaman buat katalog dengan opsi.\]](http://docs.aws.amazon.com/id_id/lake-formation/latest/dg/images/create-glue-connection-catalog.png)
   + **Nama — Nama** unik untuk katalog federasi Anda. Nama tidak dapat diubah, dan harus dalam huruf kecil. Nama dapat terdiri dari maksimum 255 karakter. akun. 
   + **Jenis** - Pilih katalog federasi sebagai jenis katalog.
   + **Sumber** — Pilih sumber data dari dropdown. Sumber data yang telah Anda buat koneksinya akan ditampilkan. Untuk informasi selengkapnya tentang membuat AWS Glue sambungan ke sumber data eksternal, lihat [Membuat koneksi untuk konektor](https://docs.aws.amazon.com/glue/latest/dg/creating-connections.html) di Panduan AWS Glue Pengembang atau [Membuat koneksi di Amazon SageMaker Lakehouse](https://docs.aws.amazon.com/sagemaker-unified-studio/latest/userguide/lakehouse-create-connection.html).
   + **Koneksi** — Pilih AWS Glue koneksi yang ada ke sumber data.
   + **Deskripsi** — Masukkan deskripsi untuk katalog yang dibuat dari sumber data.

1. Pilih **peran IAM** untuk Lake Formation untuk berasumsi untuk menjual kredensil untuk mesin kueri untuk mengakses data dari sumber data. Peran ini harus memiliki izin yang diperlukan untuk mengakses AWS Glue koneksi dan memanggil fungsi Lambda untuk mengakses data dari sumber data eksternal.

   Anda juga dapat **membuat peran baru** di konsol IAM.

   Lihat [Prasyarat untuk menghubungkan Katalog Data ke sumber data eksternal](connect-data-source-prerequisites.md) bagian untuk izin yang diperlukan.

1.  Pilih opsi **Aktifkan konektor untuk terhubung ke sumber data** untuk mengaktifkan Athena menjalankan kueri federasi.

   Untuk daftar konektor yang didukung, lihat [Daftarkan koneksi Anda](https://docs.aws.amazon.com/athena/latest/ug/register-connection-as-gdc.html) di Panduan Pengguna Amazon Athena. 

1. **Opsi enkripsi** - Pilih opsi **Sesuaikan pengaturan enkripsi** jika Anda ingin menggunakan kunci khusus untuk mengenkripsi katalog. Untuk menggunakan kunci kustom, Anda harus menambahkan kebijakan kunci kustom terkelola tambahan ke kunci KMS Anda. 

1. Pilih **Berikutnya** untuk memberikan izin kepada prinsipal lain. 

1. Pada halaman **Hibah izin**, pilih **Tambahkan izin**.

1.  Pada layar **Tambahkan izin**, pilih prinsip dan jenis izin yang akan diberikan.   
![\[Halaman izin katalog dengan tipe utama dan opsi hibah.\]](http://docs.aws.amazon.com/id_id/lake-formation/latest/dg/images/catalog-permissions.png)
   +  Di bagian **Principal**, pilih jenis principal lalu tentukan principal yang akan diberi izin. 
     + **Peran dan pengguna IAM** – Pilih satu atau beberapa pengguna atau peran dari daftar peran dan pengguna IAM.
     + **Pengguna dan grup SAMP** — Untuk SAMP dan Amazon Quick pengguna dan grup, masukkan satu atau beberapa Nama Sumber Daya Amazon (ARNs) untuk pengguna atau grup yang digabungkan melalui SAMP, atau untuk pengguna atau grup ARNs Amazon Quick. Tekan **Enter** setelah setiap ARN. 
   +  Di bagian **Izin**, pilih izin dan izin yang dapat diberikan.

     Di **Izin katalog**, pilih satu atau beberapa izin untuk diberikan.

     Pilih **Pengguna super** untuk memberikan izin administratif yang tidak dibatasi pada semua sumber daya di dalam katalog.

      Di bawah Izin **yang dapat diberikan, pilih izin** yang dapat diberikan oleh penerima hibah kepada prinsipal lain di akun mereka. AWS Opsi ini tidak didukung jika Anda memberikan izin ke principal IAM dari akun eksternal. 

1. Pilih **Berikutnya** untuk meninjau informasi dan membuat katalog. Daftar **Katalog menunjukkan katalog** federasi baru.

   Daftar **lokasi Data** menunjukkan koneksi federasi yang baru terdaftar.  
![\[Daftar lokasi data dengan koneksi federasi.\]](http://docs.aws.amazon.com/id_id/lake-formation/latest/dg/images/federated_data_lake_location.png)

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

**Untuk membuat katalog federasi dari sumber data eksternal dan menyiapkan izin**

1.  Contoh berikut menunjukkan cara membuat AWS Glue koneksi. 

   ```
   aws glue create-connection 
     --connection-input \
         '{
            "Name": "DynamoDB connection",
            "ConnectionType": "DYNAMODB",
            "Description": "A connection created for DynamoDB",
            "ConnectionProperties": {},
            "AthenaProperties": "spill_prefix": "your_spill_prefix",
            "lambda_function_arn": "Lambda_function_arn",
            "spill_bucket": "Your_Bucket_name",
            "AuthenticationConfiguration": {}
         }'
   ```

1.  Contoh berikut menunjukkan cara mendaftarkan AWS Glue koneksi dengan Lake Formation. 

   ```
   aws lakeformation register-resource 
     --cli-input-json \
       {"ResourceArn":"arn:aws:glue:us-east-1:123456789012:connection/dynamo","RoleArn":"arn:aws:iam::123456789012:role/AdminTelemetry","WithFederation":true}
   ```

1.  Contoh berikut menunjukkan cara membuat katalog federasi. 

   ```
   aws glue create-catalog 
    --cli-input-json \
         '{
          "Name":"ddbcatalog",
          "CatalogInput":{"CatalogProperties":{"DataLakeAccessProperties":{"DataTransferRole":"arn:aws:iam::123456789012:role/role name"}},
          "CreateDatabaseDefaultPermissions":[],
          "CreateTableDefaultPermissions":[],
          "FederatedCatalog":{"ConnectionName":"dynamo","Identifier":"dynamo"}
            }
          }'
   ```

------

# Melihat objek katalog
<a name="view-fed-glue-connection-catalog"></a>

Untuk setiap sumber data yang tersedia, AWS Glue buat katalog yang sesuai di file AWS Glue Data Catalog. Setelah Anda membuat katalog, Anda dapat melihat database dan tabel di katalog menggunakan konsol Lake Formation atau AWS CLI. Untuk 

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

1. Pilih **Katalog di bawah Katalog** Data. Halaman katalog menunjukkan katalog tempat Anda memiliki izin.  
![\[Lihat katalog.\]](http://docs.aws.amazon.com/id_id/lake-formation/latest/dg/images/view-catalogs.png)

1. Pilih katalog dari daftar untuk melihat database dan tabel yang terdapat dalam katalog. Daftar ini berisi database di akun dan tautan sumber daya Anda, yang merupakan tautan ke database dan tabel bersama di akun eksternal, dan digunakan untuk akses lintas akun ke data di data lake.  
![\[Lihat katalog/database.\]](http://docs.aws.amazon.com/id_id/lake-formation/latest/dg/images/catalog-database-view.png)

1. Pilih opsi **Tabel** di bawah **Lihat** untuk melihat dan mengelola tabel dalam database. 

****AWS CLI contoh untuk melihat katalog dan database****  
Contoh berikut menunjukkan cara melihat katalog menggunakan AWS CLI 

```
aws glue get-catalog \
--catalog-id 123456789012:dynamodbcatalog
```

Contoh berikut menunjukkan cara meminta semua katalog di akun.

```
aws glue get-catalogs \
 --recursive
```

Contoh permintaan berikut menunjukkan bagaimana untuk mendapatkan database dalam katalog.

```
aws glue get-database \
--catalog-id 123456789012:dynamodbcatalog
--database-name database name
```

# Menghapus katalog federasi
<a name="delete-glue-fed-catalog"></a>

 Anda dapat menghapus katalog federasi yang Anda buat dalam AWS Glue Data Catalog menggunakan `glue:DeleteCatalog` operasi atau konsol. AWS Lake Formation 

**Untuk menghapus katalog federasi (konsol)**

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

1. **Di panel navigasi, pilih **Katalog di bawah Katalog Data**.**

1. Pilih katalog yang ingin Anda hapus dari daftar katalog.

1. Pilih **Hapus** dari **Tindakan**. 

1. Pilih **Jatuhkan** untuk mengonfirmasi dan katalog federasi akan dihapus dari Katalog Data.  
![\[Konfirmasi katalog hapus.\]](http://docs.aws.amazon.com/id_id/lake-formation/latest/dg/images/delete-fed-catalog.png)

**Untuk menghapus katalog federasi (CLI)**
+ 

  ```
  aws glue delete-catalog 
    --catalog-id 123456789012:catalog name
  ```

# Menanyakan katalog federasi
<a name="query-glue-fed-catalog"></a>

Setelah Anda memberikan izin kepada prinsipal lain, mereka dapat masuk dan mulai menanyakan tabel di katalog federasi menggunakan Athena.

Untuk membuat dan menghapus tabel di database federasi, kepala sekolah harus memiliki `Drop` izin Lake Formation`Create table`.

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

Untuk informasi selengkapnya tentang menanyakan Katalog Data dari Amazon Athena, lihat [Menanyakan AWS Glue Data Catalog dari Amazon Athena dalam Panduan](https://docs.aws.amazon.com/athena/latest/ug/gdc-register.html) Pengguna Amazon Athena. 

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

 Dalam posting blog ini, kami menunjukkan bagaimana analis data sekarang dapat dengan aman mengakses dan menanyakan data yang disimpan di luar danau data S3, termasuk gudang Amazon DynamoDB dan basis data Amazon Redshift, semuanya melalui satu pengalaman terpadu. Administrator sekarang dapat menerapkan kontrol akses pada berbagai tingkat perincian untuk memastikan data sensitif tetap terlindungi sambil memperluas akses data. Hal ini memungkinkan organisasi untuk mempercepat inisiatif data sambil menjaga keamanan dan kepatuhan, yang mengarah pada pengambilan keputusan yang lebih cepat dan berbasis data. 
+ [Katalog dan atur kueri federasi Amazon Athena dengan Amazon Lakehouse SageMaker ](https://aws.amazon.com/blogs/big-data/catalog-and-govern-amazon-athena-federated-queries-with-amazon-sagemaker-lakehouse/)

# Integrasi Amazon S3 Tabel dengan dan AWS Glue Data Catalog AWS Lake Formation
<a name="create-s3-tables-catalog"></a>

[Tabel Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-tables.html) menyediakan penyimpanan S3 yang secara khusus dioptimalkan untuk beban kerja analitik, meningkatkan kinerja kueri sekaligus mengurangi biaya. Data dalam Tabel S3 disimpan dalam tipe bucket baru: *bucket tabel*, yang menyimpan tabel sebagai subresource. Tabel S3 memiliki dukungan bawaan untuk standar Apache Iceberg, yang memungkinkan Anda untuk dengan mudah menanyakan data tabel di bucket tabel Amazon S3 menggunakan mesin kueri populer seperti Apache Spark.

Anda dapat mengintegrasikan Tabel Amazon S3 dengan AWS Glue Data Catalog menggunakan kontrol akses IAM atau dengan hibah IAM dan Lake Formation:
+ **Kontrol akses IAM**: Menggunakan kebijakan IAM untuk mengontrol akses ke Tabel S3 dan Katalog Data. Dalam pendekatan kontrol akses ini, Anda memerlukan izin IAM pada sumber daya Tabel S3 dan objek Katalog Data untuk mengakses sumber daya.
+ **Kontrol akses Lake Formation**: Menggunakan AWS Lake Formation hibah selain izin AWS Glue IAM untuk mengontrol akses ke Tabel S3 melalui Katalog Data. Dalam mode ini, prinsipal memerlukan izin IAM untuk berinteraksi dengan Katalog Data, dan hibah Lake Formation menentukan sumber daya katalog (database, tabel, kolom, baris) yang dapat diakses prinsipal. Mode ini mendukung kontrol akses berbutir kasar (hibah tingkat database dan tingkat tabel) dan kontrol akses berbutir halus (keamanan tingkat kolom dan tingkat baris). Ketika peran terdaftar dikonfigurasi dan penjual kredensi diaktifkan, izin IAM Tabel S3 tidak diperlukan untuk kepala sekolah, karena Lake Formation menjual kredensil atas nama kepala sekolah menggunakan peran terdaftar. Kontrol akses Lake Formation juga mendukung penjual kredenal untuk mesin analitik pihak ketiga.

Bagian ini memberikan panduan untuk mengonfigurasi integrasi dengan AWS Lake Formation skenario berikut:
+ **Skenario A**: Anda mengintegrasikan Tabel S3 dan Katalog Data menggunakan kontrol akses IAM dan sekarang berencana untuk menggunakannya. AWS Lake Formation Lihat [Mengubah kontrol akses untuk integrasi Tabel S3](manage-s3tables-catalog-integration.md) untuk mempelajari selengkapnya.
+ **Skenario B**: Anda berencana untuk mengintegrasikan Tabel S3 dan Katalog Data menggunakan AWS Lake Formation dan tidak mengintegrasikannya di akun dan Wilayah Anda hari ini. Mulailah dengan [Prasyarat untuk mengintegrasikan katalog tabel Amazon S3 dengan Katalog Data dan Lake Formation](s3tables-catalog-prerequisites.md) bagian dan ikuti[Mengaktifkan integrasi Tabel Amazon S3](enable-s3-tables-catalog-integration.md).
+ **Skenario C**: Anda mengintegrasikan Tabel S3 dan Katalog Data menggunakan AWS Lake Formation dan sekarang berencana untuk menggunakan IAM. Lihat [Mengubah kontrol akses untuk integrasi Tabel S3](manage-s3tables-catalog-integration.md) untuk mempelajari selengkapnya.

Pastikan Anda mengikuti langkah-langkah dalam [Mengintegrasikan Tabel S3 dengan layanan AWS analitik](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-tables-integrating-aws.html) sehingga Anda memiliki izin yang sesuai untuk mengakses dan sumber daya tabel Anda, AWS Glue Data Catalog dan untuk bekerja dengan AWS layanan analitik.

**Topics**
+ [Cara kerja integrasi Katalog Data dan Lake Formation](#w2aac13c27c19)
+ [Prasyarat untuk mengintegrasikan katalog tabel Amazon S3 dengan Katalog Data dan Lake Formation](s3tables-catalog-prerequisites.md)
+ [Mengaktifkan integrasi Tabel Amazon S3](enable-s3-tables-catalog-integration.md)
+ [Membuat database dan tabel di katalog tabel S3](create-databases-tables-s3-catalog.md)
+ [Mendaftarkan keranjang meja Amazon S3 di akun lain AWS](register-cross-account-s3-table-bucket.md)
+ [Memberikan izin](s3-tables-grant-permissions.md)

## Cara kerja integrasi Katalog Data dan Lake Formation
<a name="w2aac13c27c19"></a>

Saat Anda mengintegrasikan katalog tabel S3 dengan Katalog Data dan Lake Formation, AWS Glue layanan akan membuat katalog federasi tunggal yang disebut `s3tablescatalog` dalam Katalog Data default akun Anda khusus untuk Anda. Wilayah AWS Integrasi memetakan semua sumber daya bucket tabel Amazon S3 di akun Anda dan Wilayah AWS di bawah katalog federasi dengan cara berikut:
+ Bucket tabel Amazon S3 menjadi katalog multi-level di Katalog Data.
+ Namespace Amazon S3 terkait terdaftar sebagai database di Katalog Data.
+ Tabel Amazon S3 di keranjang tabel menjadi tabel di Katalog Data.

![\[Pemetaan objek antara Tabel S3 dan. AWS Glue Data Catalog\]](http://docs.aws.amazon.com/id_id/lake-formation/latest/dg/images/S3Tables-glue-catalog.png)


 Setelah terintegrasi dengan Lake Formation, Anda dapat membuat tabel Apache Iceberg di katalog bucket tabel, dan mengaksesnya melalui mesin AWS analitik terintegrasi seperti, Amazon Athena Amazon EMR serta mesin analitik pihak ketiga. 

Saat Anda juga mengaktifkan Lake Formation dengan integrasi, ini memungkinkan kontrol akses berbutir halus. AWS Lake Formation Pendekatan keamanan ini berarti bahwa, selain izin AWS Identity and Access Management (IAM), Anda harus memberikan izin kepada kepala IAM Anda dengan izin Lake Formation di tabel Anda sebelum Anda dapat bekerja dengannya.

Ada dua jenis izin utama di AWS Lake Formation:
+ Izin akses metadata mengontrol kemampuan untuk membuat, membaca, memperbarui, dan menghapus database dan tabel metadata di Katalog Data.
+ Izin akses data yang mendasari mengontrol kemampuan untuk membaca dan menulis data ke lokasi Amazon S3 yang mendasari yang ditunjuk oleh sumber daya Katalog Data.

Lake Formation menggunakan kombinasi model izinnya sendiri dan model izin IAM untuk mengontrol akses ke sumber daya Katalog Data dan data yang mendasarinya:
+ Agar permintaan mengakses sumber daya Katalog Data atau data yang mendasarinya berhasil, permintaan harus lulus pemeriksaan izin oleh IAM dan Lake Formation.
+ Izin IAM mengontrol akses ke Lake Formation dan AWS Glue APIs dan resource, sedangkan izin Lake Formation mengontrol akses ke sumber daya Katalog Data, lokasi Amazon S3, dan data yang mendasarinya.

Izin Lake Formation hanya berlaku di Wilayah di mana mereka diberikan, dan kepala sekolah harus diberi wewenang oleh administrator danau data atau kepala sekolah lain dengan izin yang diperlukan untuk diberikan izin Lake Formation.

# Prasyarat untuk mengintegrasikan katalog tabel Amazon S3 dengan Katalog Data dan Lake Formation
<a name="s3tables-catalog-prerequisites"></a>

Berikut ini adalah prasyarat untuk mengaktifkan integrasi tabel Amazon S3 dengan dan. AWS Glue Data Catalog AWS Lake Formation

1.  Saat Anda mengaktifkan integrasi tabel Amazon S3, Lake Formation secara otomatis mendaftarkan lokasi tabel S3. Untuk mendaftarkan lokasi bucket tabel dengan Lake Formation, Anda memerlukan IAM role/user dengan`lakeformation:RegisterResource`,`lakeformation:RegisterResourceWithPrivilegedAccess`, dan `lakeformation:CreateCatalog` izin. Ketika pengguna non-administrator dengan izin ini mendaftarkan lokasi katalog, Lake Formation secara otomatis memberi mereka izin untuk lokasi tersebut yang memungkinkan kepala pemanggil `DATA_LOCATION_ACCESS` izin untuk melakukan semua operasi Lake Formation yang didukung di lokasi data terdaftar.

1. <a name="step3-permissions"></a> Saat Anda mengaktifkan integrasi tabel S3, Anda harus memilih peran IAM untuk Lake Formation untuk menjual kredensil agar memungkinkan akses data. Buat peran IAM untuk akses data Lake Formation ke bucket tabel S3 Anda. Peran IAM yang digunakan saat mendaftarkan bucket tabel dengan Lake Formation memerlukan izin berikut: 

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "LakeFormationPermissionsForS3ListTableBucket",
               "Effect": "Allow",
               "Action": [
                   "s3tables:ListTableBuckets"
               ],
               "Resource": [
                   "*"
               ]
           },
           {
               "Sid": "LakeFormationDataAccessPermissionsForS3TableBucket",
               "Effect": "Allow",
               "Action": [
                   "s3tables:CreateTableBucket",
                   "s3tables:GetTableBucket",
                   "s3tables:CreateNamespace",
                   "s3tables:GetNamespace",
                   "s3tables:ListNamespaces",
                   "s3tables:DeleteNamespace",
                   "s3tables:DeleteTableBucket",
                   "s3tables:CreateTable",
                   "s3tables:DeleteTable",
                   "s3tables:GetTable",
                   "s3tables:ListTables",
                   "s3tables:RenameTable",
                   "s3tables:UpdateTableMetadataLocation",
                   "s3tables:GetTableMetadataLocation",
                   "s3tables:GetTableData",
                   "s3tables:PutTableData"
               ],
               "Resource": [
                   "arn:aws:s3tables:us-east-1:123456789012:bucket/*"
               ]
           }
       ]
   }
   ```

------

   Untuk informasi selengkapnya, lihat [Persyaratan untuk peran yang digunakan untuk mendaftarkan lokasi](registration-role.md).

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

   ```
   {
     "Effect": "Allow",
     "Principal": {
       "Service": "lakeformation.amazonaws.com"
     },
     "Action": [
       "sts:AssumeRole",
       "sts:SetSourceIdentity",
       "sts:SetContext"  # add action to trust relationship when using IAM Identity center principals with Lake Formation
     ]
   }
   ```

**catatan**  
Proses integrasi layanan AWS analitik telah diperbarui. Jika Anda telah menyiapkan integrasi dengan rilis pratinjau, Anda dapat terus menggunakan integrasi Anda saat ini. Namun, proses integrasi yang diperbarui memberikan peningkatan kinerja. Untuk memperbarui integrasi:  
Pertama, hapus katalog tabel S3 Anda yang ada di Lake Formation. **Untuk menghapus katalog, pilih `s3tablescatalog` katalog dari daftar katalog, dan pilih **Hapus dari Tindakan**.**
Selanjutnya, deregister lokasi data untuk file. `s3tablescatalog`  
Di konsol Lake Formation, di bawah bagian **Administrasi**, pilih **Lokasi Data**.
Pilih lokasi, dan dari menu **Tindakan**, pilih **Hapus**.
Saat diminta konfirmasi, pilih **Hapus**.  
Untuk petunjuk terperinci tentang membatalkan pendaftaran lokasi data, lihat bagian. [Membatalkan pendaftaran lokasi Amazon S3](unregister-location.md)
Kemudian, ikuti langkah-langkah integrasi yang diperbarui di [Mengaktifkan integrasi Tabel Amazon S3](enable-s3-tables-catalog-integration.md) bagian ini.

# Mengaktifkan integrasi Tabel Amazon S3
<a name="enable-s3-tables-catalog-integration"></a>

Anda dapat membuat bucket tabel Amazon S3 menggunakan konsol Amazon S3, dan mengintegrasikannya dengan layanan analitik. AWS Untuk informasi selengkapnya, lihat [Menggunakan Tabel Amazon S3 dengan layanan AWS analitik](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-tables-integrating-aws.html). 

 Di AWS Lake Formation, Anda dapat mengaktifkan integrasi Tabel Amazon S3 dengan AWS Glue Data Catalog dan AWS Lake Formation menggunakan konsol atau penggunaan Lake Formation. AWS CLI

## Untuk mengintegrasikan Tabel Amazon S3 dengan Katalog Data dan Lake Formation (konsol)
<a name="w2aac13c27c23b7b1"></a>

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

1. **Di panel navigasi, pilih **Katalog di bawah Katalog Data**.**

1. Pilih **Aktifkan integrasi Tabel S3** pada halaman **Katalog**.   
![\[Opsi aktifkan integrasi tabel S3 pada halaman katalog.\]](http://docs.aws.amazon.com/id_id/lake-formation/latest/dg/images/enable-s3-table-integration.png)

1.  Pilih peran IAM dengan izin yang diperlukan untuk Lake Formation untuk mengasumsikan untuk menjual kredensil ke mesin kueri analitik. Untuk izin yang diperlukan untuk peran mengakses data, lihat [step3-permissions](s3tables-catalog-prerequisites.md#step3-permissions) di bagian prasyarat.   
![\[Layar integrasi S3 aktifkan dengan peran IAM.\]](http://docs.aws.amazon.com/id_id/lake-formation/latest/dg/images/enable-s3-table-catalog.png)

1.  Pilih **Izinkan mesin eksternal mengakses data di lokasi Amazon S3 dengan opsi akses tabel penuh**. Saat Anda mengaktifkan akses tabel penuh untuk mesin pihak ketiga, Lake Formation mengembalikan kredensil ke mesin pihak ketiga secara langsung tanpa melakukan validasi tag sesi IAM. Ini berarti Anda tidak dapat menerapkan kontrol akses berbutir halus Lake Formation ke tabel yang sedang diakses. 

1. Pilih **Aktifkan**. Katalog baru untuk Tabel S3 ditambahkan ke daftar katalog. Saat Anda mengaktifkan integrasi katalog tabel S3, layanan akan mendaftarkan lokasi data bucket tabel S3 dengan Lake Formation.

1. Pilih katalog untuk melihat objek katalog dan memberikan izin kepada prinsipal lain.   
![\[Katalog Tabel S3\]](http://docs.aws.amazon.com/id_id/lake-formation/latest/dg/images/s3-table-catalog.png)

   Untuk membuat katalog multi-level, lihat bagian [Membuat keranjang tabel di Panduan](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-tables-buckets-create.html) Pengguna Layanan Penyimpanan Sederhana Amazon.

## Untuk mengintegrasikan tabel Amazon S3 dengan Katalog Data dan Lake Formation (CLI)
<a name="w2aac13c27c23b7b3"></a>

Mengikuti bagian prasyarat, buat peran layanan IAM yang memungkinkan Lake Formation mengakses sumber daya tabel Anda.

1. Buat file bernama `Role-Trust-Policy.json` yang berisi kebijakan kepercayaan berikut:

   ```
   {
       "Version": "2012-10-17",		 	 	 
       "Statement": [
         {
           "Sid": "LakeFormationDataAccessPolicy",
           "Effect": "Allow",
           "Principal": {
             "Service": "lakeformation.amazonaws.com"
           },
           "Action": [
               "sts:AssumeRole",
               "sts:SetContext",
               "sts:SetSourceIdentity"
           ],
           "Condition": {
             "StringEquals": {
               "aws:SourceAccount": "111122223333"
             }
           }
         }
       ]
   }
   ```

1. Buat peran layanan IAM dengan menggunakan perintah berikut:

   ```
   aws iam create-role \
     --role-name S3TablesRoleForLakeFormation \
     --assume-role-policy-document file://Role-Trust-Policy.json
   ```

1. Buat file bernama `LF-GluePolicy.json` yang berisi kebijakan berikut:

   ```
   {
       "Version": "2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "LakeFormationPermissionsForS3ListTableBucket",
               "Effect": "Allow",
               "Action": [
                   "s3tables:ListTableBuckets"
               ],
               "Resource": [
                   "*"
               ]
           },
           {
               "Sid": "LakeFormationDataAccessPermissionsForS3TableBucket",
               "Effect": "Allow",
               "Action": [
                   "s3tables:CreateTableBucket",
                   "s3tables:GetTableBucket",
                   "s3tables:CreateNamespace",
                   "s3tables:GetNamespace",
                   "s3tables:ListNamespaces",
                   "s3tables:DeleteNamespace",
                   "s3tables:DeleteTableBucket",
                   "s3tables:CreateTable",
                   "s3tables:DeleteTable",
                   "s3tables:GetTable",
                   "s3tables:ListTables",
                   "s3tables:RenameTable",
                   "s3tables:UpdateTableMetadataLocation",
                   "s3tables:GetTableMetadataLocation",
                   "s3tables:GetTableData",
                   "s3tables:PutTableData"
               ],
               "Resource": [
                   "arn:aws:s3tables:us-east-1:111122223333:bucket/*"
               ]
           }
       ]
   }
   ```

1. Lampirkan kebijakan ke peran dengan menggunakan perintah berikut:

   ```
   aws iam put-role-policy \
     --role-name S3TablesRoleForLakeFormation \
     --policy-name LakeFormationDataAccessPermissionsForS3TableBucket \
     --policy-document file://LF-GluePolicy.json
   ```

1. Buat file bernama `input.json` yang berisi berikut ini:

   ```
   {
       "ResourceArn": "arn:aws:s3tables:us-east-1:111122223333:bucket/*",
       "WithFederation": true,
       "RoleArn": "arn:aws:iam::111122223333:role/S3TablesRoleForLakeFormation"
   }
   ```

1. Daftarkan bucket tabel dengan Lake Formation dengan menggunakan perintah berikut:

   ```
   aws lakeformation register-resource \
     --region us-east-1 \
     --with-privileged-access \
     --cli-input-json file://input.json
   ```

1. Buat file bernama `catalog.json` yang berisi katalog berikut:

   ```
   {
      "Name": "s3tablescatalog",
      "CatalogInput": {
         "FederatedCatalog": {
             "Identifier": "arn:aws:s3tables:us-east-1:111122223333:bucket/*",
             "ConnectionName": "aws:s3tables"
          },
          "CreateDatabaseDefaultPermissions": [],
          "CreateTableDefaultPermissions": [],
          "AllowFullTableExternalDataAccess": "True"
      }
   }
   ```

1. Buat `s3tablescatalog` katalog dengan menggunakan perintah berikut. Membuat katalog ini mengisi dengan objek yang sesuai AWS Glue Data Catalog dengan bucket tabel, ruang nama, dan tabel.

   ```
   aws glue create-catalog \
     --region us-east-1 \
     --cli-input-json file://catalog.json
   ```

1. Verifikasi bahwa `s3tablescatalog` katalog telah ditambahkan AWS Glue dengan menggunakan perintah berikut:

   ```
   aws glue get-catalog --catalog-id s3tablescatalog
   ```

# Membuat database dan tabel di katalog tabel S3
<a name="create-databases-tables-s3-catalog"></a>

 Anda dapat membuat database untuk mengatur tabel Apache Iceberg Anda, dan tabel untuk menentukan skema dan lokasi data Anda dalam katalog tabel S3. 

## Buat database (konsol)
<a name="w2aac13c27c25b5b1"></a>

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

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

1. Pilih **Buat basis data**.

1.  Pada halaman **Buat database**, pilih opsi **Database**, dan masukkan detail berikut: 
   + **Nama** — Nama unik untuk database
   + **Katalog data** - Pilih katalog tabel S3. Database akan berada di katalog ini.
   + **Deskripsi** - (Opsional) Tambahkan deskripsi dan lokasi. 
   + **Kontrol akses IAM untuk tabel baru** — Secara opsional pilih Gunakan hanya kontrol akses IAM untuk tabel baru dalam database ini. Untuk informasi tentang opsi ini, lihat bagian [Mengubah pengaturan default untuk data lake Anda](https://docs.aws.amazon.com/lake-formation/latest/dg/change-settings.html). 
   + Pilih **Buat database**. Anda dapat melihat database yang dibuat di bawah katalog tabel S3.

## Buat database menggunakan AWS CLI
<a name="w2aac13c27c25b5b3"></a>

Perintah CLI berikut menunjukkan cara membuat database di katalog tabel S3.

```
aws glue create-database 
--region us-east-1 \
--catalog-id "123456789012:s3tablescatalog/test" \
--database-input \
 '{ "Name": "testglueclidbcreation" }'
```

## Buat tabel (Konsol Manajemen AWS)
<a name="w2aac13c27c25b5b5"></a>

 Anda dapat membuat tabel metadata Apache Iceberg di katalog tabel S3 menggunakan konsol Lake Formation atau API. AWS Glue `CreateTable` 

1. Buka konsol Lake Formation di [https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/), dan masuk sebagai administrator danau data atau pengguna dengan `CreateTable` izin.

1. Di panel navigasi, pilih **Tabel** di bawah Katalog Data.

1. Pilih Buat tabel.

1. Pada halaman **Buat tabel**, masukkan detail tabel:  
![\[Katalog Tabel S3\]](http://docs.aws.amazon.com/id_id/lake-formation/latest/dg/images/s3-catalog-create-table.png)
   + **Nama** — Masukkan nama unik untuk tabel.
   + **Katalog** — Pilih katalog tabel S3 sebagai katalog.
   + **Database** — Pilih database di bawah katalog tabel S3.
   +  **Deskripsi** — Masukkan deskripsi untuk tabel. 
   + **Skema** - Pilih Tambahkan kolom untuk menambahkan kolom dan tipe data kolom. Anda memiliki opsi untuk membuat tabel kosong dan memperbarui skema nanti. Iceberg memungkinkan Anda untuk mengembangkan skema dan partisi setelah Anda membuat tabel. Anda dapat menggunakan kueri Athena untuk memperbarui skema tabel dan kueri Spark untuk memperbarui partisi. 

1. Pilih **Kirim**.

## Buat tabel (AWS CLI)
<a name="w2aac13c27c25b5b7"></a>

```
aws glue create-table \ 
--database-name "testglueclidbcreation" \ 
--catalog-id "123456789012:s3tablescatalog/test" \ 
--region us-east-1 \ 
--table-input \ 
'{ "Name": "testtablegluecli", "Parameters": { "format": "ICEBERG" }, "StorageDescriptor": { "Columns": [ {"Name": "x", "Type": "int", "Parameters": {"required": "true"}} ] } }'
```

# Mendaftarkan keranjang meja Amazon S3 di akun lain AWS
<a name="register-cross-account-s3-table-bucket"></a>

Anda dapat mendaftarkan bucket tabel Amazon S3 individual (format ARN:`arn:aws:s3tables:us-east-1:account-id:bucket/bucket-name`) dari satu akun dengan AWS Lake Formation di akun lain. Misalnya, Anda dapat mendaftarkan keranjang meja dari akun A di Lake Formation akun B.

## Prasyarat
<a name="w2aac13c27c27b5"></a>

Sebelum memulai registrasi bucket lintas akun:
+ Buat keranjang meja di akun A.
+ Buat peran IAM di akun B dengan izin yang sesuai untuk pendaftaran bucket.

  Untuk informasi selengkapnya tentang izin yang diperlukan untuk mendaftarkan keranjang meja dengan Lake Formation, lihat[Prasyarat untuk mengintegrasikan katalog tabel Amazon S3 dengan Katalog Data dan Lake Formation](s3tables-catalog-prerequisites.md).
+ Daftarkan keranjang tabel di akun tempat Anda akan membuat katalog tabel S3.
+  Untuk akses lintas akun, peran yang ditentukan saat mendaftarkan bucket tabel harus berupa peran dalam akun dengan izin yang sesuai untuk mengakses bucket lintas akun. Peran tersebut membutuhkan tindakan IAM Tabel S3 yang diperlukan untuk mengakses sumber daya bucket.

## Registrasi bucket tabel lintas akun
<a name="w2aac13c27c27b7"></a>

Dalam prosedur berikut, akun A adalah akun pemilik sumber daya, dan akun B adalah tempat keranjang tabel akan didaftarkan untuk mengelola izin akses.

1. Masuk ke akun A. Konsol Manajemen AWS 

   Buka konsol Amazon S3 di. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)

1.  Buat ember meja. Untuk informasi selengkapnya, lihat [Membuat bucket tabel](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-tables-buckets-create.html) di Panduan Pengguna Amazon S3. 

1. Daftarkan ember meja di akun B.

   Gunakan AWS CLI untuk mendaftarkan ember meja dari akun A dengan Lake Formation di akun B.

   ```
   aws lakeformation register-resource \
   --resource-arn 'arn:aws:s3tables:us-east-1:account-A-id:bucket/single-bucket-name' \
   --role-arn arn:aws:iam::account-B-id:role/role-name \
   --region us-east-1
   ```

   Ganti account-A-id, single-bucket-name, account-B-id, dan nama peran dengan nilai spesifik Anda.

1. Selanjutnya, buat katalog untuk bucket tabel di akun B.

   Buat katalog menggunakan AWS CLI.

   ```
   aws glue create-catalog --region us-east-1 \
   --cli-input-json \
   '{
      "Name": "catalog-name",
      "CatalogInput" : {
         "FederatedCatalog": {
            "Identifier": "arn:aws:s3tables:us-east-1:account A:bucket/single-bucket-name",
            "ConnectionName": "aws:s3tables"
         },
         "CreateDatabaseDefaultPermissions": [],
         "CreateTableDefaultPermissions": []      
      }
   }'
   ```

   Ganti katalog-name, account-A-id, dan bucket-name dengan nilai spesifik Anda.

    Contoh CLI berikut menunjukkan cara melihat detail katalog. 

   ```
    aws glue get-catalog \
     --catalog-id account-id:catalog-name \
     --region us-east-1
   ```

1. Selanjutnya, buat database dan tabel di katalog yang baru dibuat di akun B.

   Buat database.

   ```
   aws glue create-database \
     --region us-east-1 \
     --catalog-id "account-B-id:catalog-name" \
     --database-input \
   '{
     "Name": "database-name"
   }'
   ```

   Buat tabel.

   ```
   aws glue create-table \
     --database-name database-name \
     --catalog-id account-B-id:catalog-name\
     --region us-east-1 \
     --table-input \
     '{
           "Name": "table-name",
           "Parameters": {
               "format": "ICEBERG"
           },
           "StorageDescriptor": {
              "Columns": [
           {"Name": "x", "Type": "int", "Parameters": {"required": "true"}}
             ]
           }
   }'
   ```

   Ganti nama-database,, nama-katalog account-B-id, dan nama tabel dengan nilai spesifik Anda.

1. Contoh berikut menunjukkan cara melihat objek dalam katalog.

   Lihat detail basis data.

   ```
   aws glue get-database \
     --name database-name \
     --catalog-id account-B-id:catalog-name \
     --region us-east-1
   ```

   Lihat detail tabel.

   ```
   aws glue get-table \
     --name table-name \
     --database-name database-name \
     --catalog-id account-B-id:catalog-name \
     --region us-east-1
   ```

   Ganti nama-database,, nama-katalog account-B-id, dan nama tabel dengan nilai spesifik Anda.

# Memberikan izin
<a name="s3-tables-grant-permissions"></a>

 Setelah mengintegrasikan tabel S3 AWS Lake Formation, Anda dapat memberikan izin pada katalog tabel S3 dan objek katalog (bucket tabel, database, tabel) ke peran dan pengguna IAM lainnya di akun Anda. Izin Lake Formation memungkinkan Anda menentukan kontrol akses pada tabel, kolom, dan granularitas tingkat baris untuk pengguna mesin analitik terintegrasi seperti Amazon Redshift Spectrum dan Athena. 

 Anda dapat memberikan izin dengan menggunakan metode sumber daya bernama atau metode kontrol akses berbasis tag Lake Formation (LF-TBAC). Sebelum memberikan izin menggunakan LF-tag dan ekspresi LF-tag, Anda harus menentukan mereka dan assing mereka ke objek Katalog Data. 

Untuk informasi selengkapnya, lihat [Mengelola LF-tag untuk kontrol akses metadata](managing-tags.md).

Anda dapat berbagi database dan tabel dengan AWS akun eksternal dengan memberikan izin Lake Formation ke akun eksternal. Pengguna kemudian dapat menjalankan kueri dan pekerjaan yang bergabung dan menanyakan tabel di beberapa akun. Saat Anda membagikan sumber daya katalog dengan akun lain, prinsipal di akun tersebut dapat beroperasi pada sumber daya tersebut seolah-olah sumber daya tersebut berada di Katalog Data mereka. 

Saat Anda berbagi database dan tabel dengan akun eksternal, izin **pengguna Super** tidak tersedia. 

 Untuk petunjuk terperinci tentang pemberian izin, lihat bagian. [Mengelola izin Lake Formation](managing-permissions.md) 

## AWS CLI contoh untuk memberikan izin pada Tabel Amazon S3
<a name="w2aac13c27c29c15"></a>

```
aws lakeformation grant-permissions \
--cli-input-json \
'{
    "Principal": {
        "DataLakePrincipalIdentifier":"arn:aws:iam::111122223333:role/DataAnalystRole"
    },
    "Resource": {
        "Table": {
            "CatalogId":"111122223333:s3tablescatalog/amzn-s3-demo-bucket1",
            "DatabaseName":"S3 table bucket namespace <example_namespace>",
            "Name":"S3 table bucket table name <example_table>"
        }
    },
    "Permissions": [
        "SELECT"
    ]
}'
```

 Berikut ini adalah parameter yang harus disertakan dalam perintah: 
+ DataLakePrincipalIdentifier — Pengguna IAM, peran, atau grup ARN untuk memberikan izin
+ CatalogId — 12 digit ID AWS akun yang memiliki Katalog Data
+ DatabaseName — Nama ruang nama keranjang meja Amazon S3
+ Nama - Nama meja ember Amazon S3
+ Izin — Izin untuk diberikan. Pilihan meliputi: SELECT, INSERT, DELETE, DESCRIPTION, ALTER, DROP, ALLL, dan SUPER

# Mengakses tabel Amazon S3 bersama
<a name="s3-tables-cross-account-sharing"></a>

 Setelah Anda memberikan izin lintas akun pada database atau tabel di katalog tabel S3, untuk mengakses sumber daya, Anda perlu membuat tautan sumber daya ke database dan tabel bersama. 

1.  Di akun tujuan (akun yang menerima sumber daya bersama), buat tautan sumber daya basis data. Untuk petunjuk mendetail, lihat [Membuat tautan sumber daya ke database Katalog Data bersama](create-resource-link-database.md). 

   Contoh CLI untuk membuat tautan sumber daya database

   ```
   aws glue create-database 
   --region us-east-1 
   --catalog-id "111122223333" 
   --database-input \
   '{
     "Name": "s3table_resourcelink",
     "TargetDatabase": {
       "CatalogId": "011426214932:s3tablescatalog/chmni-s3-table-bucket-011426214932",
       "DatabaseName": "s3_table_ns"
     },
     "CreateTableDefaultPermissions": []
   }'
   ```

1.  Berikan izin lintas akun di atas meja. 

   Contoh CLI untuk hibah izin lintas akun

   ```
   aws lakeformation grant-permissions \
   --region us-east-1 \
   --cli-input-json \
   '{
       "Principal": {
           "DataLakePrincipalIdentifier": "arn:aws:iam::111122223333:role/S3TablesTestExecRole"
       },
       "Resource": {
           "Table": {
               "CatalogId": "011426214932:s3tablescatalog/chmni-s3-table-bucket-011426214932",
               "DatabaseName": "s3_table_ns",
               "Name": "test_s3_iceberg_table"
           }
       },
       "Permissions": [
           "ALL"
       ]
   }'
   ```

1.  Berikan `DESCRIBE` izin Formasi Danau pada tautan sumber daya. 

    Contoh CLI untuk memberikan izin deskripsi pada tautan sumber daya. 

   ```
   aws lakeformation grant-permissions \
       --principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:role/S3TablesTestExecRole
       --resource Database='{CatalogId=111122223333;, Name=s3table_resourcelink}' \
       --permissions DESCRIBE
   ```

# Mengubah kontrol akses untuk integrasi Tabel S3
<a name="manage-s3tables-catalog-integration"></a>

Setelah mengintegrasikan Tabel Amazon S3 dengan AWS Glue Data Catalog, Anda dapat mengubah cara akses ke sumber daya katalog dikontrol. Bagian ini cara mengubah kontrol akses tergantung pada model kontrol akses Anda saat ini dan yang diinginkan. Mengaktifkan Lake Formation memungkinkan Anda menggunakan izin berbutir halus seperti keamanan tingkat kolom dan tingkat baris melalui hibah Lake Formation, dan memungkinkan Lake Formation untuk menjual kredensi sementara atas nama kepala sekolah melalui peran terdaftar. Mengubah kontrol akses dari AWS Lake Formation IAM mengembalikan kontrol akses ke kebijakan IAM standar, yang mungkin sesuai jika beban kerja Anda tidak memerlukan akses halus dan Anda lebih memilih untuk mengelola izin sepenuhnya melalui IAM. Kedua jalur migrasi melibatkan memperbarui default Katalog Data, menyesuaikan pendaftaran sumber daya dengan Lake Formation, dan mengoordinasikan hibah izin untuk menghindari gangguan akses selama transisi.

**Topics**
+ [Aktifkan Lake Formation dengan integrasi Tabel S3 dengan Katalog Data](change-access-iam-to-lf.md)
+ [Ubah kontrol akses dari AWS Lake Formation IAM](change-access-lf-to-iam.md)

# Aktifkan Lake Formation dengan integrasi Tabel S3 dengan Katalog Data
<a name="change-access-iam-to-lf"></a>

Bagian ini menjelaskan alur kerja untuk memigrasikan kontrol akses dari hak istimewa IAM ke IAM dengan AWS Lake Formation hibah untuk Tabel Amazon S3 yang terintegrasi dengan. AWS Glue Data Catalog

**penting**  
Mengaktifkan kontrol AWS Lake Formation akses akan mencabut semua akses berbasis IAM yang ada ke sumber daya Tabel S3 Anda. Setelah menyelesaikan Langkah 1, pengguna dan peran yang sebelumnya mengakses data melalui izin IAM akan segera kehilangan akses. Anda harus memberikan izin Lake Formation di Langkah 2 sebelum pengguna dapat melakukan kueri data lagi. Rencanakan migrasi ini selama jendela pemeliharaan dan koordinasikan dengan tim data Anda.

## Prasyarat
<a name="w2aac13c29b7b7"></a>

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

## Menggunakan AWS CLI
<a name="w2aac13c29b7b9"></a>

1. **Langkah 1: Daftarkan bucket dengan Lake Formation menggunakan peran IAM**

   Daftarkan sumber daya Tabel S3 dengan Lake Formation.
**catatan**  
Jika Anda memiliki peran yang ada, pastikan akses hybrid salah.

   ```
   aws lakeformation register-resource \
     --resource-arn "arn:aws:s3tables:us-east-1:AWSAccountID:bucket/*" \
     --role-arn "arn:aws:iam::AWSAccountID:role/service-role/LFAccessRole" \
     --with-federation
   ```

1. **Langkah 2: Perbarui AWS Glue katalog untuk mengaktifkan kontrol akses Lake Formation**

   Perbarui katalog dengan kosong `CreateDatabaseDefaultPermissions` dan `CreateTableDefaultPermissions` (atur ke`[]`) dan atur `OverwriteChildResourcePermissionsWithDefault` ke`Accept`. Ini menghapus akses berbasis IAM dari semua sumber daya anak yang ada dan memungkinkan katalog dan objeknya dikelola menggunakan hibah Lake Formation.

   ```
   aws glue update-catalog \
     --catalog-id "s3tablescatalog" \
     --catalog-input '{
       "FederatedCatalog": {
           "Identifier": "arn:aws:s3tables:us-east-1:AWSAccountID:bucket/*",
           "ConnectionName": "aws:s3tables"
       },
       "CreateDatabaseDefaultPermissions": [],
       "CreateTableDefaultPermissions": [],
       "OverwriteChildResourcePermissionsWithDefault": "Accept",
       "AllowFullTableExternalDataAccess": "True"
     }'
   ```

1. **Langkah 3: Berikan izin Lake Formation ke tim data Anda**

   Berikan izin Lake Formation ke kepala sekolah (peran, pengguna, atau grup) yang memerlukan akses. Misalnya, untuk memberikan akses baca tabel lengkap ke peran:

   ```
   aws lakeformation grant-permissions \
     --principal DataLakePrincipalIdentifier=arn:aws:iam::AWSAccountID:role/DataTeamRole \
     --resource '{
       "Table": {
           "CatalogId": "AWSAccountID",
           "DatabaseName": "s3tablescatalog/table-bucket-name/namespace",
           "TableWildcard": {}
       }
     }' \
     --permissions "SELECT" "DESCRIBE"
   ```

   Ulangi untuk setiap kombinasi prinsip dan sumber daya sesuai kebutuhan.

# Ubah kontrol akses dari AWS Lake Formation IAM
<a name="change-access-lf-to-iam"></a>

Bagian ini menjelaskan alur kerja untuk mengubah kontrol akses dari AWS Lake Formation hibah ke hak istimewa IAM untuk Tabel Amazon S3 yang terintegrasi dengan. AWS Glue Data Catalog

**penting**  
Mengubah kontrol akses dari AWS Lake Formation hibah ke IAM akan mencabut semua akses berbasis Lake Formation yang ada ke sumber daya Tabel S3 Anda. Setelah menyelesaikan Langkah 2, pengguna dan peran yang sebelumnya mengakses data melalui hibah Lake Formation akan segera kehilangan akses. Anda harus memberikan akses IAM pada Langkah 1 sebelum memperbarui katalog. Rencanakan migrasi ini selama jendela pemeliharaan dan koordinasikan dengan tim data Anda.

**penting**  
Kontrol akses berbutir halus, seperti akses tingkat kolom dan filter sel data, dengan objek Katalog Data tersedia saat hanya menggunakan. AWS Lake Formation Sebelum melanjutkan untuk memigrasikan kontrol akses dari AWS Lake Formation IAM, audit hibah Lake Formation Anda yang ada menggunakan `aws lakeformation list-permissions` dan tentukan apakah kebijakan IAM yang setara dapat menyediakan akses yang dibutuhkan pengguna Anda. Setiap kepala sekolah yang mengandalkan hibah Lake Formation berbutir halus akan memerlukan akses IAM tingkat tabel penuh setelah memigrasikan kontrol akses.

## Prasyarat
<a name="w2aac13c29b9b9"></a>

Sebelum Anda mulai, pastikan hal-hal berikut:
+ Anda telah mengidentifikasi semua hibah Lake Formation yang saat ini berlaku untuk sumber daya yang dimigrasikan. Jalankan `aws lakeformation list-permissions --resource-type TABLE` untuk memeriksanya.
+ Anda telah menyiapkan kebijakan IAM yang menyediakan akses setara untuk semua prinsipal yang terpengaruh.
+ Peran IAM yang terdaftar di Lake Formation masih memiliki `lakeformation:GetDataAccess` (diperlukan selama periode transisi hibrida).

## Menggunakan AWS CLI
<a name="w2aac13c29b9c11"></a>

1. **Langkah 1: Berikan izin IAM kepada kepala sekolah**

   Lampirkan kebijakan IAM ke pengguna atau peran yang memerlukan akses. Kebijakan harus menyertakan izin AWS Glue metadata dan izin data Tabel S3.
**catatan**  
Kebijakan contoh berikut hanya menyediakan akses baca.

   ```
   aws iam put-user-policy \
     --user-name GlueIAMAccessUser \
     --policy-name S3TablesIAMAccessPolicy \
     --policy-document '{
       "Version": "2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "GlueMetadataAccess",
               "Effect": "Allow",
               "Action": [
                   "glue:GetCatalog",
                   "glue:GetDatabase",
                   "glue:GetTable"
               ],
               "Resource": [
                   "arn:aws:glue:us-east-1:AWSAccountID:catalog/s3tablescatalog",
                   "arn:aws:glue:us-east-1:AWSAccountID:database/s3tablescatalog/table-bucket-name/namespace",
                   "arn:aws:glue:us-east-1:AWSAccountID:table/s3tablescatalog/table-bucket-name/namespace/*"
               ]
           },
           {
               "Sid": "S3TablesDataAccess",
               "Effect": "Allow",
               "Action": [
                   "s3tables:GetTableBucket",
                   "s3tables:GetTable",
                   "s3tables:GetTableMetadataLocation",
                   "s3tables:GetTableData"
               ],
               "Resource": [
                   "arn:aws:s3tables:us-east-1:AWSAccountID:bucket/table-bucket-name",
                   "arn:aws:s3tables:us-east-1:AWSAccountID:bucket/table-bucket-name/table/*"
               ]
           }
       ]
     }'
   ```

   Verifikasi bahwa semua pengguna dan peran yang terpengaruh dapat mengakses tabel yang diharapkan menggunakan kredensil IAM mereka sebelum melanjutkan.

1. **Langkah 2: Perbarui katalog untuk mengembalikan izin default IAM**

   Perbarui katalog sehingga `CreateDatabaseDefaultPermissions` dan `CreateTableDefaultPermissions` berikan `ALL` ke`IAM_ALLOWED_PRINCIPALS`. Setel `OverwriteChildResourcePermissionsWithDefault` `Accept` agar perubahan menyebar ke semua sumber daya anak yang ada, bukan hanya yang baru dibuat.

   ```
   aws glue update-catalog \
     --catalog-id "s3tablescatalog" \
     --catalog-input '{
       "FederatedCatalog": {
           "Identifier": "arn:aws:s3tables:us-east-1:AWSAccountID:bucket/*",
           "ConnectionName": "aws:s3tables"
       },
       "CreateDatabaseDefaultPermissions": [{
           "Principal": {"DataLakePrincipalIdentifier": "IAM_ALLOWED_PRINCIPALS"},
           "Permissions": ["ALL"]
       }],
       "CreateTableDefaultPermissions": [{
           "Principal": {"DataLakePrincipalIdentifier": "IAM_ALLOWED_PRINCIPALS"},
           "Permissions": ["ALL"]
       }],
       "OverwriteChildResourcePermissionsWithDefault": "Accept"
     }'
   ```

1. **Langkah 3: Membatalkan pendaftaran sumber daya dari Lake Formation**

   Setelah Anda mengonfirmasi bahwa semua akses bekerja melalui kebijakan IAM dan tidak ada kepala sekolah yang bergantung pada hibah Lake Formation, Anda dapat membatalkan pendaftaran sumber daya dari Lake Formation untuk menyelesaikan migrasi.

   ```
   aws lakeformation deregister-resource \
     --resource-arn "arn:aws:s3tables:us-east-1:AWSAccountID:bucket/*"
   ```
**catatan**  
Setelah membatalkan pendaftaran sumber daya, hapus `lakeformation:GetDataAccess` dari kepala sekolah IAM yang tidak lagi membutuhkannya.

Tidak ada `revoke-permissions` langkah yang diperlukan.

# Membuat katalog terkelola Amazon Redshift di AWS Glue Data Catalog
<a name="create-rms-catalog"></a>

 Anda mungkin tidak memiliki kluster produsen Amazon Redshift atau datashare Amazon Redshift yang tersedia saat ini, tetapi ingin membuat dan mengelola tabel Amazon Redshift menggunakan. AWS Glue Data Catalog Anda dapat memulai dengan membuat katalog AWS Glue terkelola menggunakan `glue:CreateCatalog` API atau AWS Lake Formation konsol dengan menyetel jenis katalog sebagai `Managed` dan `Catalog source` sebagai **Redshift**. Langkah ini melakukan hal berikut:
+ Membuat katalog di Katalog Data
+ Mendaftarkan katalog sebagai lokasi data Lake Formation
+ membuat grup kerja tanpa server terkelola Amazon Redshift
+ Menautkan grup kerja tanpa server Amazon Redshift dan Katalog Data menggunakan objek datashare

**Untuk membuat katalog terkelola dan menyiapkan izin (konsol)**

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

1. **Di panel navigasi, pilih **Katalog di bawah Katalog Data**.**

1. Pilih opsi **Buat katalog**. 

1. Pada halaman **Set Catalog** details, masukkan informasi berikut: 
   + **Nama — Nama** unik untuk katalog terkelola Anda. Nama tidak dapat diubah, dan harus dalam huruf kecil. Nama dapat terdiri dari maksimum 255 karakter. akun. 
   + **Jenis** - Pilih `Managed catalog` sebagai jenis katalog.
   + **Penyimpanan** — Pilih `Redshift` untuk penyimpanan.
   + **Deskripsi** — Masukkan deskripsi untuk katalog yang dibuat dari sumber data.

1. Anda dapat menggunakan aplikasi Apache Spark yang berjalan di Amazon EMR di Amazon EC2 untuk mengakses database Amazon Redshift di. AWS Glue Data Catalog

   Untuk mengaktifkan Apache Spark membaca dan menulis ke penyimpanan terkelola Amazon Redshift AWS Glue , buat klaster Amazon Redshift terkelola dengan sumber daya komputasi dan penyimpanan yang diperlukan untuk melakukan operasi baca dan tulis tanpa memengaruhi beban kerja gudang data Amazon Redshift. Anda juga perlu memberikan peran IAM dengan izin yang diperlukan untuk mentransfer data ke dan dari bucket Amazon S3. Untuk izin yang diperlukan untuk peran transfer data, lihat langkah 5 di [Prasyarat untuk mengelola ruang nama Amazon Redshift di AWS Glue Data Catalog](redshift-ns-prereqs.md) bagian. 

1. Secara default, data di klaster Amazon Redshift dienkripsi menggunakan kunci terkelola. AWS Lake Formation menyediakan opsi untuk membuat kunci KMS kustom Anda untuk enkripsi. Jika Anda menggunakan kunci yang dikelola pelanggan, Anda harus menambahkan kebijakan kunci tertentu ke kunci tersebut. 

1.  Pilih pengaturan Sesuaikan enkripsi jika Anda menggunakan kunci yang dikelola pelanggan untuk mengenkripsi data di penyimpanan terkelola Amazon Redshift. Untuk menggunakan kunci kustom, Anda harus menambahkan kebijakan kunci kustom terkelola tambahan ke kunci KMS Anda. Untuk informasi selengkapnya, lihat [Prasyarat untuk mengelola ruang nama Amazon Redshift di AWS Glue Data Catalog](redshift-ns-prereqs.md).

1. **Opsi enkripsi** - Pilih opsi **Sesuaikan pengaturan enkripsi** jika Anda ingin menggunakan kunci khusus untuk mengenkripsi katalog. Untuk menggunakan kunci kustom, Anda harus menambahkan kebijakan kunci kustom terkelola tambahan ke kunci KMS Anda. 

1. Pilih **Berikutnya** untuk memberikan izin kepada prinsipal lain. 

1. Pada halaman **Hibah izin**, pilih **Tambahkan izin**.

1.  Pada layar **Tambahkan izin**, pilih prinsip dan jenis izin yang akan diberikan.   
![\[Halaman izin katalog dengan tipe utama dan opsi hibah.\]](http://docs.aws.amazon.com/id_id/lake-formation/latest/dg/images/catalog-permissions.png)
   +  Di bagian **Principal**, pilih jenis principal lalu tentukan principal yang akan diberi izin. 
     + **Peran dan pengguna IAM** – Pilih satu atau beberapa pengguna atau peran dari daftar peran dan pengguna IAM.
     + **Pengguna dan grup SAMB** — Untuk SALL dan Amazon Quick pengguna dan grup, masukkan satu atau beberapa Nama Sumber Daya Amazon (ARNs) untuk pengguna atau grup yang digabungkan melalui SAMB, atau untuk pengguna atau grup ARNs Amazon Quick. Tekan **Enter** setelah setiap ARN.

       Untuk informasi tentang cara membuat ARNs, lihat AWS CLI memberikan dan mencabut perintah AWS CLI . 
   +  Di bagian **Izin**, pilih izin dan izin yang dapat diberikan.

     Di **Izin katalog**, pilih satu atau beberapa izin untuk diberikan.

     Pilih **Pengguna super** untuk memberikan izin administratif yang tidak dibatasi pada semua sumber daya di dalam katalog.

      Di bawah Izin **yang dapat diberikan, pilih izin** yang dapat diberikan oleh penerima hibah kepada prinsipal lain di akun mereka. AWS Opsi ini tidak didukung jika Anda memberikan izin ke principal IAM dari akun eksternal. 

1. Pilih **Berikutnya** untuk meninjau informasi dan membuat katalog. Daftar **Katalog menunjukkan katalog** terkelola baru.

**Untuk membuat katalog federasi (CLI)**
+  Contoh berikut menunjukkan cara membuat katalog federasi. 

  ```
  aws glue create-catalog --cli-input-json file://input.json
  
  {
      "Name": "CatalogName", 
      "CatalogInput": {
        "Description": "Redshift published Catalog",
        "CreateDatabaseDefaultPermissions" : [],
        "CreateTableDefaultPermissions": [],
        "CatalogProperties": {
          "DataLakeAccessProperties" : {
            "DataLakeAccess" : "true",
            "DataTransferRole" : "DTR arn",
            "KMSKey": "kms key arn",  // Optional
            "CatalogType": "aws:redshift"
          }  
        }
      }
  }
  ```

  Glue mendapatkan respons katalog 

  ```
  aws glue get-catalog \
    --catalog-id account-id:catalog-name \
    --region us-east-1
  
  Response:
  {
      "Catalog": {
          "Name": "CatalogName", 
          "Description": "Glue Catalog for Redshift z-etl use case",
          "CreateDatabaseDefaultPermissions" : [],
          "CreateTableDefaultPermissions": [],
           "CatalogProperties": {
            "DataLakeAccessProperties" : {
              "DataLakeAccess": "true",
              "DataTransferRole": "DTR arn",
              "KMSKey": "kms key arn",
              "ManagedWorkgroupName": "MWG name",
              "ManagedWorkgroupStatus": "MWG status",
              "RedshiftDatabaseName": "RS db name",
              "NamespaceArn": "namespace key arn",
              "CatalogType": "aws:redshift"
           }
         }
      }
  ```

# Mengelola izin untuk data dalam data Amazon Redshift
<a name="data-sharing-redshift"></a>

Dengan AWS Lake Formation, Anda dapat mengelola data dengan aman di datashare dari Amazon Redshift. Amazon Redshift adalah layanan gudang data skala petabyte yang dikelola sepenuhnya di Cloud. AWS Menggunakan kemampuan berbagi data, Amazon Redshift membantu Anda berbagi data. Akun AWS Untuk informasi selengkapnya tentang berbagi data Amazon Redshift, lihat [Ikhtisar berbagi data di Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/dg/data_sharing_intro.html). 

Di Amazon Redshift, administrator cluster produser membuat datashare, dan membagikannya dengan administrator data lake. Untuk step-by-step petunjuk tentang cara membuat administrator danau data, lihat[Buat administrator danau data](initial-lf-config.md#create-data-lake-admin). 

Setelah Anda (administrator data lake) menerima datashare, Anda harus membuat AWS Glue Data Catalog database untuk datashare tertentu. Ini agar Anda dapat mengontrol akses ke sana menggunakan izin Lake Formation. Lake Formation memetakan setiap datashare ke database Katalog Data yang sesuai. Ini muncul sebagai database federasi dalam Katalog Data. 

Database disebut sebagai *database federasi* ketika menunjuk ke entitas di luar Katalog Data. Tabel dan tampilan dalam data Amazon Redshift dicantumkan sebagai tabel individual dalam Katalog Data. Anda dapat berbagi database federasi dengan prinsipal IAM terpilih dan pengguna SAFL dalam akun yang sama atau di akun lain dengan Lake Formation. Anda juga dapat menyertakan ekspresi filter baris dan kolom untuk membatasi akses ke data tertentu. Untuk informasi selengkapnya, lihat [Pemfilteran data dan keamanan tingkat sel di Lake Formation](data-filtering.md). 

 Untuk memberi pengguna akses ke datashare Amazon Redshift, Anda harus melakukan hal berikut:

1. Perbarui **pengaturan Katalog Data** untuk mengaktifkan izin Lake Formation. 

1. Terima undangan datashare dari administrator kluster produsen Amazon Redshift dan daftarkan datashare di Lake Formation.

   Setelah menyelesaikan langkah ini, Anda dapat mengelola datashare dalam Katalog Data Lake Formation. 

1. Buat database federasi dan tentukan izin pada database itu. 

1. Berikan izin kepada pengguna pada database dan tabel. Anda dapat berbagi seluruh database atau subset tabel dengan pengguna di akun yang sama atau akun lain. 

Untuk batasan, lihat [Batasan berbagi data Amazon Redshift](notes-rs-datashare.md).

**Topics**
+ [Prasyarat untuk menyiapkan izin di datashares Amazon Redshift](redshift-ds-prereqs.md)
+ [Menyiapkan izin untuk datashares Amazon Redshift](setup-ds-perms.md)
+ [Menanyakan database federasi](qerying-fed-db.md)

# Prasyarat untuk menyiapkan izin di datashares Amazon Redshift
<a name="redshift-ds-prereqs"></a>

**Perbarui pengaturan Katalog Data default**  
Untuk mengaktifkan izin Lake Formation untuk sumber daya Katalog Data, sebaiknya Anda menonaktifkan **pengaturan Katalog Data** default di Lake Formation. Untuk informasi selengkapnya, lihat [Ubah model izin default atau gunakan mode akses hybrid](initial-lf-config.md#setup-change-cat-settings).

**Perbarui izin**  
 Selain izin administrator data lake (`AWSLakeFormationDataAdmin`), izin berikut juga diperlukan untuk menerima datashare Amazon Redshift di Lake Formation:
+ `glue:PassConnection on aws:redshift`
+ `redshift:AssociateDataShareConsumer`
+ `redshift:DescribeDataSharesForConsumer`
+ `redshift:DescribeDataShares`

Pengguna IAM administrator data lake memiliki izin berikut secara implisit.
+ data\$1location\$1access
+ create\$1database 
+ LakeFomation:RegisterResource

# Menyiapkan izin untuk datashares Amazon Redshift
<a name="setup-ds-perms"></a>

 Topik ini menjelaskan langkah-langkah yang perlu Anda ikuti untuk menerima undangan datashare, membuat database federasi, dan memberikan izin. Anda dapat menggunakan konsol Lake Formation atau AWS Command Line Interface (AWS CLI). Contoh dalam topik ini menunjukkan cluster produsen, Katalog Data, dan konsumen data di akun yang sama.

Untuk mempelajari lebih lanjut tentang kemampuan lintas akun Lake Formation, lihat[Berbagi data lintas akun di Lake Formation](cross-account-permissions.md).

**Untuk mengatur izin untuk datashare**

1. Tinjau undangan datashare dan terima.

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

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

   1. Tinjau datashares yang diizinkan untuk Anda akses. Kolom **Status** menunjukkan status partisipasi Anda saat ini untuk datashare. Status **Tertunda** menunjukkan bahwa Anda telah ditambahkan ke datashare, tetapi Anda belum menerimanya atau menolak undangan tersebut. 

   1.  **Untuk menanggapi undangan datashare, pilih nama datashare dan pilih Tinjau undangan.** Di **Menerima atau menolak datashare**, tinjau detail undangan. Pilih **Terima** untuk menerima undangan atau **Tolak untuk menolak** undangan. Anda tidak mendapatkan akses ke datashare jika Anda menolak undangan.

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

   Contoh berikut menunjukkan cara melihat, menerima, dan mendaftarkan undangan. Ganti Akun AWS ID dengan ID yang valid Akun AWS . Ganti `data-share-arn` dengan Amazon Resource Name (ARN) aktual yang mereferensikan datashare.

   1. Lihat undangan yang tertunda.

      ```
      aws redshift describe-data-shares \
       --data-share-arn 'arn:aws:redshift:us-east-1:111122223333:datashare:abcd1234-1234-ab12-cd34-1a2b3c4d5e6f/federatedds' \
      ```

   1. Terima datashare.

      ```
       aws redshift associate-data-share-consumer \
       --data-share-arn 'arn:aws:redshift:us-east-1:111122223333:datashare:abcd1234-1234-ab12-cd34-1a2b3c4d5e6f/federatedds' \
       --consumer-arn 'arn:aws:glue:us-east-1:111122223333:catalog
      ```

   1. Daftarkan datashare di akun Lake Formation. Gunakan operasi [RegisterResource](https://docs.aws.amazon.com/lake-formation/latest/APIReference/API_RegisterResource.html)API untuk mendaftarkan datashare di Lake Formation. `DataShareArn`adalah parameter input untuk`ResourceArn`.
**catatan**  
Ini adalah langkah wajib.

      ```
      aws lakeformation register-resource \
       --resource-arn 'arn:aws:redshift:us-east-1:111122223333:datashare:abcd1234-1234-ab12-cd34-1a2b3c4d5e6f/federatedds'
      ```

------

1. Buat database.

    Setelah menerima undangan datashare, Anda perlu membuat database yang mengarah ke database Amazon Redshift yang terkait dengan datashare. Anda harus menjadi administrator data lake untuk membuat database. 

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

   1.  **Pilih datashare dari panel **Undangan** dan pilih Set rincian database.** 

   1.  Di **Set rincian database**, masukkan nama unik dan identifier untuk datashare. Anda menggunakan pengenal ini untuk memetakan datashare secara internal dalam hierarki metadata (DbName.schema.table). 

   1.  Pilih **Berikutnya** untuk memberikan izin kepada pengguna lain pada database dan tabel bersama. 

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

    Gunakan kode contoh berikut untuk membuat database yang menunjuk ke database Amazon Redshift yang dibagikan dengan Lake Formation menggunakan file. AWS CLI

   ```
   aws glue create-database --cli-input-json \
   
   '{
    "CatalogId": "111122223333",
    "DatabaseInput": {
     "Name": "tahoedb",
     "FederatedDatabase": {
          "Identifier": "arn:aws:redshift:us-east-1:111122223333:datashare:abcd1234-1234-ab12-cd34-1a2b3c4d5e6f/federatedds",
          "ConnectionName": "aws:redshift"
      }
    }
    }'
   ```

------

1. Berikan izin.

    Setelah membuat database, Anda dapat memberikan izin kepada pengguna di akun Anda atau eksternal Akun AWS dan organisasi. Anda tidak akan dapat memberikan izin menulis data (menyisipkan, menghapus) dan izin metadata (ubah, jatuhkan, buat) pada database federasi yang dipetakan ke datashare Amazon Redshift. Untuk informasi selengkapnya tentang pemberian izin, lihat. [Mengelola izin Lake Formation](managing-permissions.md)
**catatan**  
Sebagai administrator data lake, Anda hanya dapat melihat tabel di database federasi. Untuk melakukan tindakan lain, Anda perlu memberi diri Anda lebih banyak izin pada tabel tersebut.

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

   1. Pada layar **Hibah izin**, pilih pengguna untuk memberikan izin.

   1. Pilih**Izin**. 

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

   Gunakan contoh berikut untuk memberikan izin database dan tabel menggunakan: AWS CLI

   ```
   aws lakeformation grant-permissions --input-cli-json file://input.json
   
   {
      "Principal": {
              "DataLakePrincipalIdentifier": "arn:aws:iam::111122223333:user/non-admin"
      },
      "Resource": {
             "Database": {
                   "CatalogId": "111122223333",
                    "Name": "tahoedb"
              }
       },
       "Permissions": [
                "DESCRIBE"
        ],
       "PermissionsWithGrantOption": [
                            
        ]
    }
   ```

   ```
   aws lakeformation grant-permissions --input-cli-json file://input.json
   
   {
                      "Principal": {
                             "DataLakePrincipalIdentifier": "arn:aws:iam::111122223333:user/non-admin"
                      },
                     "Resource": {
                            "Table": {
                                 "CatalogId": "111122223333",
                                 "DatabaseName": "tahoedb",
                                 "Name": "public.customer"
                          }
                     },
                    "Permissions": [
                           "SELECT"
                     ],
                    "PermissionsWithGrantOption": [
                            "SELECT"
                      ]
    }
   ```

------

# Menanyakan database federasi
<a name="qerying-fed-db"></a>

 Setelah Anda memberikan izin, pengguna dapat masuk dan mulai menanyakan database federasi menggunakan Amazon Redshift. Pengguna sekarang dapat menggunakan nama database lokal untuk mereferensikan datashare Amazon Redshift dalam kueri SQL. Di Amazon Redshift, tabel pelanggan dalam skema publik yang dibagikan melalui datashare akan memiliki tabel yang sesuai yang dibuat seperti `public.customer` dalam Katalog Data.

1. Sebelum melakukan kueri pada database federasi menggunakan Amazon Redshift, administrator klaster membuat database dari database Data Catalog menggunakan perintah berikut: 

   ```
   CREATE DATABASE sharedcustomerdb FROM ARN 'arn:aws:glue:<region>:111122223333:database/tahoedb' WITH DATA CATALOG SCHEMA tahoedb
   ```

1.  Admin klaster memberikan izin penggunaan pada database.

   ```
   GRANT USAGE ON DATABASE sharedcustomerdb TO IAM:user;
   ```

1.  Anda (pengguna federasi) sekarang dapat masuk ke alat SQL untuk menanyakan tabel. 

   ```
   Select * from sharedcustomerdb.public.customer limit 10;
   ```

 Untuk informasi selengkapnya, lihat [Menanyakan AWS Glue Data Catalog](https://docs.aws.amazon.com/redshift/latest/mgmt/query-editor-v2-glue.html) di Panduan Manajemen Pergeseran Merah Amazon. 

# Mengelola izin pada kumpulan data yang menggunakan metastor eksternal
<a name="data-sharing-hms"></a>

Dengan federasi AWS Glue Data Catalog metadata (federasi Katalog Data), Anda dapat menghubungkan Katalog Data ke metastor eksternal yang menyimpan metadata untuk data Amazon S3 Anda, dan mengelola izin akses data dengan aman menggunakan. AWS Lake Formation Anda tidak perlu memigrasikan metadata dari metastore eksternal ke Katalog Data.

Katalog Data menyediakan repositori metadata terpusat yang membuat pengelolaan dan penemuan data di seluruh sistem yang berbeda menjadi lebih mudah. Saat organisasi mengelola data di Katalog Data, Anda dapat menggunakannya AWS Lake Formation untuk mengontrol akses ke kumpulan data di Amazon S3.

**catatan**  
Saat ini, kami hanya mendukung federasi metastore Apache Hive (versi 3 ke atas).

Untuk mengatur federasi Katalog Data, kami menyediakan aplikasi AWS Serverless Application Model (AWS SAM) yang disebut [GlueDataCatalogFederation- HiveMetastore](https://console.aws.amazon.com/lambda/home#/create/app?applicationId=arn:aws:serverlessrepo:us-east-1:766175011753:applications/GlueDataCatalogFederation-HiveMetastore) di AWS Serverless Application Repository. 

Implementasi referensi disediakan GitHub sebagai proyek open source di [AWS Glue Data Catalog Federation - Hive Metastore](https://github.com/awslabs/aws-glue-data-catalog-federation).

 AWS SAM Aplikasi membuat dan menyebarkan sumber daya berikut yang diperlukan untuk menghubungkan Katalog Data ke metastore Hive:
+ ** AWS Lambda Fungsi — Menyelenggarakan** implementasi layanan federasi yang berkomunikasi antara Katalog Data dan metastore Hive. AWS Glue memanggil fungsi Lambda ini untuk mengambil objek metadata dari metastore Hive.
+ **Amazon API Gateway**— Titik akhir koneksi untuk metastore Hive Anda yang bertindak sebagai proxy untuk merutekan semua pemanggilan ke fungsi Lambda. 
+ **Peran IAM — Peran** dengan izin yang diperlukan untuk membuat koneksi antara Katalog Data dan metastore Hive.
+ **AWS Glue koneksi** — Amazon API Gateway Jenis AWS Glue koneksi yang menyimpan Amazon API Gateway titik akhir dan peran IAM untuk memanggilnya. 

Saat Anda melakukan kueri tabel, AWS Glue layanan membuat panggilan runtime ke metastore Hive dan mengambil metadata. Fungsi Lambda bertindak sebagai penerjemah antara metastore Hive dan Katalog Data. 

Setelah membuat koneksi, untuk menyinkronkan metadata di metastore Hive dengan Katalog Data, Anda perlu membuat database *federasi di Katalog Data menggunakan detail koneksi metastore Hive, dan memetakan database* ini ke database Hive. Database disebut sebagai database federasi ketika menunjuk ke entitas di luar Katalog Data.

Anda dapat menerapkan izin Lake Formation menggunakan kontrol akses berbasis tag dan metode sumber daya bernama pada database federasi, dan membagikannya di beberapa unit Akun AWS AWS Organizations, dan organisasi (). OUs Anda juga dapat berbagi database federasi secara langsung dengan kepala sekolah IAM dari akun lain.

 Anda dapat menentukan izin berbutir halus pada tingkat kolom, tingkat baris, dan tingkat sel menggunakan filter data Lake Formation pada tabel Hive eksternal. Anda dapat menggunakan Amazon Athena, Amazon Redshift, atau Amazon EMR untuk menanyakan tabel Hive eksternal yang dikelola Lake Formation.

Untuk informasi selengkapnya tentang berbagi data lintas akun dan pemfilteran data, lihat:
+ [Berbagi data lintas akun di Lake Formation](cross-account-permissions.md)
+ [Pemfilteran data dan keamanan tingkat sel di Lake Formation](data-filtering.md)

**Katalog Data metadata federasi langkah-langkah tingkat tinggi**

1. Anda membuat pengguna IAM dan peran yang memiliki izin yang sesuai untuk menyebarkan AWS SAM aplikasi dan membuat database federasi.

1. Anda mendaftarkan lokasi data Amazon S3 dengan Lake Formation dengan memilih `Enable Data Catalog federation` opsi untuk kumpulan data yang menggunakan metastore Hive eksternal. 

1. Anda mengonfigurasi pengaturan AWS SAM aplikasi (nama AWS Glue koneksi, URL ke metastore Hive, dan parameter fungsi Lambda) dan menyebarkan aplikasi. AWS SAM 

1.  AWS SAM Aplikasi ini menyebarkan sumber daya yang diperlukan untuk menghubungkan metastore Hive eksternal dengan Katalog Data. 

1. Untuk menerapkan izin Lake Formation pada database dan tabel Hive, Anda membuat database di Katalog Data menggunakan detail koneksi metastore Hive, dan memetakan database ini ke database Hive.

1. Berikan izin pada database federasi kepada kepala sekolah di akun Anda atau di akun lain. 

**catatan**  
Anda dapat menghubungkan Katalog Data ke mestastore Hive eksternal, membuat database federasi, dan menjalankan kueri dan skrip ETL pada database dan tabel Hive tanpa menerapkan izin Lake Formation. Untuk data sumber di Amazon S3 yang tidak terdaftar di Lake Formation, akses ditentukan oleh kebijakan izin IAM untuk Amazon S3 dan tindakan. AWS Glue 

Untuk batasan, lihat [Metadata sarang menyimpan pertimbangan dan batasan berbagi data](notes-hms.md).

**Topics**
+ [Alur kerja](#hms-workflow)
+ [Prasyarat untuk menghubungkan Katalog Data ke metastore Hive](hms-prerequisites.md)
+ [Menghubungkan Katalog Data ke metastore Hive eksternal](hms-setup.md)
+ [Sumber daya tambahan](additional-resources-hms.md)

## Alur kerja
<a name="hms-workflow"></a>

Diagram berikut menunjukkan alur kerja untuk menghubungkan AWS Glue Data Catalog ke metastore Hive eksternal.

![\[Workflow diagram showing Hive metastore connection to AWS Glue Data Catalog with numbered steps.\]](http://docs.aws.amazon.com/id_id/lake-formation/latest/dg/images/hms-workflow.png)


1. Seorang kepala sekolah mengirimkan kueri menggunakan layanan terintegrasi seperti Athena atau Redshift Spectrum.

1. Layanan terintegrasi membuat panggilan ke Katalog Data untuk metadata, yang pada gilirannya memanggil titik akhir metastore Hive yang tersedia di belakang Amazon API Gateway, dan menerima respons terhadap permintaan metadata.

1. Layanan terintegrasi mengirimkan permintaan ke Lake Formation untuk memverifikasi informasi tabel dan kredensi untuk mengakses tabel.

1.  Lake Formation mengotorisasi permintaan dan menjual kredensil sementara ke aplikasi terintegrasi, yang memungkinkan akses data. 

1. Menggunakan kredensi sementara yang diterima dari Lake Formation, layanan terintegrasi membaca data dari Amazon S3, dan membagikan hasilnya kepada kepala sekolah.

# Prasyarat untuk menghubungkan Katalog Data ke metastore Hive
<a name="hms-prerequisites"></a>

Untuk menghubungkan AWS Glue Data Catalog ke metastore Apache Hive eksternal dan mengatur izin akses data, Anda harus melengkapi persyaratan berikut:
**catatan**  
Kami menyarankan agar administrator Lake Formation menyebarkan AWS SAM aplikasi, dan hanya pengguna istimewa yang menggunakan koneksi metastore Hive untuk membuat database federasi yang sesuai.

1. 

**Buat IAM role.**

**Untuk menyebarkan aplikasi AWS SAM**
   + Buat peran yang memiliki izin yang diperlukan untuk menyebarkan sumber daya (fungsi Lambda, peran IAM Amazon API Gateway, dan AWS Glue koneksi) yang diperlukan untuk membuat koneksi ke metastore Hive.

**Untuk membuat database federasi**

   Izin berikut diperlukan pada sumber daya:
   + `glue:CreateDatabase on resource arn:aws:glue:region:account-id:database/gluedatabasename`
   + `glue:PassConnection on resource arn:aws:glue:region:account-id:connection/hms_connection`

1. 

**Daftarkan lokasi Amazon S3 dengan Lake Formation.**

   Untuk menggunakan Lake Formation untuk mengelola dan mengamankan data di danau data Anda, Anda harus mendaftarkan lokasi Amazon S3 yang memiliki data untuk tabel di metastore Hive dengan Lake Formation. Dengan demikian, Lake Formation dapat menjual kredensil ke layanan AWS analitis seperti Athena, Redshift Spectrum, dan Amazon EMR.

   Untuk informasi selengkapnya tentang mendaftarkan lokasi Amazon S3, lihat. [Menambahkan lokasi Amazon S3 ke danau data Anda](register-data-lake.md)

   Saat Anda mendaftarkan lokasi Amazon S3, pilih kotak centang **Aktifkan Federasi Katalog Data** untuk mengizinkan Lake Formation mengambil peran untuk mengakses tabel dalam database federasi.  
![\[Register location form for AWS Lake Formation with Amazon S3 path and IAM role options.\]](http://docs.aws.amazon.com/id_id/lake-formation/latest/dg/images/hms-register-s3.png)

   Untuk informasi lebih lanjut tentang mendaftarkan lokasi data dengan Lake Formation, lihat[Konfigurasikan lokasi Amazon S3 untuk data lake Anda](initial-lf-config.md#register-s3-location).

1. 

**Gunakan versi EMR Amazon yang benar.**

   Untuk menggunakan Amazon EMR dengan database metastore Hive federasi, Anda harus memiliki Hive versi 3.x atau lebih tinggi dan Amazon EMR versi 6.x atau lebih tinggi.

# Menghubungkan Katalog Data ke metastore Hive eksternal
<a name="hms-setup"></a>

[Untuk menghubungkan AWS Glue Data Catalog ke metastore Hive, Anda perlu menerapkan aplikasi yang AWS SAM disebut -. GlueDataCatalogFederation HiveMetastore](https://console.aws.amazon.com/lambda/home#/create/app?applicationId=arn:aws:serverlessrepo:us-east-1:766175011753:applications/GlueDataCatalogFederation-HiveMetastore) Ini menciptakan sumber daya yang diperlukan untuk menghubungkan metastore Hive eksternal dengan Katalog Data. Anda dapat mengakses AWS SAM aplikasi di AWS Serverless Application Repository.

 AWS SAM Aplikasi membuat koneksi untuk metastore Hive di belakang Amazon API Gateway menggunakan fungsi Lambda. AWS SAM Aplikasi ini menggunakan pengenal sumber daya seragam (URI) sebagai masukan dari pengguna dan menghubungkan metastore Hive eksternal ke Katalog Data. Saat pengguna menjalankan kueri pada tabel Hive, Katalog Data memanggil titik akhir API Gateway. Titik akhir memanggil fungsi Lambda untuk mengambil metadata tabel Hive.

**Untuk menghubungkan Katalog Data ke metastore Hive dan mengatur izin**

1. 

**Menyebarkan AWS SAM aplikasi.**

   1. Masuk ke Konsol Manajemen AWS dan buka AWS Serverless Application Repository.

   1. Di panel navigasi, pilih**Aplikasi yang tersedia**.

   1. Pilih **aplikasi Publik**.

   1. Pilih opsi**Menampilkan aplikasi yang membuat IAM role khusus atau kebijakan sumber daya**. 

   1. Di kotak pencarian, masukkan nama **GlueDataCatalogFederation- HiveMetastore**. 

   1. Pilih **GlueDataCatalogFederation- HiveMetastore** aplikasi.

   1. Di bawah **Pengaturan Aplikasi**, masukkan pengaturan minimum yang diperlukan berikut untuk fungsi Lambda Anda:
      + **Nama aplikasi** - Nama untuk AWS SAM aplikasi Anda.
      + **GlueConnectionName**- Nama untuk koneksi.
      + **HiveMetastoreURIs**- URI host metastore Hive Anda.
      + **LambdaMemory**- Jumlah memori Lambda dalam MB dari 128-10240. Defaultnya adalah 1.024.
      + **LambdaTimeout**- Runtime pemanggilan Lambda maksimum dalam hitungan detik. Bawaannya adalah 30.
      + **VPCSecurityGroupIds**dan **VPCSubnetIds** - Informasi untuk VPC tempat metastore Hive ada.

   1. Pilih **Saya mengakui bahwa aplikasi ini membuat peran IAM khusus dan kebijakan sumber daya**. Untuk informasi selengkapnya, pilih tautan **Info**.

   1. Di kanan bawah bagian **Pengaturan aplikasi**, pilih **Deploy**. Saat penerapan selesai, fungsi Lambda muncul di bagian Sumber Daya **di konsol** Lambda.

    Aplikasi ini digunakan untuk Lambda. Namanya dilengkapi dengan **serverlessrepo-** untuk menunjukkan bahwa aplikasi tersebut digunakan dari file. AWS Serverless Application Repository Memilih aplikasi akan membawa Anda ke halaman **Sumber** Daya tempat masing-masing sumber daya aplikasi yang digunakan terdaftar. Sumber daya termasuk fungsi Lambda yang memungkinkan komunikasi antara Katalog Data dan metastore Hive, AWS Glue koneksi, dan sumber daya lain yang diperlukan untuk federasi database. 

1. 

**Buat database federasi di Katalog Data.**

   Setelah membuat koneksi ke metastore Hive, Anda dapat membuat database federasi di Katalog Data yang mengarah ke database metastore Hive eksternal. Anda perlu membuat database yang sesuai di Katalog Data untuk setiap database metastore Hive yang Anda sambungkan ke Katalog Data. 

------
#### [ Lake Formation console ]

   1. Pada halaman **Berbagi data**, pilih tab **Basis data bersama**, lalu pilih **Buat database**.

   1. Untuk **nama Koneksi**, pilih nama koneksi metastore Hive Anda dari menu tarik-turun.

   1. Masukkan nama database unik dan pengidentifikasi sumber federasi untuk database. Ini adalah nama yang Anda gunakan dalam pernyataan SQL Anda ketika Anda menanyakan tabel. Nama dapat terdiri dari maksimum 255 karakter dan harus unik dalam akun Anda. 

   1. Pilih **Buat basis data**.

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

   ```
   aws glue create-database \
   '{
    "CatalogId": "<111122223333>",
     "database-input": {
       "Name":"<fed_glue_db>",
       "FederatedDatabase":{
           "Identifier":"<hive_db_on_emr>",
           "ConnectionName":"<hms_connection>"
        }
      }
    }'
   ```

------

1. 

**Lihat tabel dalam database federasi.**

   Setelah membuat database federasi, Anda dapat melihat daftar tabel di metastore Hive Anda menggunakan konsol Lake Formation atau. AWS CLI

------
#### [ Lake Formation console ]

   1. Pilih nama database dari tab **Shared database**.

   1. Pada halaman **Database**, pilih **Lihat tabel**.

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

   Contoh berikut menunjukkan bagaimana untuk mengambil definisi koneksi, nama database, dan beberapa atau semua tabel dalam database. Ganti ID Katalog Data dengan Akun AWS ID valid yang Anda gunakan untuk membuat database. Ganti `hms_connection` dengan nama koneksi.

   ```
   aws glue get-connection \
   --name <hms_connection>  \       
   --catalog-id 111122223333
   ```

   ```
   aws glue get-database \
   --name <fed_glu_db> \             
   --catalog-id 111122223333
   ```

   ```
   aws glue get-tables \
   --database-name <fed_glue_db> \
   --catalog-id 111122223333
   ```

   ```
   aws glue get-table \
   --database-name <fed_glue_db> \
   --name <hive_table_name> \
   --catalog-id 111122223333
   ```

------

1. 

**Berikan izin.**

    Setelah membuat database, Anda dapat memberikan izin kepada pengguna dan peran IAM lainnya di akun Anda atau ke eksternal Akun AWS dan organisasi. Anda tidak akan dapat memberikan izin menulis data (menyisipkan, menghapus) dan izin metadata (mengubah, menjatuhkan, membuat) pada database federasi. Untuk informasi selengkapnya tentang pemberian izin, lihat. [Mengelola izin Lake Formation](managing-permissions.md) 

1. 

**Kueri database federasi.**

   Setelah Anda memberikan izin, pengguna dapat masuk dan mulai menanyakan database federasi menggunakan Athena dan Amazon Redshift. Pengguna sekarang dapat menggunakan nama database lokal untuk referensi database Hive dalam query SQL.

   **Contoh sintaks Amazon Athena kueri**

   Ganti `fed_glue_db` dengan nama database lokal yang Anda buat sebelumnya.

    `Select * from fed_glue_db.customers limit 10;`

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

Posting blog berikut berisi instruksi terperinci untuk mengatur izin Lake Formation pada database dan tabel metastore Hive, dan menanyakannya menggunakan Athena. Kami juga mengilustrasikan kasus penggunaan berbagi lintas akun, di mana kepala Lake Formation di akun produsen A berbagi database dan tabel Hive federasi menggunakan LF-tag ke akun konsumen B. 
+ [Kueri metastore Apache Hive Anda dengan izin AWS Lake Formation](https://aws.amazon.com/blogs/big-data/query-your-apache-hive-metastore-with-aws-lake-formation-permissions/)