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
Dengan rilis Amazon EMR 7.13.0 dan yang lebih tinggi, Anda dapat menggunakan Plugin AWS Lake Formation Access Grants untuk mendapatkan kredenSIAL sementara untuk jalur S3 yang terdaftar di Lake Formation. Ini memungkinkan kueri Spark yang secara langsung mereferensikan jalur S3 untuk menggunakan Formation-vended kredenSIAL Lake, selain penjual otomatis kredenSIAL berbasis nama tabel yang ada yang disediakan oleh Full Table Access (FTA). Untuk detail selengkapnya, lihat Mengakses lokasi Amazon S3.
Plugin Lake Formation Access Grants terintegrasi dengan sistem file S3A di Spark. Saat diaktifkan, S3A menggunakan plugin untuk memanggil Lake Formation GetTemporaryDataLocationCredentials API untuk mendapatkan kredenSIAL sementara untuk jalur S3 milik Formation-registered tabel Lake.
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 kredenSIAL peran IAM ketika akses Lake Formation ditolak.
Hubungan dengan Akses Meja Penuh (FTA)
Fitur Akses Tabel Penuh yang ada menggunakan GetTemporaryGlueTableCredentials API, yang menjual kredenSIAL berdasarkan nama tabel. Plugin Lake Formation Access Grants menggunakan GetTemporaryDataLocationCredentials API, yang menjual kredenSIAL berdasarkan jalur S3.
Anda dapat menggunakan kedua fitur bersama-sama. Ketika keduanya diaktifkan, kredenSIAL FTA diutamakan untuk kueri nama tabel, sementara plugin menangani kueri jalur S3 langsung.
Prasyarat
Sebelum Anda menggunakan Plugin Lake Formation Access Grants, selesaikan langkah-langkah berikut:
-
Siapkan Full Table Access (FTA) untuk lingkungan Amazon EMR Anda. Untuk petunjuk, lihat Mengon figurasi akses tabel lengkap Formasi Danau.
-
Di konsol Lake Formation, daftarkan jalur S3 dengan akun pemilik:
-
Arahkan ke lokasi danau data.
-
Pilih lokasi dan aktifkan jalur Daftar S3 dengan Akun Pemilik.
-
-
Berikan peran runtime izin Lake Formation yang sesuai pada tabel:
-
Untuk membaca data tabel, berikan
SELECTizin penuh peran runtime pada tabel. -
Untuk memodifikasi data tabel, berikan
SUPERizin peran runtime pada tabel.
-
Aktifkan Plugin Danau Formation Access Grants
Untuk mengaktifkan plugin, atur properti konfigurasi S3A berikut di sesi Spark Anda:
| Properti | Default | Deskripsi |
|---|---|---|
fs.s3a.lakeformation.access.grants.enabled |
FALSE |
Mengaktifkan Plugin Danau Formation Access Grants. |
fs.s3a.lakeformation.access.grants.fallback.to.iam |
FALSE |
Mengaktifkan fallback ke S3 Access Grants atau kredentif peran IAM jika Lake Formation menolak akses. |
Perilaku fallback
Ketika fs.s3a.lakeformation.access.grants.fallback.to.iam disetel ketrue, 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 kredenSIAL dalam urutan berikut:
-
Formasi Danau - Plugin memanggil GetTemporaryDataLocationCredentials. Jika Lake Formation memberikan akses, plugin mengembalikan kredenSIAL tersebut.
-
S3 Access Grants — Jika Lake Formation menolak akses, plugin memeriksa apakah S3 Access Grants dapat memberikan kredenSIAL untuk jalur yang diminta. Jika instance S3 Access Grants mencakup jalur dan pemanggil memiliki hibah yang cocok, plugin menggunakan kredenSIAL tersebut.
-
Peran IAM — Jika Lake Formation dan S3 Access Grants menolak akses, plugin akan kembali ke kredentif peran IAM yang dilampirkan ke pekerjaan.
Pertimbangan dan batasan
-
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 penjual kredensi memerlukan pemetaan 1:1 antara tabel dan lokasi S3-nya di Katalog Data AWS Glue.