View a markdown version of this page

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 Serverless dengan penyimpanan terkelola

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

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

Mengenkripsi log Tanpa Server EMR dengan bucket Amazon S3

Untuk mengenkripsi log di bucket Amazon S3 Anda dengan kunci KMS Anda 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 EMR Serverless dengan Amazon CloudWatch

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

{ "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 UI aplikasi harus memiliki izin untuk menggunakan kunci. Anda dapat menentukan izin di kebijakan kunci KMS atau kebijakan IAM untuk pengguna, grup, atau peran. Jika pengguna yang mengirimkan pekerjaan tidak memiliki izin kunci KMS, 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 kebijakan IAM

Kebijakan IAM berikut memberikan izin untuk kms:GenerateDataKey dan: kms:Decrypt

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": [ "arn:aws:kms:*:123456789012:key/12345678-1234-1234-1234-123456789012" ], "Sid": "AllowKMSGeneratedatakey" } ] }

Untuk meluncurkan Spark atau Tez UI, berikan izin pengguna, grup, atau peran Anda untuk mengakses emr-serverless:GetDashboardForJobRun API sebagai berikut:

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "emr-serverless:GetDashboardForJobRun" ], "Resource": [ "*" ], "Sid": "AllowEMRSERVERLESSGetdashboardforjobrun" } ] }

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, konfigurasikan izin kunci KMS sebagai berikut.

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

{ "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 terbaik keamanan, sebaiknya tambahkan kunci aws:SourceArn kondisi ke kebijakan kunci KMS. Kunci kondisi global IAM aws:SourceArn membantu memastikan bahwa EMR Serverless menggunakan kunci KMS hanya untuk ARN aplikasi.

Peran runtime pekerjaan harus memiliki izin berikut dalam kebijakan IAM:

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": [ "arn:aws:kms:*:123456789012:key/12345678-1234-1234-1234-123456789012" ], "Sid": "AllowKMSGeneratedatakey" } ] }

Izin kunci enkripsi untuk Amazon CloudWatch

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

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:AssociateKmsKey" ], "Resource": [ "arn:aws:logs:*:123456789012:log-group:my-log-group-name:*" ], "Sid": "AllowLOGSAssociatekmskey" } ] }

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

JSON
{ "Version":"2012-10-17", "Id": "key-default-1", "Statement": [ { "Effect": "Allow", "Action": [ "kms:Decrypt", "kms:GenerateDataKey" ], "Resource": [ "*" ], "Condition": { "ArnLike": { "kms:EncryptionContext:aws:logs:arn": "arn:aws:logs:*:123456789012:*" } }, "Sid": "AllowKMSDecrypt" } ] }