Mengenkripsi log - Amazon EMR

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

Mengenkripsi log

Mengenkripsi log EMR Tanpa Server dengan penyimpanan terkelola

Untuk mengenkripsi log di penyimpanan terkelola dengan KMS kunci Anda sendiri, gunakan managedPersistenceMonitoringConfiguration konfigurasi saat Anda mengirimkan tugas.

{ "monitoringConfiguration": { "managedPersistenceMonitoringConfiguration" : { "encryptionKeyArn": "key-arn" } } }

Mengenkripsi log EMR Tanpa Server dengan bucket Amazon S3

Untuk mengenkripsi log di bucket Amazon S3 Anda dengan kunci Anda KMS sendiri, gunakan s3MonitoringConfiguration konfigurasi saat Anda mengirimkan pekerjaan yang dijalankan.

{ "monitoringConfiguration": { "s3MonitoringConfiguration": { "logUri": "s3://amzn-s3-demo-logging-bucket/logs/", "encryptionKeyArn": "key-arn" } } }

Mengenkripsi log Tanpa EMR Server dengan Amazon CloudWatch

Untuk mengenkripsi log di Amazon CloudWatch dengan KMS kunci Anda sendiri, gunakan cloudWatchLoggingConfiguration konfigurasi saat Anda mengirimkan pekerjaan.

{ "monitoringConfiguration": { "cloudWatchLoggingConfiguration": { "enabled": true, "encryptionKeyArn": "key-arn" } } }

Izin yang diperlukan untuk enkripsi log

Izin pengguna yang diperlukan

Pengguna yang mengirimkan pekerjaan atau melihat log atau aplikasi UIs harus memiliki izin untuk menggunakan kunci. Anda dapat menentukan izin baik dalam kebijakan KMS kunci atau IAM kebijakan untuk pengguna, grup, atau peran. Jika pengguna yang mengirimkan pekerjaan tidak memiliki izin KMS kunci, EMR Serverless menolak pengiriman job run.

Contoh kebijakan kunci

Kebijakan utama berikut memberikan izin untuk kms:GenerateDataKey dankms:Decrypt:

{ "Effect": "Allow", "Principal":{ "AWS": "arn:aws:iam::111122223333:user/user-name" }, "Action": [ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": "*" }

Contoh IAM kebijakan

IAMKebijakan berikut memberikan izin untuk kms:GenerateDataKey dankms:Decrypt:

{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": [ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": "key-arn" } }

Untuk meluncurkan UI Spark atau Tez, Anda harus memberikan izin kepada pengguna, grup, atau peran Anda untuk mengakses sebagai berikut emr-serverless:GetDashboardForJobRunAPI:

{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": [ "emr-serverless:GetDashboardForJobRun" ] } }

Izin kunci enkripsi untuk Amazon S3 dan penyimpanan terkelola

Saat Anda mengenkripsi log dengan kunci enkripsi Anda sendiri baik di penyimpanan terkelola atau di bucket S3 Anda, Anda harus mengonfigurasi izin KMS kunci sebagai berikut.

emr-serverless.amazonaws.com.rproxy.goskope.comKepala sekolah harus memiliki izin berikut dalam kebijakan untuk KMS kunci:

{ "Effect": "Allow", "Principal":{ "Service": "emr-serverless.amazonaws.com" }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey" ], "Resource": "*" "Condition": { "StringLike": { "aws:SourceArn": "arn:aws:emr-serverless:region:aws-account-id:/applications/application-id" } } }

Sebagai praktik keamanan terbaik, kami menyarankan Anda menambahkan kunci aws:SourceArn kondisi ke kebijakan KMS kunci. Kunci kondisi IAM global aws:SourceArn membantu memastikan bahwa EMR Tanpa Server hanya menggunakan KMS kunci untuk aplikasi. ARN

Peran runtime pekerjaan harus memiliki izin berikut dalam kebijakannyaIAM:

{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": [ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": "key-arn" } }

Izin kunci enkripsi untuk Amazon CloudWatch

Untuk mengaitkan KMS kunci ARN ke grup log Anda, gunakan IAM kebijakan berikut untuk peran runtime pekerjaan.

{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": [ "logs:AssociateKmsKey" ], "Resource": [ "arn:aws:logs:Wilayah AWS:111122223333:log-group:my-log-group-name:*" ] } }

Konfigurasikan kebijakan KMS kunci untuk memberikan KMS izin ke Amazon CloudWatch:

{ "Version": "2012-10-17", "Id": "key-default-1", "Statement": { "Effect": "Allow", "Principal": { "Service": "logs.Wilayah AWS.amazonaws.com" }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey", ], "Resource": "*", "Condition": { "ArnLike": { "kms:EncryptionContext:aws:logs:arn": "arn:aws:logs:Wilayah AWS:111122223333:*" } } } }