

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

# Akses berbasis jalur S3 menggunakan Lake Formation untuk Amazon EMR Spark
<a name="lake-formation-path-based-credential-vending"></a>

Dengan Amazon EMR merilis 7.13.0 dan yang lebih tinggi, Anda dapat menggunakan [Plugin AWS Lake Formation Access Grants](https://docs.aws.amazon.com/lake-formation/latest/dg/accessing-s3-locations.html) untuk mendapatkan kredensyal sementara untuk jalur S3 yang terdaftar di Lake Formation. Ini memungkinkan kueri Spark yang secara langsung mereferensikan jalur S3 untuk menggunakan Formation-vended kredensyal Danau, selain penjual kredensi berbasis nama tabel yang ada yang disediakan oleh Akses Tabel Penuh (FTA).

Plugin Lake Formation Access Grants terintegrasi dengan sistem file S3A di Spark. Saat diaktifkan, S3A menggunakan plugin untuk memanggil Lake Formation [GetTemporaryDataLocationCredentials](https://docs.aws.amazon.com/lake-formation/latest/APIReference/API_GetTemporaryDataLocationCredentials.html)API untuk mendapatkan kredensyal sementara untuk jalur S3 milik tabel Lake. Formation-registered 

Plugin ini berguna ketika pekerjaan Spark Anda membaca atau menulis data dengan mereferensikan jalur S3 secara langsung (misalnya,`spark.read.parquet("s3a://my-bucket/my-table/")`) daripada menggunakan nama tabel. Plugin ini juga mendukung fallback opsional ke S3 Access Grants atau kredensyal peran IAM saat akses Lake Formation ditolak.

## Hubungan dengan Akses Tabel Penuh (FTA)
<a name="lake-formation-path-based-relationship-fta"></a>

Fitur Akses Tabel Lengkap yang ada menggunakan [GetTemporaryGlueTableCredentials](https://docs.aws.amazon.com/lake-formation/latest/APIReference/API_GetTemporaryGlueTableCredentials.html)API, yang menjual kredensyal berdasarkan nama tabel. Plugin Lake Formation Access Grants menggunakan [GetTemporaryDataLocationCredentials](https://docs.aws.amazon.com/lake-formation/latest/APIReference/API_GetTemporaryDataLocationCredentials.html)API, yang menjual kredensyal berdasarkan jalur S3.

Anda dapat menggunakan kedua fitur tersebut bersama-sama. Saat keduanya diaktifkan, kredensyal FTA diutamakan untuk kueri nama tabel, sementara plugin menangani kueri jalur S3 langsung.

## Prasyarat
<a name="lake-formation-path-based-prerequisites"></a>

Sebelum Anda menggunakan Plugin Lake Formation Access Grants, selesaikan langkah-langkah berikut:
+ Siapkan Akses Tabel Lengkap (FTA) untuk lingkungan EMR Amazon Anda. Untuk petunjuk, lihat .
+ Di konsol Lake Formation, daftarkan jalur S3 dengan akun pemilik:

  1. Arahkan ke **lokasi danau Data**.

  1. Pilih lokasi dan aktifkan **jalur Register S3 dengan Akun Pemilik**.
+ Berikan peran runtime izin Lake Formation yang sesuai di atas meja:
  + Untuk membaca data tabel, berikan `SELECT` izin penuh peran runtime pada tabel.
  + Untuk memodifikasi data tabel, berikan `SUPER` izin peran runtime pada tabel.

## Aktifkan Plugin Hibah Akses Formasi Danau
<a name="lake-formation-path-based-enable"></a>

Untuk mengaktifkan plugin, atur properti konfigurasi S3A berikut di sesi Spark Anda:


**Properti konfigurasi Plugin Lake Formation Access Grants**  

| Properti | Default | Deskripsi | 
| --- | --- | --- | 
| fs.s3a.lakeformation.access.grants.enabled | FALSE | Mengaktifkan Plugin Hibah Akses Formasi Lake. | 
| fs.s3a.lakeformation.access.grants.fallback.to.iam | FALSE | Mengaktifkan fallback ke S3 Access Grants atau kredensyal peran IAM jika Lake Formation menolak akses. | 

## Perilaku mundur
<a name="lake-formation-path-based-fallback"></a>

Kapan `fs.s3a.lakeformation.access.grants.fallback.to.iam` diatur ke`true`, plugin menggunakan rantai fallback jika Lake Formation menolak akses. Ini berguna dalam skenario di mana beberapa jalur S3 terdaftar dengan Lake Formation dan lainnya dikelola melalui S3 Access Grants atau kebijakan IAM.

Ketika fallback diaktifkan, plugin mencoba untuk mendapatkan kredensyal dalam urutan sebagai berikut:

1. **Lake Formation** — Plugin memanggil [GetTemporaryDataLocationCredentials](https://docs.aws.amazon.com/lake-formation/latest/APIReference/API_GetTemporaryDataLocationCredentials.html). Jika Lake Formation memberikan akses, plugin mengembalikan kredensyal tersebut.

1. **Hibah Akses S3** — Jika Lake Formation menolak akses, plugin memeriksa apakah S3 Access Grants dapat memberikan kredensyal untuk jalur yang diminta. Jika instance S3 Access Grants mencakup jalur dan pemanggil memiliki hibah yang cocok, plugin menggunakan kredensyal tersebut.

1. **Peran IAM** — Jika Lake Formation dan S3 Access Grants menolak akses, plugin akan kembali ke kredensyal peran IAM yang dilampirkan pada pekerjaan.

## Pertimbangan dan batasan
<a name="lake-formation-path-based-considerations"></a>
+ Plugin ini mendukung format tabel Apache Hive, Apache Hudi, dan Delta Lake. Apache Iceberg saat ini tidak didukung.
+ Plugin saat ini tidak didukung dengan mode Amazon EMR Spark Fine-Grained Access Control (FGAC).
+ Path-based credential vending memerlukan pemetaan 1:1 antara tabel dan lokasi S3-nya di Glue Data Catalog. AWS 