Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Aktifkan Formasi Danau dengan Amazon EMR
Dengan Amazon EMR 6.15.0 dan yang lebih tinggi, saat menjalankan tugas Spark di Amazon EMR di cluster EC2 yang mengakses data di Katalog Data AWS Glue, Anda dapat menggunakannya AWS Lake Formation untuk menerapkan izin tingkat tabel, baris, kolom, dan sel pada tabel berbasis Hudi, Iceberg, atau Delta Lake.
Pada bagian ini, kami membahas cara membuat konfigurasi keamanan dan mengatur Lake Formation agar bekerja dengan Amazon EMR. Kami juga membahas cara meluncurkan cluster dengan konfigurasi keamanan yang Anda buat untuk Formasi Danau.
Langkah 1: Siapkan peran runtime untuk cluster EMR Anda
Untuk menggunakan peran runtime untuk cluster EMR Anda, Anda harus membuat konfigurasi keamanan. Dengan konfigurasi keamanan, Anda dapat menerapkan opsi keamanan, otorisasi, dan otentikasi yang konsisten di seluruh cluster Anda.
-
Buat file yang di
lf-runtime-roles-sec-cfg.jsonpanggil dengan konfigurasi keamanan berikut.{ "AuthorizationConfiguration": { "IAMConfiguration": { "EnableApplicationScopedIAMRole": true, "ApplicationScopedIAMRoleConfiguration": { "PropagateSourceIdentity": true } }, "LakeFormationConfiguration": { "AuthorizedSessionTagValue": "Amazon EMR" } }, "EncryptionConfiguration": { "EnableAtRestEncryption": false, "EnableInTransitEncryption": true, "InTransitEncryptionConfiguration": { "TLSCertificateConfiguration": {<certificate-configuration>} } } }Contoh di bawah ini menggambarkan cara menggunakan file zip dengan sertifikat di Amazon S3 untuk konfigurasi sertifikat:
-
File zip dengan sertifikat di Amazon S3 digunakan sebagai penyedia kunci. (Lihat Memberikan sertifikat untuk mengenkripsi data dalam transit dengan enkripsi Amazon EMR persyaratan sertifikat.)
"TLSCertificateConfiguration": { "CertificateProviderType": "PEM", "S3Object": "s3://MyConfigStore/artifacts/MyCerts.zip" }Contoh di bawah ini menggambarkan cara menggunakan penyedia kunci khusus untuk konfigurasi sertifikat:
-
Penyedia kunci khusus digunakan. (Lihat Memberikan sertifikat untuk mengenkripsi data dalam transit dengan enkripsi Amazon EMR persyaratan sertifikat.)
"TLSCertificateConfiguration": { "CertificateProviderType": "Custom", "S3Object": "s3://MyConfig/artifacts/MyCerts.jar", "CertificateProviderClass": "com.mycompany.MyCertProvider" } -
-
Selanjutnya, untuk memastikan bahwa tag sesi dapat mengotorisasi Formasi Danau, atur
LakeFormationConfiguration/AuthorizedSessionTagValueproperti keAmazon EMR. -
Gunakan perintah berikut untuk membuat konfigurasi keamanan Amazon EMR.
aws emr create-security-configuration \ --name 'iamconfig-with-iam-lf' \ --security-configuration file://lf-runtime-roles-sec-cfg.jsonAtau, Anda dapat menggunakan konsol Amazon EMR
untuk membuat konfigurasi keamanan dengan pengaturan khusus.
Langkah 2: Luncurkan klaster Amazon EMR
Sekarang Anda siap untuk meluncurkan cluster EMR dengan konfigurasi keamanan yang Anda buat pada langkah sebelumnya. Untuk informasi selengkapnya tentang konfigurasi keamanan, lihat Gunakan konfigurasi keamanan untuk mengatur keamanan cluster Amazon EMR danPeran runtime untuk langkah-langkah Amazon EMR.
Langkah 3: Siapkan izin Formation-based kolom, baris, atau tingkat sel Lake dengan peran runtime Amazon EMR
Untuk menerapkan kontrol akses berbutir halus di tingkat kolom, baris, atau sel dengan Formasi Danau, administrator danau data untuk Formasi Danau harus menetapkan Amazon EMR sebagai nilai untuk konfigurasi tag sesi,. AuthorizedSessionTagValue Lake Formation menggunakan tag sesi ini untuk mengotorisasi penelepon dan menyediakan akses ke danau data. Anda dapat mengatur tag sesi ini di bagian Pengaturan integrasi aplikasi pada konsol Lake Formation. Ganti 123456789012 dengan Akun AWS
ID Anda sendiri.
Gambar berikut menunjukkan bagian pemfilteran data eksternal di konsol Formasi Danau.
Langkah 4: Konfigurasikan AWS Hibah Glue dan Formasi Danau untuk peran runtime Amazon EMR
Untuk melanjutkan penyiapan kontrol akses berbasis Lake Formation dengan peran runtime Amazon EMR, Anda harus mengonfigurasi hibah Glu AWS e dan Lake Formation untuk peran runtime Amazon EMR. Untuk mengizinkan peran runtime IAM Anda berinteraksi dengan Lake Formation, berikan mereka akses dengan lakeformation:GetDataAccess danglue:Get*.
Izin Lake Formation mengontrol akses ke sumber daya Katalog Data AWS Glue, lokasi Amazon S3, dan data yang mendasarinya di lokasi tersebut. Izin IAM mengontrol akses ke API dan sumber daya Lake For AWS mation dan Glue. Meskipun Anda mungkin memiliki izin Lake Formation untuk mengakses tabel di katalog data (SELECT), operasi Anda gagal jika Anda tidak memiliki izin IAM di glue:Get* API. Untuk detail lebih lanjut tentang kontrol akses Formasi Danau, lihat ikh tisar kontrol akses Formasi Danau.
-
Buat
emr-runtime-roles-lake-formation-policy.jsonfile dengan konten berikut. -
Buat kebijakan IAM terkait.
aws iam create-policy \ --policy-name emr-runtime-roles-lake-formation-policy \ --policy-document file://emr-runtime-roles-lake-formation-policy.json -
Untuk menetapkan kebijakan ini ke peran runtime IAM Anda, ikuti langkah-langkah dalam M engelola AWS Lake Formation izin.
Anda sekarang dapat menggunakan peran runtime dan Lake Formation untuk menerapkan izin tingkat tabel dan kolom. Anda juga dapat menggunakan identitas sumber untuk mengontrol tindakan dan memantau operasi dengan AWS CloudTrail.
Untuk setiap peran IAM yang Anda rencanakan untuk digunakan sebagai peran runtime, tetapkan kebijakan kepercayaan berikut, ganti EMR_EC2_DefaultRole dengan peran profil instans Anda. Untuk mengubah kebijakan kepercayaan dari peran IAM, lihat Memo difikasi kebijakan kepercayaan peran.
{ "Sid":"AllowAssumeRole", "Effect":"Allow", "Principal":{ "AWS":"arn:aws:iam::<AWS_ACCOUNT_ID>:role/EMR_EC2_DefaultRole" }, "Action":[ "sts:AssumeRole", "sts:TagSession" ] }
Untuk contoh terperinci dari ujung ke ujung, lihat Memperkenalkan peran runtime untuk langkah-langkah
Untuk informasi tentang cara mengintegrasikan dengan Iceberg dan Katalog Data AWS Glue untuk hierarki multi-katalog, lihat Meng onfigurasi Spark untuk mengakses hierarki multi-katalog di Katalog Data AWS Glue.