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 pada EC2 klaster 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.

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

Langkah 1: Siapkan peran runtime untuk klaster Anda EMR

Untuk menggunakan peran runtime untuk EMR klaster 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 EMR keamanan Amazon.

    aws emr create-security-configuration \ --name 'iamconfig-with-iam-lf' \ --security-configuration file://lf-runtime-roles-sec-cfg.json

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

Langkah 2: Luncurkan EMR cluster Amazon

Sekarang Anda siap meluncurkan EMR cluster dengan konfigurasi keamanan yang Anda buat pada langkah sebelumnya. Untuk informasi selengkapnya tentang konfigurasi keamanan, lihat Menggunakan konfigurasi keamanan untuk mengatur keamanan EMR klaster Amazon danPeran runtime untuk langkah-langkah Amazon EMR.

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 EMR runtime Amazon

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

Izin Lake Formation mengontrol akses ke sumber daya Katalog Data AWS Glue, lokasi Amazon S3, dan data dasar di lokasi tersebut. IAMizin 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 IAM izin pada tabel 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 IAM kebijakan 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 IAM runtime Anda, ikuti langkah-langkah dalam Mengelola 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 selengkapnya end-to-end, lihat Memperkenalkan peran runtime untuk EMR langkah-langkah Amazon.