

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

# 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
   ```