Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Membuat konfigurasi keamanan
Topik ini mencakup prosedur umum untuk membuat konfigurasi keamanan dengan konsol EMR Amazon dan AWS CLI, diikuti dengan referensi untuk parameter yang terdiri dari enkripsi, otentikasi, dan peran IAM untuk EMRFS. Untuk informasi lebih lanjut tentang izin, lihat topik berikut:
Untuk membuat konfigurasi keamanan menggunakan konsol
Buka konsol Amazon EMR di https://console.aws.amazon.com/emr
. -
Di panel navigasi, memilih Konfigurasi Keamanan, Buat konfigurasi keamanan.
-
Ketik Nama untuk konfigurasi keamanan.
-
Memilih opsi untuk Enkripsi dan Autentikasi seperti yang dijelaskan pada bagian di bawah dan versi terbaru memilih Buat.
Untuk membuat konfigurasi keamanan menggunakan AWS CLI
-
Gunakan perintah
create-security-configuration
seperti pada contoh berikut.-
Untuk
SecConfigName
, tentukan nama konfigurasi keamanan. Ini adalah nama yang Anda tentukan saat Anda membuat sebuah klaster yang menggunakan konfigurasi keamanan ini. -
Untuk
, tentukan struktur JSON inline atau jalur ke file JSON lokal, sepertiSecConfigDef
. Parameter JSON menentukan pilihan untuk Enkripsi, IAM role untuk akses EMRFS ke Amazon S3, dan Autentikasi seperti yang dijelaskan pada bagian di bawah ini.file://MySecConfig.json
aws emr create-security-configuration --name "
SecConfigName
" --security-configurationSecConfigDef
-
Konfigurasi enkripsi data
Sebelum Anda mengonfigurasi enkripsi di konfigurasi keamanan, buat kunci dan sertifikat yang digunakan untuk enkripsi. Untuk informasi lebih lanjut, lihat Menyediakan kunci untuk mengenkripsi data at rest dengan Amazon EMR dan Memberikan sertifikat untuk mengenkripsi data dalam transit dengan enkripsi Amazon EMR.
Bila Anda membuat konfigurasi keamanan, Anda menentukan dua rangkaian opsi enkripsi: enkripsi data yang tersisa dan enkripsi data dalam transit. Pilihan untuk enkripsi data yang tersisa mencakup Amazon S3 dengan EMRFS dan enkripsi disk lokal. Opsi enkripsi dalam transit mengaktifkan fitur enkripsi sumber terbuka untuk aplikasi tertentu yang mendukung Keamanan Lapisan Pengangkutan (TLS). Pilihan saat istirahat dan opsi dalam transit dapat diaktifkan secara bersamaan atau terpisah. Untuk informasi selengkapnya, lihat Enkripsi data at rest dan dalam transit.
catatan
Saat Anda menggunakan AWS KMS, biaya berlaku untuk penyimpanan dan penggunaan kunci enkripsi. Untuk informasi lebih lanjut, lihat AWS KMS Harga
Menentukan opsi enkripsi menggunakan konsol
Memilih opsi di bawah Enkripsi sesuai dengan panduan berikut.
-
Memilih opsi di bawah Enkripsi saat diam untuk mengenkripsi data yang tersimpan di sistem file.
Anda dapat memilih untuk mengenkripsi data di Amazon S3, disk lokal, atau keduanya.
-
Di bawah Enkripsi data S3, untuk Mode enkripsi memilih nilai untuk menentukan bagaimana Amazon EMR mengenkripsi data Amazon S3 dengan EMRFS.
Apa yang Anda lakukan selanjutnya tergantung pada mode enkripsi yang Anda pilih:
-
SSE-S3
Tentukan Enkripsi sisi server dengan kunci enkripsi yang dikelola Amazon S3. Anda tidak perlu melakukan apa pun lagi karena Amazon S3 menangani kunci untuk Anda.
-
SSE-KMS atau CSE-KMS
Menentukan enkripsi sisi server dengan kunci AWS KMS-managed (SSE-KMS) atau enkripsi sisi klien dengan kunci -managed (CSE-KMS). AWS KMS Untuk AWS KMS key, pilih satu kunci. Kunci harus ada di wilayah yang sama dengan klaster EMR. Untuk persyaratan utama, lihat Menggunakan AWS KMS keys untuk enkripsi.
-
CSE-kustom
Menentukan enkripsi sisi klien menggunakan kunci root sisi klien kustom (CSE-Custom). Untuk objek S3, masukkan lokasi di Amazon S3, atau Amazon S3 ARN, file JAR penyedia kunci kustom Anda. Kemudian, untuk kelas penyedia kunci, masukkan nama kelas lengkap dari kelas yang dideklarasikan dalam aplikasi Anda yang mengimplementasikan EncryptionMaterialsProvider antarmuka.
-
-
Di bawah Enkripsi disk lokal, memilih nilai untuk Tipe penyedia kunci.
-
AWS KMS key
Pilih opsi ini untuk menentukan file AWS KMS key. Untuk AWS KMS key, pilih satu kunci. Kunci harus ada di wilayah yang sama dengan klaster EMR. Untuk informasi lebih lanjut tentang kunci yang diperlukan, lihat Menggunakan AWS KMS keys untuk enkripsi.
Enkripsi EBS
Ketika Anda menentukan AWS KMS sebagai penyedia kunci Anda, Anda dapat mengaktifkan enkripsi EBS untuk mengenkripsi perangkat root EBS dan volume penyimpanan. Untuk mengaktifkan opsi tersebut, Anda harus memberikan peran layanan EMR Amazon
EMR_DefaultRole
dengan izin untuk menggunakan AWS KMS key yang Anda tentukan. Untuk informasi lebih lanjut tentang kunci yang diperlukan, lihat Mengaktifkan enkripsi EBS dengan memberikan izin tambahan untuk kunci KMS. -
Kustom
Memilih opsi ini untuk menentukan penyedia kunci kustom. Untuk objek S3, masukkan lokasi di Amazon S3, atau Amazon S3 ARN, file JAR penyedia kunci kustom Anda. Untuk kelas penyedia Key, masukkan nama kelas lengkap dari kelas yang dideklarasikan dalam aplikasi Anda yang mengimplementasikan EncryptionMaterialsProvider antarmuka. Nama kelas yang Anda berikan di sini harus berbeda dari nama kelas yang disediakan untuk CSE-Custom.
-
-
Memilih Enkripsi dalam transit untuk mengaktifkan fitur enkripsi TLS sumber terbuka untuk data dalam transit. Memilih Tipe penyedia sertifikat menurut panduan berikut:
-
PEM
Memilih opsi ini untuk menggunakan file PEM yang Anda berikan di file zip. Dua artefak diperlukan di file zip: privateKey.pem dan certificateChain.pem. File ketiga, trustedCertificates.pem, adalah opsional. Lihat Memberikan sertifikat untuk mengenkripsi data dalam transit dengan enkripsi Amazon EMR untuk detail. Untuk objek S3, tentukan lokasi di Amazon S3, atau Amazon S3 ARN, bidang file zip.
-
Kustom
Memilih opsi ini untuk menentukan penyedia sertifikat kustom dan versi terbaru, untuk objek S3, masukkan lokasi di Amazon S3, atau Amazon S3 ARN, file JAR penyedia sertifikat kustom Anda. Untuk kelas penyedia Key, masukkan nama kelas lengkap dari kelas yang dideklarasikan dalam aplikasi Anda yang mengimplementasikan antarmuka TLSArtifactsProvider .
-
Menentukan opsi enkripsi menggunakan AWS CLI
Bagian yang mengikuti skenario penggunaan sampel untuk mengcitrakan JSON --security-configuration yang dibentuk dengan baik untuk konfigurasi yang berbeda dan penyedia kunci, diikuti dengan referensi untuk parameter JSON dan nilai-nilai yang sesuai.
Contoh opsi enkripsi data dalam transit
Contoh berikut menggambarkan skenario berikut:
-
Enkripsi data dalam transit diaktifkan dan enkripsi data yang tidak aktif dinonaktifkan.
-
Sebuah file zip dengan sertifikat di Amazon S3 digunakan sebagai penyedia kunci (lihat Memberikan sertifikat untuk mengenkripsi data dalam transit dengan enkripsi Amazon EMR untuk persyaratan sertifikat.
aws emr create-security-configuration --name "MySecConfig" --security-configuration '{ "EncryptionConfiguration": { "EnableInTransitEncryption": true, "EnableAtRestEncryption": false, "InTransitEncryptionConfiguration": { "TLSCertificateConfiguration": { "CertificateProviderType": "PEM", "S3Object": "s3://MyConfigStore/artifacts/MyCerts.zip" } } } }'
Contoh berikut menggambarkan skenario berikut:
-
Enkripsi data dalam transit diaktifkan dan enkripsi data yang tidak aktif dinonaktifkan.
-
Sebuah penyedia kunci kustom digunakan (lihat Memberikan sertifikat untuk mengenkripsi data dalam transit dengan enkripsi Amazon EMR untuk persyaratan sertifikat).
aws emr create-security-configuration --name "MySecConfig" --security-configuration '{ "EncryptionConfiguration": { "EnableInTransitEncryption": true, "EnableAtRestEncryption": false, "InTransitEncryptionConfiguration": { "TLSCertificateConfiguration": { "CertificateProviderType": "Custom", "S3Object": "s3://MyConfig/artifacts/MyCerts.jar", "CertificateProviderClass": "com.mycompany.MyCertProvider" } } } }'
Contoh opsi enkripsi data yang tersisa
Contoh berikut menggambarkan skenario berikut:
-
Enkripsi data dalam transit dinonaktifkan dan enkripsi data yang tidak aktif diaktifkan.
-
SSE-S3 digunakan untuk enkripsi Amazon S3.
-
Enkripsi disk lokal digunakan AWS KMS sebagai penyedia kunci.
aws emr create-security-configuration --name "MySecConfig" --security-configuration '{ "EncryptionConfiguration": { "EnableInTransitEncryption": false, "EnableAtRestEncryption": true, "AtRestEncryptionConfiguration": { "S3EncryptionConfiguration": { "EncryptionMode": "SSE-S3" }, "LocalDiskEncryptionConfiguration": { "EncryptionKeyProviderType": "AwsKms", "AwsKmsKey": "arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012" } } } }'
Contoh berikut menggambarkan skenario berikut:
-
Enkripsi data dalam transit diaktifkan dan referensi file zip dengan sertifikat PEM di Amazon S3, menggunakan ARN.
-
SSE-KMS digunakan untuk enkripsi Amazon S3.
-
Enkripsi disk lokal digunakan AWS KMS sebagai penyedia kunci.
aws emr create-security-configuration --name "MySecConfig" --security-configuration '{ "EncryptionConfiguration": { "EnableInTransitEncryption": true, "EnableAtRestEncryption": true, "InTransitEncryptionConfiguration": { "TLSCertificateConfiguration": { "CertificateProviderType": "PEM", "S3Object": "arn:aws:s3:::MyConfigStore/artifacts/MyCerts.zip" } }, "AtRestEncryptionConfiguration": { "S3EncryptionConfiguration": { "EncryptionMode": "SSE-KMS", "AwsKmsKey": "arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012" }, "LocalDiskEncryptionConfiguration": { "EncryptionKeyProviderType": "AwsKms", "AwsKmsKey": "arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012" } } } }'
Contoh berikut menggambarkan skenario berikut:
-
Enkripsi data dalam transit diaktifkan dan referensi file zip dengan sertifikat PEM di Amazon S3.
-
CSE-KMS digunakan untuk enkripsi Amazon S3.
-
Enkripsi disk lokal menggunakan penyedia kunci kustom yang direferensikan oleh ARN.
aws emr create-security-configuration --name "MySecConfig" --security-configuration '{ "EncryptionConfiguration": { "EnableInTransitEncryption": true, "EnableAtRestEncryption": true, "InTransitEncryptionConfiguration": { "TLSCertificateConfiguration": { "CertificateProviderType": "PEM", "S3Object": "s3://MyConfigStore/artifacts/MyCerts.zip" } }, "AtRestEncryptionConfiguration": { "S3EncryptionConfiguration": { "EncryptionMode": "CSE-KMS", "AwsKmsKey": "arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012" }, "LocalDiskEncryptionConfiguration": { "EncryptionKeyProviderType": "Custom", "S3Object": "arn:aws:s3:::artifacts/MyKeyProvider.jar", "EncryptionKeyProviderClass": "com.mycompany.MyKeyProvider" } } } }'
Contoh berikut menggambarkan skenario berikut:
-
Enkripsi data dalam transit diaktifkan dengan penyedia kunci kustom.
-
CSE-Custom digunakan untuk data Amazon S3.
-
Enkripsi disk lokal menggunakan penyedia kunci kustom.
aws emr create-security-configuration --name "MySecConfig" --security-configuration '{ "EncryptionConfiguration": { "EnableInTransitEncryption": "true", "EnableAtRestEncryption": "true", "InTransitEncryptionConfiguration": { "TLSCertificateConfiguration": { "CertificateProviderType": "Custom", "S3Object": "s3://MyConfig/artifacts/MyCerts.jar", "CertificateProviderClass": "com.mycompany.MyCertProvider" } }, "AtRestEncryptionConfiguration": { "S3EncryptionConfiguration": { "EncryptionMode": "CSE-Custom", "S3Object": "s3://MyConfig/artifacts/MyCerts.jar", "EncryptionKeyProviderClass": "com.mycompany.MyKeyProvider" }, "LocalDiskEncryptionConfiguration": { "EncryptionKeyProviderType": "Custom", "S3Object": "s3://MyConfig/artifacts/MyCerts.jar", "EncryptionKeyProviderClass": "com.mycompany.MyKeyProvider" } } } }'
Contoh berikut menggambarkan skenario berikut:
-
Enkripsi data dalam transit dinonaktifkan dan enkripsi data yang tidak aktif diaktifkan.
-
Enkripsi Amazon S3 diaktifkan dengan SSE-KMS.
-
Beberapa AWS KMS kunci digunakan, satu per setiap bucket S3, dan pengecualian enkripsi diterapkan ke bucket S3 individual ini.
-
Enkripsi disk lokal dinonaktifkan.
aws emr create-security-configuration --name "MySecConfig" --security-configuration '{ "EncryptionConfiguration": { "AtRestEncryptionConfiguration": { "S3EncryptionConfiguration": { "EncryptionMode": "SSE-KMS", "AwsKmsKey": "arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012", "Overrides": [ { "BucketName": "sse-s3-bucket-name", "EncryptionMode": "SSE-S3" }, { "BucketName": "cse-kms-bucket-name", "EncryptionMode": "CSE-KMS", "AwsKmsKey": "arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012" }, { "BucketName": "sse-kms-bucket-name", "EncryptionMode": "SSE-KMS", "AwsKmsKey": "arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012" } ] } }, "EnableInTransitEncryption": false, "EnableAtRestEncryption": true } }'
Contoh berikut menggambarkan skenario berikut:
-
Enkripsi data dalam transit dinonaktifkan dan enkripsi data yang tidak aktif diaktifkan.
-
Enkripsi Amazon S3 diaktifkan dengan SSE-S3 dan enkripsi disk lokal dinonaktifkan.
aws emr create-security-configuration --name "MyS3EncryptionConfig" --security-configuration '{ "EncryptionConfiguration": { "EnableInTransitEncryption": false, "EnableAtRestEncryption": true, "AtRestEncryptionConfiguration": { "S3EncryptionConfiguration": { "EncryptionMode": "SSE-S3" } } } }'
Contoh berikut menggambarkan skenario berikut:
-
Enkripsi data dalam transit dinonaktifkan dan enkripsi data yang tidak aktif diaktifkan.
-
Enkripsi disk lokal diaktifkan AWS KMS sebagai penyedia kunci dan enkripsi Amazon S3 dinonaktifkan.
aws emr create-security-configuration --name "MyLocalDiskEncryptionConfig" --security-configuration '{ "EncryptionConfiguration": { "EnableInTransitEncryption": false, "EnableAtRestEncryption": true, "AtRestEncryptionConfiguration": { "LocalDiskEncryptionConfiguration": { "EncryptionKeyProviderType": "AwsKms", "AwsKmsKey": "arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012" } } } }'
Contoh berikut menggambarkan skenario berikut:
-
Enkripsi data dalam transit dinonaktifkan dan enkripsi data yang tidak aktif diaktifkan.
-
Enkripsi disk lokal diaktifkan AWS KMS sebagai penyedia kunci dan enkripsi Amazon S3 dinonaktifkan.
-
Enkripsi EBS diaktifkan.
aws emr create-security-configuration --name "MyLocalDiskEncryptionConfig" --security-configuration '{ "EncryptionConfiguration": { "EnableInTransitEncryption": false, "EnableAtRestEncryption": true, "AtRestEncryptionConfiguration": { "LocalDiskEncryptionConfiguration": { "EnableEbsEncryption": true, "EncryptionKeyProviderType": "AwsKms", "AwsKmsKey": "arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012" } } } }'
Contoh berikut menggambarkan skenario berikut:
SSE-EMR-WAL digunakan untuk enkripsi EMR WAL
aws emr create-security-configuration --name "MySecConfig" \ --security-configuration '{ "EncryptionConfiguration": { "EMRWALEncryptionConfiguration":{ }, "EnableInTransitEncryption":false, "EnableAtRestEncryption":false } }'
EnableInTransitEncryption
dan EnableAtRestEncryption
masih bisa benar, jika ingin mengaktifkan enkripsi terkait.
Contoh berikut menggambarkan skenario berikut:
SSE-KMS-WAL digunakan untuk enkripsi EMR WAL
Enkripsi sisi server digunakan AWS Key Management Service sebagai penyedia kunci
aws emr create-security-configuration --name "MySecConfig" \ --security-configuration '{ "EncryptionConfiguration": { "EMRWALEncryptionConfiguration":{ "AwsKmsKey":"arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012" }, "EnableInTransitEncryption":false, "EnableAtRestEncryption":false } }'
EnableInTransitEncryption
dan EnableAtRestEncryption
masih bisa benar, jika ingin mengaktifkan enkripsi terkait.
Referensi JSON untuk pengaturan enkripsi
Tabel berikut mencantumkan parameter JSON untuk pengaturan enkripsi dan memberikan Deskripsi nilai yang dapat diterima untuk setiap parameter.
Parameter | Deskripsi |
---|---|
"EnableInTransitEncryption" :
true | false |
Tentukan true untuk mengaktifkan enkripsi dalam transit dan false menonaktifkannya. Jika dihilangkan, false diasumsikan, dan enkripsi dalam transit dinonaktifkan. |
"EnableAtRestEncryption": true |
false |
Tentukan true untuk mengaktifkan enkripsi saat istirahat dan false menonaktifkannya. Jika dihilangkan, false diasumsikan dan enkripsi saat istirahat dinonaktifkan. |
Parameter enkripsi dalam transit | |
"InTransitEncryptionConfiguration" : |
Menentukan koleksi nilai-nilai yang digunakan untuk mengkonfigurasi enkripsi in-transit ketikaEnableInTransitEncryption . true |
"CertificateProviderType": "PEM" |
"Custom" |
Menentukan apakah akan menggunakan PEM sertifikat direferensikan dengan file zip, atau penyedia sertifikatCustom . Jika PEM ditentukan, S3Object harus menjadi referensi ke lokasi di Amazon S3 dari file zip yang berisi sertifikat. Jika Kustom ditentukan, S3Object harus menjadi referensi ke lokasi di Amazon S3 dari file JAR, diikuti dengan entri. CertificateProviderClass |
"S3Object" :
" |
" |
Menyediakan lokasi di Amazon S3 ke file zip saat PEM ditentukan, atau ke file JAR saat Custom ditentukan. Formatnya bisa berupa jalur (misalnya,s3://MyConfig/artifacts/CertFiles.zip ) atau ARN (misalnya,. arn:aws:s3:::Code/MyCertProvider.jar) Jika file zip ditentukan, itu harus berisi file bernama persis privateKey.pem dancertificateChain.pem . File bernama trustedCertificates.pem adalah opsional. |
"CertificateProviderClass" :
" |
Diperlukan hanya jika Custom ditentukan untukCertificateProviderType . menentukan nama kelas lengkap dideklarasikan dalam file JAR, yang mengimplementasikan antarmuka ArtifactsProvider TLS. Misalnya, com.mycompany.MyCertProvider . |
Parameter enkripsi AT-rest | |
"AtRestEncryptionConfiguration" : |
Menentukan kumpulan nilai untuk enkripsi saat EnableAtRestEncryption istirahattrue , termasuk enkripsi Amazon S3 dan enkripsi disk lokal. |
Parameter enkripsi Amazon S3 | |
"S3EncryptionConfiguration" : |
Menentukan kumpulan nilai yang digunakan untuk enkripsi Amazon S3 dengan Amazon EMR File System (EMRFS). |
"EncryptionMode" : "SSE-S3" |
"SSE-KMS" | "CSE-KMS" |
"CSE-Custom" |
Menentukan jenis enkripsi Amazon S3 yang akan digunakan. Jika SSE-S3 ditentukan, tidak diperlukan nilai enkripsi Amazon S3 lebih lanjut. Jika salah satu SSE-KMS atau CSE-KMS ditentukan, AWS KMS key ARN harus ditentukan sebagai nilai. AwsKmsKey Jika CSE-Custom ditentukan, S3Object dan EncryptionKeyProviderClass nilai harus ditentukan. |
"AwsKmsKey" :
" |
Diperlukan hanya ketika salah satu SSE-KMS atau CSE-KMS ditentukan untukEncryptionMode . harus ARN yang ditentukan sepenuhnya ke kunci (misalnya,arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012 ). |
"S3Object" :
" |
Diperlukan hanya ketika CSE-Custom ditentukan untukCertificateProviderType . menyediakan lokasi di Amazon S3 ke file JAR. Formatnya bisa berupa jalur (misalnya,s3://MyConfig/artifacts/MyKeyProvider.jar ) atau ARN (misalnya,. arn:aws:s3:::Code/MyKeyProvider.jar) |
"EncryptionKeyProviderClass" :
" |
Diperlukan hanya ketika CSE-Custom ditentukan untukEncryptionMode . menentukan nama kelas lengkap dari kelas yang dideklarasikan dalam aplikasi yang mengimplementasikan EncryptionMaterialsProvider antarmuka; misalnya,.
|
Parameter enkripsi disk lokal | |
"LocalDiskEncryptionConfiguration" |
Menentukan penyedia kunci dan nilai-nilai yang sesuai untuk digunakan untuk enkripsi disk lokal. |
"EnableEbsEncryption": |
Tentukan true untuk mengaktifkan enkripsi EBS. Enkripsi EBS mengenkripsi volume perangkat root EBS dan volume penyimpanan yang terpasang. Untuk menggunakan enkripsi EBS, Anda harus menentukan AwsKms sebagai enkripsi AndaEncryptionKeyProviderType . |
"EncryptionKeyProviderType": "AwsKms" |
"Custom" |
Menentukan penyedia kunci. Jika AwsKms ditentukan, ARN kunci KMS harus ditentukan sebagai AwsKmsKey nilai. Jika Custom ditentukan, S3Object dan EncryptionKeyProviderClass nilai harus ditentukan. |
"AwsKmsKey :
" |
Diperlukan hanya ketika AwsKms ditentukan untukType . harus ARN yang ditentukan sepenuhnya ke kunci (misalnya,arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-456789012123 ). |
"S3Object" :
" |
Diperlukan hanya ketika CSE-Custom ditentukan untukCertificateProviderType . menyediakan lokasi di Amazon S3 ke file JAR. Formatnya bisa berupa jalur (misalnya,s3://MyConfig/artifacts/MyKeyProvider.jar ) atau ARN (misalnya,. arn:aws:s3:::Code/MyKeyProvider.jar) |
|
Diperlukan hanya ketika Custom ditentukan untukType . menentukan nama kelas lengkap dari kelas yang dideklarasikan dalam aplikasi yang mengimplementasikan EncryptionMaterialsProvider antarmuka; misalnya,.
|
Parameter enkripsi EMR WAL | |
"EMRWALEncryptionConfiguration"
|
Menentukan nilai untuk enkripsi EMR WAL. |
"AwsKmsKey"
|
Menentukan CMK Key Id Arn. |
mengonfigurasi autentikasi Kerberos
Konfigurasi keamanan dengan pengaturan Kerberos hanya dapat digunakan oleh sebuah klaster yang dibuat dengan atribut Kerberos atau kesalahan terjadi. Untuk informasi selengkapnya, lihat Gunakan Kerberos untuk otentikasi dengan Amazon EMR. Kerberos hanya tersedia di Amazon EMR versi 5.10.0 dan yang lebih baru.
Menentukan pengaturan Kerberos menggunakan konsol
Memilih opsi di bawah Autentikasi Kerberos menurut panduan berikut.
Parameter | Deskripsi | ||
---|---|---|---|
Kerberos |
Menentukan bahwa Kerberos diaktifkan untuk klaster yang menggunakan konfigurasi keamanan ini. Jika sebuah klaster menggunakan konfigurasi keamanan ini, klaster juga harus memiliki pengaturan Kerberos yang ditentukan atau terjadi kesalahan. |
||
Penyedia |
KDC khusus cluster |
Menentukan bahwa Amazon EMR membuat KDC pada node utama dari setiap cluster yang menggunakan konfigurasi keamanan ini. Anda menentukan nama ranah dan kata sandi admin KDC ketika Anda membuat klaster. Anda dapat referensi KDC ini dari klaster lain, jika diperlukan. Membuat klaster tersebut menggunakan konfigurasi keamanan yang berbeda, menentukan KDC eksternal, dan menggunakan nama ranah dan kata sandi admin KDC yang Anda tentukan untuk KDC khusus klaster. |
|
KDC Eksternal |
Hanya tersedia dengan Amazon EMR 5.20.0 dan yang lebih baru. Menentukan bahwa klaster menggunakan konfigurasi keamanan ini mengautentikasi utama Kerberos menggunakan server KDC di luar klaster. KDC tidak dibuat pada klaster. Ketika Anda membuat klaster, Anda menentukan nama ranah dan kata sandi admin KDC untuk KDC eksternal. |
||
Tiket Seumur Hidup |
Opsional. Menentukan periode tiket Kerberos mana yang valid yang dikeluarkan oleh KDC pada klaster yang menggunakan konfigurasi keamanan ini. Masa pakai tiket terbatas untuk alasan keamanan. Aplikasi klaster dan layanan perpanjangan tiket otomatis setelah mereka kedaluwarsa. Pengguna yang terhubung ke cluster melalui SSH menggunakan kredensyal Kerberos harus menjalankan |
||
Kepercayaan lintas alam |
Menentukan kepercayaan lintas ranah antara KDC khusus klaster pada klaster yang menggunakan konfigurasi keamanan ini dan KDC di ranah Kerberos yang berbeda. Utama (biasanya pengguna) dari ranah lain diautentikasi ke klaster yang menggunakan konfigurasi ini. Konfigurasi tambahan di ranah Kerberos lainnya diperlukan. Untuk informasi selengkapnya, lihat Tutorial: Konfigurasi kepercayaan lintas ranah dengan domain Direktori Aktif. |
||
Properti kepercayaan lintas ranah |
Realm |
Menentukan nama ranah Kerberos dari ranah lain di hubungan kepercayaan. Dengan konvensi, nama ranah Kerberos adalah sama dengan nama domain tetapi semuanya menggunakan huruf kapital. |
|
Domain |
Menentukan nama domain dari ranah lain di hubungan kepercayaan. |
||
Server admin |
Menentukan nama domain yang memenuhi syarat (FQDN) atau alamat IP dari server admin di ranah lain dari hubungan kepercayaan. server admin dan server KDC biasanya berjalan pada mesin yang sama dengan FQDN yang sama, tetapi berkomunikasi pada port yang berbeda. Jika port tidak ditentukan, port 749 digunakan, yang merupakan default Kerberos. Atau, Anda dapat menentukan port (misalnya, |
||
Server KDC |
Menentukan nama domain yang memenuhi syarat (FQDN) atau alamat IP server KDC di ranah lain dari hubungan kepercayaan. Server KDC dan server admin biasanya berjalan pada mesin yang sama dengan FQDN yang sama, tetapi menggunakan port yang berbeda. Jika port tidak ditentukan, port 88 digunakan, yang merupakan default Kerberos. Atau, Anda dapat menentukan port (misalnya, |
||
KDC Eksternal |
Menentukan bahwa klaster eksternal KDC digunakan oleh klaster. |
||
Properti KDC eksternal |
Server admin |
Menentukan nama domain yang memenuhi syarat (FQDN) atau alamat IP dari server admin eksternal. Server admin dan server KDC biasanya berjalan pada mesin yang sama dengan FQDN yang sama, tetapi berkomunikasi pada port yang berbeda. Jika port tidak ditentukan, port 749 digunakan, yang merupakan default Kerberos. Atau, Anda dapat menentukan port (misalnya, |
|
Server KDC |
Menentukan nama domain yang memenuhi syarat (FQDN) dari server KDC eksternal. Server KDC dan server admin biasanya berjalan pada mesin yang sama dengan FQDN yang sama, tetapi menggunakan port yang berbeda. Jika port tidak ditentukan, port 88 digunakan, yang merupakan default Kerberos. Atau, Anda dapat menentukan port (misalnya, |
||
Integrasi Direktori Aktif |
Menentukan bahwa autentikasi utama Kerberos terintegrasi dengan domain Direktori Aktif Microsoft. |
||
Properti integrasi Direktori Aktif |
Ranah Direktori Aktif |
Menentukan nama ranah Kerberos dari domain Direktori Aktif. Dengan konvensi, nama ranah Kerberos biasanya sama dengan nama domain tetapi di huruf kapital semua. |
|
Domain Direktori Aktif |
Menentukan nama domain Direktori Aktif. |
||
Server Direktori Aktif |
Menentukan nama domain yang memenuhi syarat (FQDN) dari pengendali domain Direktori Aktif Microsoft. |
Menentukan pengaturan Kerberos menggunakan AWS CLI
Tabel referensi berikut menunjukkan parameter JSON untuk pengaturan Kerberos di konfigurasi keamanan. Contoh konfigurasi, lihat, Contoh konfigurasi.
Parameter | Deskripsi | |||||
---|---|---|---|---|---|---|
|
Diperlukan untuk Kerberos. Menentukan bahwa konfigurasi autentikasi adalah bagian dari konfigurasi keamanan ini. |
|||||
|
|
Diperlukan untuk Kerberos. Menentukan properti konfigurasi Kerberos. |
||||
|
|
|
||||
"ClusterDedicatedKdcConfiguration": { |
Diperlukan ketika |
|||||
|
Opsional. Menentukan periode tiket Kerberos mana yang valid yang dikeluarkan oleh KDC pada klaster yang menggunakan konfigurasi keamanan ini. Masa pakai tiket terbatas untuk alasan keamanan. Aplikasi klaster dan layanan perpanjangan tiket otomatis setelah mereka kedaluwarsa. Pengguna yang terhubung ke cluster melalui SSH menggunakan kredensyal Kerberos harus menjalankan |
|||||
|
Menentukan kepercayaan lintas ranah antara KDC khusus klaster pada klaster yang menggunakan konfigurasi keamanan ini dan KDC di ranah Kerberos yang berbeda. Utama (biasanya pengguna) dari ranah lain diautentikasi ke klaster yang menggunakan konfigurasi ini. Konfigurasi tambahan di ranah Kerberos lainnya diperlukan. Untuk informasi selengkapnya, lihat Tutorial: Konfigurasi kepercayaan lintas ranah dengan domain Direktori Aktif. |
|||||
|
Menentukan nama ranah Kerberos dari ranah lain di hubungan kepercayaan. Dengan konvensi, nama ranah Kerberos adalah sama dengan nama domain tetapi semuanya menggunakan huruf kapital. |
|||||
|
Menentukan nama domain dari ranah lain di hubungan kepercayaan. |
|||||
|
Menentukan nama domain yang memenuhi syarat (FQDN) atau alamat IP dari server admin di ranah lain dari hubungan kepercayaan. server admin dan server KDC biasanya berjalan pada mesin yang sama dengan FQDN yang sama, tetapi berkomunikasi pada port yang berbeda. Jika port tidak ditentukan, port 749 digunakan, yang merupakan default Kerberos. Atau, Anda dapat menentukan port (misalnya, |
|||||
|
Menentukan nama domain yang memenuhi syarat (FQDN) atau alamat IP server KDC di ranah lain dari hubungan kepercayaan. Server KDC dan server admin biasanya berjalan pada mesin yang sama dengan FQDN yang sama, tetapi menggunakan port yang berbeda. Jika port tidak ditentukan, port 88 digunakan, yang merupakan default Kerberos. Atau, Anda dapat menentukan port (misalnya, |
|||||
|
||||||
|
||||||
"ExternalKdcConfiguration": { |
Diperlukan ketika |
|||||
|
Opsional. Menentukan periode tiket Kerberos mana yang valid yang dikeluarkan oleh KDC pada klaster yang menggunakan konfigurasi keamanan ini. Masa pakai tiket terbatas untuk alasan keamanan. Aplikasi klaster dan layanan perpanjangan tiket otomatis setelah mereka kedaluwarsa. Pengguna yang terhubung ke cluster melalui SSH menggunakan kredensyal Kerberos harus menjalankan |
|||||
|
Menentukan bahwa satu server KDC direferensikan. |
|||||
“AdminServer“:" |
Menentukan nama domain yang memenuhi syarat (FQDN) atau alamat IP dari server admin eksternal. Server admin dan server KDC biasanya berjalan pada mesin yang sama dengan FQDN yang sama, tetapi berkomunikasi pada port yang berbeda. Jika port tidak ditentukan, port 749 digunakan, yang merupakan default Kerberos. Atau, Anda dapat menentukan port (misalnya, |
|||||
“KdcServer“:" |
Menentukan nama domain yang memenuhi syarat (FQDN) dari server KDC eksternal. Server KDC dan server admin biasanya berjalan pada mesin yang sama dengan FQDN yang sama, tetapi menggunakan port yang berbeda. Jika port tidak ditentukan, port 88 digunakan, yang merupakan default Kerberos. Atau, Anda dapat menentukan port (misalnya, |
|||||
|
Menentukan bahwa autentikasi utama Kerberos terintegrasi dengan domain Direktori Aktif Microsoft. |
|||||
|
|
Menentukan nama ranah Kerberos dari domain Direktori Aktif. Dengan konvensi, nama ranah Kerberos biasanya sama dengan nama domain tetapi di huruf kapital semua. |
||||
|
Menentukan nama domain Direktori Aktif. |
|||||
|
Menentukan nama domain yang memenuhi syarat (FQDN) dari pengendali domain Direktori Aktif Microsoft. |
|||||
|
||||||
|
||||||
|
||||||
|
Konfigurasi IAM role untuk permintaan EMRFS ke Amazon S3
IAM role untuk EMRFS mengizinkan Anda untuk memberikan izin yang berbeda untuk data EMRFS di Amazon S3. Anda membuat pemetaan yang menentukan IAM role yang digunakan untuk izin ketika permintaan akses berisi pengidentifikasi yang Anda tentukan. Pengidentifikasi dapat menjadi pengguna atau peran Hadoop, atau prefiks Amazon S3.
Untuk informasi selengkapnya, lihat Konfigurasi IAM role untuk permintaan EMRFS ke Amazon S3.
Menentukan peran IAM untuk EMRFS menggunakan AWS CLI
Berikut ini adalah contoh potongan JSON untuk menentukan IAM role kustom untuk EMRFS di konfigurasi keamanan. Ini menunjukkan pemetaan peran untuk tiga tipe pengidentifikasi yang berbeda, diikuti dengan referensi parameter.
{ "AuthorizationConfiguration": { "EmrFsConfiguration": { "RoleMappings": [{ "Role": "
arn:aws:iam::123456789101:role/allow_EMRFS_access_for_user1
", "IdentifierType": "User", "Identifiers": [ "user1
" ] },{ "Role": "arn:aws:iam::123456789101:role/allow_EMRFS_access_to_MyBuckets
", "IdentifierType": "Prefix", "Identifiers": [ "s3://MyBucket/","s3://MyOtherBucket/
" ] },{ "Role": "arn:aws:iam::123456789101:role/allow_EMRFS_access_for_AdminGroup
", "IdentifierType": "Group", "Identifiers": [ "AdminGroup
" ] }] } } }
Parameter | Deskripsi |
---|---|
|
Diperlukan. |
|
Diperlukan. Berisi pemetaan peran. |
|
Diperlukan. Berisi satu atau lebih definisi peran pemetaan. Pemetaan peran dievaluasi di urutan top-down yang muncul. Jika pemetaan peran mengevaluasi sebagai BETUL untuk panggilan EMRFS untuk data di Amazon S3, tidak ada pemetaan peran lebih lanjut dievaluasi dan EMRFS menggunakan IAM role yang ditentukan untuk permintaan. Pemetaan peran terdiri dari parameter wajib berikut: |
|
Menentukan pengidentifikasi ARN dari IAM role dalam format |
|
Dapat menjadi salah satu dari yang berikut:
|
|
Menentukan satu pengidentifikasi atau lebih dari tipe pengidentifikasi yang sesuai. Pisahkan beberapa pengidentifikasi dengan koma tanpa spasi. |
Konfigurasi permintaan layanan metadata untuk instans Amazon EC2
Metadata instans adalah data tentang instans Anda yang dapat Anda gunakan untuk mengonfigurasi atau mengelola instans yang sedang berjalan. Anda dapat mengakses metadata instans dari instans yang sedang berjalan menggunakan salah satu metode berikut:
-
Layanan Metadata Instans Versi 1 (IMDSv1) - metode permintaan/tanggapan
-
Layanan Metadata Instans Versi 2 (IMDSv2) - metode berorientasi sesi
Sementara Amazon EC2 mendukung IMDSv1 dan IMDSv2, Amazon EMR mendukung IMDSv2 di Amazon EMR 5.23.1, 5.27.1, 5.32 atau yang lebih baru, dan 6.2 atau yang lebih baru. di rilis ini, Amazon EMR komponen menggunakan IMDSv2 untuk semua panggilan IMDS. Untuk panggilan IMDS di kode aplikasi Anda, Anda dapat menggunakan IMDSv1 dan IMDSv2, atau mengonfigurasi IMDS untuk menggunakan hanya IMDSv2 untuk keamanan tambahan. Saat Anda menentukan bahwa IMDSv2 harus digunakan, maka IMDSv1 tidak lagi berfungsi.
Untuk informasi selengkapnya, lihat Mengonfigurasi layanan metadata instans di Panduan Pengguna Amazon EC2.
catatan
Di Amazon EMR rilis 5.x atau 6.x sebelumnya, mematikan IMDSv1 menyebabkan kegagalan startup klaster sebagai Amazon EMR komponen menggunakan IMDSv1 untuk semua panggilan IMDS. Ketika mematikan IMDSv1, pastikan bahwa setiap perangkat lunak kustom yang menggunakan IMDSv1 diperbarui untuk IMDSv2.
Menentukan konfigurasi layanan metadata instans menggunakan AWS CLI
Berikut ini adalah contoh potongan JSON untuk menentukan instans Amazon EC2 metadata service (IMDS) di konfigurasi keamanan. Menggunakan konfigurasi keamanan khusus adalah opsional.
{ "InstanceMetadataServiceConfiguration" : { "MinimumInstanceMetadataServiceVersion": integer, "HttpPutResponseHopLimit": integer } }
Parameter | Deskripsi |
---|---|
|
Jika Anda tidak menentukan IMDS dalam konfigurasi keamanan dan menggunakan rilis EMR Amazon yang memerlukan IMDSv1, Amazon EMR default menggunakan IMDSv1 sebagai versi layanan metadata instans minimum. Jika Anda ingin menggunakan konfigurasi Anda sendiri, kedua parameter berikut diperlukan. |
|
Wajib. Tentukan |
|
Diperlukan. Batas respons hop HTTP PUT yang diinginkan untuk permintaan metadata instans. Semakin besar jumlahnya, permintaan metadata instans lebih lanjut dapat melakukan perjalanan. Default: |
Menentukan konfigurasi layanan metadata instans menggunakan konsol
Anda dapat mengonfigurasi penggunaan IMDS untuk sebuah klaster ketika Anda meluncurkannya dari konsol Amazon EMR.
Untuk mengonfigurasi penggunaan IMDS menggunakan konsol:
-
Saat membuat konfigurasi keamanan baru di halaman Konfigurasi keamananmemilih Konfigurasi layanan metadata Instans EC2 di bawah Pengaturan Layanan Metadata Instans EC2. Konfigurasi ini hanya didukung di Amazon EMR 5.23.1, 5.27.1, 5.32 atau yang lebih baru, dan 6.2 atau yang lebih baru.
-
Untuk opsi Layanan Metadata Instans Versi memilih salah satu:
-
Matikan IMDSv1 dan hanya mengizinkan IMDSv2, jika Anda ingin mengizinkan hanya IMDSv2 pada klaster ini. Lihat Transisi menggunakan layanan metadata instans versi 2 di Panduan Pengguna Amazon EC2.
-
Mengizinkan IMDSv1 dan IMDSv2 di klaster, jika Anda ingin mengizinkan IMDSv1 dan IMDSv2 orientasi sesi pada klaster ini.
-
-
Untuk IMDSv2, Anda juga dapat mengonfigurasi jumlah lompatan jaringan yang diizinkan untuk token metadata dengan pengaturan HTTP menempatkan respon hop batas untuk integer antara
1
dan64
.
Untuk informasi selengkapnya, lihat Mengonfigurasi layanan metadata instans di Panduan Pengguna Amazon EC2.
Lihat Mengonfigurasi detail instans dan Mengonfigurasi layanan metadata instans di Panduan Pengguna Amazon EC2.