Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Gambaran Umum
Dengan AWS Glue versi 5.0 dan yang lebih tinggi, Anda dapat memanfaatkan AWS Lake Formation untuk menerapkan kontrol akses berbutir halus pada tabel Katalog Data yang didukung oleh S3. Kemampuan ini memungkinkan Anda mengonfigurasi kontrol akses tingkat tabel, baris, kolom, dan sel untuk read kueri dalam AWS Glue Anda untuk pekerjaan Apache Spark. Lihat bagian berikut untuk mempelajari lebih lanjut tentang Lake Formation dan cara menggunakannya dengan AWS Glue.
GlueContext
kontrol akses tingkat tabel berbasis dengan AWS Lake Formation izin yang didukung di Glue 4.0 atau sebelumnya tidak didukung di Glue 5.0. Gunakan Spark native fine-grained access control (FGAC) baru di Glue 5.0. Perhatikan detail berikut:
Jika Anda memerlukan kontrol akses berbutir halus (FGAC) untuk kontrol row/column/cell akses, Anda harus bermigrasi dari/Glue
GlueContext
di Glue 4.0 dan sebelum kerangka data Spark di DynamicFrame Glue 5.0. Sebagai contoh, lihat Migrasi GlueContext dari/Glue DynamicFrame ke Spark. DataFrameJika Anda memerlukan database/table level access control, you can grant database/table izin untuk peran Anda. Ini melewati kebutuhan untuk bermigrasi dari kerangka data Spark
GlueContext
ke.Jika Anda tidak memerlukan FGAC, maka tidak diperlukan migrasi ke kerangka data Spark dan
GlueContext
fitur seperti bookmark pekerjaan, predikat push down akan terus berfungsi.Pekerjaan dengan FGAC membutuhkan minimal 4 pekerja: satu driver pengguna, satu driver sistem, satu eksekutor sistem, dan satu eksekutor pengguna siaga.
Menggunakan AWS Glue dengan AWS Lake Formation menimbulkan biaya tambahan.
Bagaimana AWS Glue bekerja dengan AWS Lake Formation
Menggunakan AWS Glue dengan Lake Formation memungkinkan Anda menerapkan lapisan izin pada setiap pekerjaan Spark untuk menerapkan kontrol izin Lake Formation saat AWS Glue mengeksekusi pekerjaan. AWS Glue menggunakan profil sumber daya Spark
Berikut ini adalah ikhtisar tingkat tinggi tentang bagaimana AWS Glue mendapatkan akses ke data yang dilindungi oleh kebijakan keamanan Lake Formation.

-
Pengguna memanggil
StartJobRun
API pada pekerjaan AWS Lake Formation-enabled AWS Glue. -
AWS Glue mengirimkan pekerjaan ke driver pengguna dan menjalankan pekerjaan di profil pengguna. Driver pengguna menjalankan versi lean Spark yang tidak memiliki kemampuan untuk meluncurkan tugas, meminta pelaksana, mengakses S3 atau Glue Catalog. Ini membangun rencana kerja.
-
AWS Glue mengatur driver kedua yang disebut driver sistem dan menjalankannya di profil sistem (dengan identitas istimewa). AWS Glue mengatur saluran TLS terenkripsi antara dua driver untuk komunikasi. Driver pengguna menggunakan saluran untuk mengirim rencana pekerjaan ke driver sistem. Driver sistem tidak menjalankan kode yang dikirimkan pengguna. Ini menjalankan Spark penuh dan berkomunikasi dengan S3, dan Katalog Data untuk akses data. Ini meminta pelaksana dan mengkompilasi Job Plan ke dalam urutan tahapan eksekusi.
-
AWS Glue kemudian menjalankan tahapan pada pelaksana dengan driver pengguna atau driver sistem. Kode pengguna dalam tahap apa pun dijalankan secara eksklusif pada pelaksana profil pengguna.
-
Tahapan yang membaca data dari tabel Katalog Data yang dilindungi oleh AWS Lake Formation atau yang menerapkan filter keamanan didelegasikan ke pelaksana sistem.
Persyaratan pekerja minimum
Pekerjaan yang mendukung Lake Formation di AWS Glue membutuhkan minimal 4 pekerja: satu driver pengguna, satu driver sistem, satu pelaksana sistem, dan satu Pelaksana Pengguna siaga. Ini naik dari minimal 2 pekerja yang dibutuhkan untuk pekerjaan AWS Glue standar.
Pekerjaan yang mendukung Lake Formation di AWS Glue menggunakan dua driver Spark — satu untuk profil sistem dan satu lagi untuk profil pengguna. Demikian pula, pelaksana juga dibagi menjadi dua profil:
Pelaksana sistem: menangani tugas di mana filter data Lake Formation diterapkan.
User executors: diminta oleh driver sistem sesuai kebutuhan.
Karena pekerjaan Spark bersifat malas, AWS Glue mencadangkan 10% dari total pekerja (minimal 1), setelah dikurangi dua driver, untuk pelaksana pengguna.
Semua pekerjaan yang mendukung Lake Formation mengaktifkan auto-scaling, yang berarti pelaksana pengguna hanya akan memulai saat diperlukan.
Untuk konfigurasi contoh, lihat Pertimbangan dan batasan.
Izin IAM peran runtime pekerjaan
Izin Lake Formation mengontrol akses ke sumber daya Katalog Data AWS Glue, lokasi Amazon S3, dan data dasar di lokasi tersebut. Izin IAM mengontrol akses ke Lake Formation dan AWS Glue APIs dan sumber daya. Meskipun Anda mungkin memiliki izin Lake Formation untuk mengakses tabel di Katalog Data (SELECT), operasi Anda gagal jika Anda tidak memiliki izin IAM pada operasi glue:Get*
API.
Berikut ini adalah contoh kebijakan tentang cara memberikan izin IAM untuk mengakses skrip di S3, mengunggah log ke S3, izin AWS Glue API, dan izin untuk mengakses Lake Formation.
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "ScriptAccess",
"Effect": "Allow",
"Action": [
"s3:GetObject",
"s3:ListBucket"
],
"Resource": [
"arn:aws:s3:::*.amzn-s3-demo-bucket/scripts",
"arn:aws:s3:::*.amzn-s3-demo-bucket/*" ]
},
{
"Sid": "LoggingAccess",
"Effect": "Allow",
"Action": [
"s3:PutObject"
],
"Resource": [
"arn:aws:s3:::amzn-s3-demo-bucket/logs/*"
]
},
{
"Sid": "GlueCatalogAccess",
"Effect": "Allow",
"Action": [
"glue:Get*",
"glue:Create*",
"glue:Update*"
],
"Resource": ["*"]
},
{
"Sid": "LakeFormationAccess",
"Effect": "Allow",
"Action": [
"lakeformation:GetDataAccess"
],
"Resource": ["*"]
}
]
}
Menyiapkan izin Lake Formation untuk peran runtime pekerjaan
Pertama, daftarkan lokasi meja Hive Anda dengan Lake Formation. Kemudian buat izin untuk peran runtime pekerjaan Anda di tabel yang Anda inginkan. Untuk detail lebih lanjut tentang Lake Formation, lihat Apa itu AWS Lake Formation? di Panduan AWS Lake Formation Pengembang.
Setelah Anda mengatur izin Lake Formation, Anda dapat mengirimkan pekerjaan Spark di Glue AWS .
Mengirimkan pekerjaan
Setelah Anda selesai menyiapkan hibah Lake Formation, Anda dapat mengirimkan pekerjaan Spark di Glue AWS . Untuk menjalankan pekerjaan Iceberg, Anda harus menyediakan konfigurasi Spark berikut. Untuk mengkonfigurasi melalui parameter pekerjaan Glue, letakkan parameter berikut:
Kunci:
--conf
Nilai:
spark.sql.catalog.spark_catalog=org.apache.iceberg.spark.SparkSessionCatalog --conf spark.sql.catalog.spark_catalog.warehouse=<S3_DATA_LOCATION> --conf spark.sql.catalog.spark_catalog.glue.account-id=<
ACCOUNT_ID
> --conf spark.sql.catalog.spark_catalog.client.region=<REGION
> --conf spark.sql.catalog.spark_catalog.glue.endpoint=https://glue.<REGION
>.amazonaws.com
Dukungan format meja terbuka
AWS Glue versi 5.0 atau yang lebih baru mencakup dukungan untuk kontrol akses berbutir halus berdasarkan Lake Formation. AWS Glue mendukung jenis tabel Hive dan Iceberg. Tabel berikut menjelaskan semua operasi yang didukung.
Operasi | Hive | Gunung es |
---|---|---|
Perintah DDL | Hanya dengan izin peran IAM | Hanya dengan izin peran IAM |
Kueri tambahan | Tidak berlaku | Sepenuhnya didukung |
Pertanyaan perjalanan waktu | Tidak berlaku untuk format tabel ini | Sepenuhnya didukung |
Tabel metadata | Tidak berlaku untuk format tabel ini | Didukung, tetapi tabel tertentu disembunyikan. Lihat pertimbangan dan batasan untuk informasi lebih lanjut. |
DML INSERT |
Hanya dengan izin IAM | Hanya dengan izin IAM |
PEMUTAKHIRAN DML | Tidak berlaku untuk format tabel ini | Hanya dengan izin IAM |
DML DELETE |
Tidak berlaku untuk format tabel ini | Hanya dengan izin IAM |
Operasi baca | Sepenuhnya didukung | Sepenuhnya didukung |
Prosedur tersimpan | Tidak berlaku | Didukung dengan pengecualian register_table danmigrate . Lihat pertimbangan dan batasan untuk informasi lebih lanjut. |