Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Bagian berikut menunjukkan kepada Anda cara mengonfigurasi enkripsi untuk log.
Aktifkan enkripsi
Untuk mengenkripsi log dalam penyimpanan terkelola dengan kunci KMS Anda sendiri, gunakan konfigurasi berikut saat Anda mengirimkan pekerjaan.
"monitoringConfiguration": { "managedLogs": { "allowAWSToRetainLogs":"ENABLED", "encryptionKeyArn":"
KMS key arn
" }, "persistentAppUI": "ENABLED" }
allowAWSToRetainLogs
Konfigurasi ini memungkinkan AWS untuk mempertahankan log namespace sistem saat menjalankan pekerjaan menggunakan Native FGAC. persistentAppUI
Konfigurasi memungkinkan AWS untuk menyimpan log peristiwa yang digunakan untuk menghasilkan UI Spark. encryptionKeyArn
Ini digunakan untuk menentukan ARN kunci KMS yang ingin Anda gunakan untuk mengenkripsi log yang disimpan oleh. AWS
Izin yang diperlukan untuk enkripsi log
Pengguna yang mengirimkan pekerjaan atau melihat UI Spark harus diizinkan tindakankms:DescribeKey
,kms:GenerateDataKey
, dan kms:Decrypt
untuk kunci enkripsi. Izin ini digunakan untuk memverifikasi validitas kunci dan memeriksa apakah pengguna memiliki izin yang diperlukan untuk membaca dan menulis log yang dienkripsi dengan kunci KMS. Jika pengguna yang mengirimkan pekerjaan tidak memiliki izin kunci yang diperlukan, Amazon EMR di EKS menolak pengiriman job run.
Contoh Kebijakan IAM untuk Peran yang Digunakan untuk Memanggil StartJobRun
{ "Version": "2012-10-17", "Statement": [ { "Action": "emr-containers:StartJobRun", "Resource": "*", "Effect": "Allow" }, { "Action": [ "kms:DescribeKey", "kms:Decrypt", "kms:GenerateDataKey" ], "Resource": "
KMS key ARN
", "Effect": "Allow" } ] }
Anda juga harus mengkonfigurasi kunci KMS untuk mengizinkan persistentappui.elasticmapreduce.amazonaws.com
dan Prinsipal elasticmapreduce.amazonaws.com
Layanan untuk dan. kms:GenerateDataKey
kms:Decrypt
Ini memungkinkan EMR untuk membaca dan menulis log yang dienkripsi dengan kunci KMS ke penyimpanan terkelola.
Contoh Kebijakan Kunci KMS
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "
IAM role ARN used to call StartJobRun
" }, "Action": "kms:DescribeKey", "Resource": "*", "Condition": { "StringLike": { "kms:viaService": "emr-containers.region
.amazonaws.com" } } }, { "Effect": "Allow", "Principal": { "AWS": "IAM role ARN used to call StartJobRun
" }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey" ], "Resource": "*", "Condition": { "StringLike": { "kms:viaService": "emr-containers.region
.amazonaws.com", "kms:EncryptionContext:aws:emr-containers:virtualClusterId": "virtual cluster id
" } } }, { "Effect": "Allow", "Principal": { "Service": [ "persistentappui.elasticmapreduce.amazonaws.com", "elasticmapreduce.amazonaws.com" ] }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey" ], "Resource": "*", "Condition": { "StringLike": { "kms:EncryptionContext:aws:emr-containers:virtualClusterId": "virtual cluster id
", "aws:SourceArn": "virtual cluster ARN
" } } } ] }
Sebagai praktik keamanan terbaik, kami menyarankan Anda menambahkankms:viaService
,kms:EncryptionContext
, dan aws:SourceArn
kondisi. Kondisi ini membantu memastikan kunci hanya digunakan oleh Amazon EMR di EKS dan hanya digunakan untuk log yang dihasilkan dari pekerjaan yang berjalan di cluster virtual tertentu.