

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

# 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/)