Aktifkan Lake Formation dengan Amazon EMR - Amazon EMR

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

Aktifkan Lake Formation dengan Amazon EMR

Dengan Amazon EMR 6.15.0 dan yang lebih tinggi, saat Anda menjalankan pekerjaan Spark di Amazon EMR EC2 pada klaster yang mengakses data di AWS Katalog Data Glue, Anda AWS Lake Formation dapat menggunakannya untuk menerapkan izin tingkat tabel, baris, kolom, dan sel pada tabel berbasis Hudi, Iceberg, atau Delta Lake.

Di bagian ini, kami membahas cara membuat konfigurasi keamanan dan mengatur Lake Formation untuk bekerja dengan Amazon EMR. Kami juga membahas cara meluncurkan cluster dengan konfigurasi keamanan yang Anda buat untuk Lake Formation.

Langkah 1: Siapkan peran runtime untuk cluster EMR Anda

Untuk menggunakan peran runtime untuk klaster EMR Anda, Anda harus membuat konfigurasi keamanan. Dengan konfigurasi keamanan, Anda dapat menerapkan opsi keamanan, otorisasi, dan otentikasi yang konsisten di seluruh cluster Anda.

  1. Buat file yang disebut lf-runtime-roles-sec-cfg.json dengan konfigurasi keamanan berikut.

    { "AuthorizationConfiguration": { "IAMConfiguration": { "EnableApplicationScopedIAMRole": true, "ApplicationScopedIAMRoleConfiguration": { "PropagateSourceIdentity": true } }, "LakeFormationConfiguration": { "AuthorizedSessionTagValue": "Amazon EMR" } }, "EncryptionConfiguration": { "EnableInTransitEncryption": true, "InTransitEncryptionConfiguration": { "TLSCertificateConfiguration": {<certificate-configuration>} } } }
  2. Selanjutnya, untuk memastikan bahwa tag sesi dapat mengotorisasi Lake Formation, atur LakeFormationConfiguration/AuthorizedSessionTagValue properti keAmazon EMR.

  3. 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.json

    Atau, Anda dapat menggunakan konsol EMR Amazon untuk membuat konfigurasi keamanan dengan pengaturan khusus.

Langkah 2: Luncurkan klaster Amazon EMR

Sekarang Anda siap 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 klaster Amazon EMR danPeran runtime untuk langkah-langkah EMR Amazon.

Langkah 3a: Siapkan izin tingkat tabel berbasis Lake Formation dengan peran runtime Amazon EMR

Jika Anda tidak memerlukan kontrol akses berbutir halus di kolom, baris, atau tingkat sel, Anda dapat mengatur izin tingkat tabel dengan Glue Data Catalog. Untuk mengaktifkan akses tingkat tabel, navigasikan ke AWS Lake Formation konsol dan pilih opsi Pengaturan integrasi aplikasi dari bagian Administrasi di bilah sisi. Kemudian, aktifkan opsi berikut dan pilih Simpan:

Izinkan mesin eksternal mengakses data di lokasi Amazon S3 dengan akses tabel penuh

Pemfilteran data eksternal Lake Formation

Langkah 3b: Siapkan izin kolom, baris, atau tingkat sel berbasis Lake Formation dengan peran runtime Amazon EMR

Untuk menerapkan izin tingkat tabel dan kolom dengan Lake Formation, administrator danau data untuk Lake Formation 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 pemfilteran data eksternal pada konsol Lake Formation. Ganti 123456789012 dengan Akun AWS ID Anda sendiri.

Pemfilteran data eksternal Lake Formation

Langkah 4: Konfigurasikan hibah AWS Glue dan Lake Formation untuk peran runtime Amazon EMR

Untuk melanjutkan penyiapan kontrol akses berbasis Lake Formation dengan peran runtime Amazon EMR, Anda harus mengonfigurasi hibah AWS Glue dan Lake Formation untuk peran runtime Amazon EMR. Untuk memungkinkan peran runtime IAM Anda berinteraksi dengan Lake Formation, beri mereka akses dengan lakeformation:GetDataAccess dan. glue:Get*

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 glue:Get* API. Untuk detail lebih lanjut tentang kontrol akses Lake Formation, lihat ikhtisar kontrol akses Lake Formation.

  1. Buat emr-runtime-roles-lake-formation-policy.json file dengan konten berikut.

    { "Version": "2012-10-17", "Statement": { "Sid": "LakeFormationManagedAccess", "Effect": "Allow", "Action": [ "lakeformation:GetDataAccess", "glue:Get*", "glue:Create*", "glue:Update*" ], "Resource": "*" } }
  2. 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
  3. Untuk menetapkan kebijakan ini ke peran runtime IAM Anda, ikuti langkah-langkah dalam Mengelola izin. AWS Lake Formation

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 selengkapnya, end-to-end lihat Memperkenalkan peran runtime untuk langkah-langkah EMR Amazon.

Untuk informasi tentang cara mengintegrasikan dengan Iceberg dan AWS Glue Data Catalog untuk hierarki multi-katalog, lihat Mengonfigurasi Spark untuk mengakses hierarki multi-katalog di Glue Data Catalog. AWS