

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

# Mengakses tabel Amazon S3 menggunakan titik akhir AWS GlueIceberg REST
<a name="s3-tables-integrating-glue-endpoint"></a>

Setelah bucket tabel S3 Anda terintegrasi dengan AWS Glue Data Catalog Anda dapat menggunakan AWS GlueIceberg REST titik akhir untuk terhubung ke tabel S3 Anda dari klien yang Apache Iceberg kompatibel, seperti atau. PyIceberg Spark AWS Glue Iceberg RESTEndpoint mengimplementasikan [spesifikasi Iceberg REST Catalog Open API](https://github.com/apache/iceberg/blob/main/open-api/rest-catalog-open-api.yaml) yang menyediakan antarmuka standar untuk berinteraksi dengan tabel. Iceberg Untuk mengakses tabel S3 menggunakan titik akhir, Anda perlu mengonfigurasi izin melalui kombinasi kebijakan dan hibah IAM. AWS Lake Formation Bagian berikut menjelaskan cara mengatur akses, termasuk membuat peran IAM yang diperlukan, mendefinisikan kebijakan yang diperlukan, dan menetapkan izin Lake Formation untuk akses database dan tingkat tabel. 

Untuk panduan ujung ke ujung yang menggunakanPyIceberg, lihat [Mengakses data di Tabel Amazon S3 PyIceberg menggunakan](https://aws.amazon.com/blogs/storage/access-data-in-amazon-s3-tables-using-pyiceberg-through-the-aws-glue-iceberg-rest-endpoint/) melalui titik akhir. AWS GlueIceberg REST

**Prasyarat**
+ [Integrasikan bucket tabel Anda dengan layanan AWS analitik](s3-tables-integrating-aws.md)
+ [Buat namespace tabel](s3-tables-namespace-create.md)
+ [Memiliki akses ke akun administrator data lake](https://docs.aws.amazon.com//lake-formation/latest/dg/initial-lf-config.html#create-data-lake-admin)

## Buat peran IAM untuk klien Anda
<a name="glue-endpoint-create-iam-role"></a>

Untuk mengakses tabel melalui AWS Glue titik akhir, Anda perlu membuat peran IAM dengan izin ke dan tindakan Lake AWS Glue Formation. Prosedur ini menjelaskan cara membuat peran ini dan mengonfigurasi izinnya.

1. Buka konsol IAM di [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Di panel navigasi di sebelah kiri, pilih **Kebijakan**.

1. Pilih **Buat kebijakan**, lalu pilih **JSON** di editor kebijakan.

1. Tambahkan kebijakan sebaris berikut yang memberikan izin untuk mengakses dan tindakan Lake AWS Glue Formation:

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "VisualEditor0",
               "Effect": "Allow",
               "Action": [
                   "glue:GetCatalog",
                   "glue:GetDatabase",
                   "glue:GetDatabases",
                   "glue:GetTable",
                   "glue:GetTables",
                   "glue:CreateTable",
                   "glue:UpdateTable"
               ],
               "Resource": [
                   "arn:aws:glue:us-east-1:111122223333:catalog",
                   "arn:aws:glue:us-east-1:111122223333:catalog/s3tablescatalog",
                   "arn:aws:glue:us-east-1:111122223333:catalog/s3tablescatalog/amzn-s3-demo-table-bucket",
                   "arn:aws:glue:us-east-1:111122223333:table/s3tablescatalog/amzn-s3-demo-table-bucket/<namespace>/*",
                   "arn:aws:glue:us-east-1:111122223333:database/s3tablescatalog/amzn-s3-demo-table-bucket/<namespace>"
               ]
           },
           {
               "Effect": "Allow",
               "Action": [
                   "lakeformation:GetDataAccess"
               ],
               "Resource": "*"
           }
       ]
   }
   ```

------

1. Setelah membuat kebijakan, buat peran IAM dan pilih **Kebijakan kepercayaan khusus** sebagai **jenis entitas Tepercaya**.

1. Masukkan yang berikut ini untuk **kebijakan kepercayaan kustom**.

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Principal": {
                   "AWS": "arn:aws:iam::111122223333:role/Admin_role"
               },
               "Action": "sts:AssumeRole",
               "Condition": {}
           }
       ]
   }
   ```

------

## Tentukan akses di Lake Formation
<a name="define-access-lakeformation"></a>

Lake Formation menyediakan kontrol akses berbutir halus untuk tabel data lake Anda. Saat Anda mengintegrasikan bucket S3 Anda dengan AWS Glue Data Catalog, tabel Anda secara otomatis terdaftar sebagai sumber daya di Lake Formation. Untuk mengakses tabel ini, Anda harus memberikan izin Lake Formation tertentu ke identitas IAM Anda, selain izin kebijakan IAM-nya.

Langkah-langkah berikut menjelaskan cara menerapkan kontrol akses Lake Formation untuk memungkinkan Iceberg klien Anda terhubung ke tabel Anda. Anda harus masuk sebagai administrator data lake untuk menerapkan izin ini.

### Izinkan mesin eksternal mengakses data tabel
<a name="allow-external-engines"></a>

Di Lake Formation, Anda harus mengaktifkan akses tabel penuh untuk mesin eksternal untuk mengakses data. Hal ini memungkinkan aplikasi pihak ketiga untuk mendapatkan kredensyal sementara dari Lake Formation saat menggunakan peran IAM yang memiliki izin penuh pada tabel yang diminta.

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

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

1. Di panel navigasi di bawah **Administrasi**, pilih **Pengaturan integrasi aplikasi**.

1. Pilih **Izinkan mesin eksternal mengakses data di lokasi Amazon S3 dengan akses tabel penuh**. Lalu, pilih **Simpan**.

### Berikan izin Lake Formation pada sumber daya tabel Anda
<a name="grant-lakeformation-permissions"></a>

Selanjutnya, berikan izin Lake Formation ke peran IAM yang Anda buat untuk klien yang kompatibel dengan Iceberg. Izin ini akan memungkinkan peran untuk membuat dan mengelola tabel di namespace Anda. Anda perlu memberikan izin database dan tingkat tabel. Untuk informasi selengkapnya, lihat [Memberikan izin Lake Formation di atas meja atau database](grant-permissions-tables.md#grant-lf-table).

## Siapkan lingkungan Anda untuk menggunakan titik akhir
<a name="setup-client-glue-irc"></a>

Setelah Anda mengatur peran IAM dengan izin yang diperlukan untuk akses tabel, Anda dapat menggunakannya untuk menjalankan Iceberg klien dari mesin lokal Anda AWS CLI dengan mengonfigurasi peran Anda, menggunakan perintah berikut:

```
aws sts assume-role --role-arn "arn:aws:iam::<accountid>:role/<glue-irc-role>" --role-session-name <glue-irc-role>
```

Untuk mengakses tabel melalui AWS Glue REST titik akhir, Anda perlu menginisialisasi katalog di klien Iceberg -kompatibel Anda. Inisialisasi ini memerlukan penentuan properti kustom, termasuk properti sigv4, URI titik akhir, dan lokasi gudang. Tentukan properti ini sebagai berikut:
+ Properti Sigv4 - Sigv4 harus diaktifkan, nama penandatanganan adalah `glue`
+ Lokasi gudang - Ini adalah ember meja Anda, yang ditentukan dalam format ini: `<accountid>:s3tablescatalog/<table-bucket-name>`
+ URI titik akhir - Lihat panduan referensi titik akhir AWS Glue layanan untuk titik akhir khusus wilayah

Contoh berikut menunjukkan cara menginisialisasi pyIceberg katalog.

```
rest_catalog = load_catalog(
        s3tablescatalog,
**{
"type": "rest",
"warehouse": "<accountid>:s3tablescatalog/<table-bucket-name>",
"uri": "https://glue.<region>.amazonaws.com/iceberg",
"rest.sigv4-enabled": "true",
"rest.signing-name": "glue",
"rest.signing-region": region
        }
)
```

Untuk informasi tambahan tentang implementasi AWS GlueIceberg REST titik akhir, lihat [Menghubungkan ke Katalog Data menggunakan AWS GlueIceberg REST titik akhir](https://docs.aws.amazon.com/glue/latest/dg/connect-glu-iceberg-rest.html) di *AWS Glue Panduan Pengguna*.