加密日誌 - Amazon EMR

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

加密日誌

使用受管儲存體加密 EMR Serverless 日誌

若要使用您自己的 KMS 金鑰加密受管儲存體中的日誌,請在提交任務執行時使用 managedPersistenceMonitoringConfiguration 組態。

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

使用 Amazon S3 儲存貯體加密 EMR Serverless 日誌

若要使用您自己的 KMS 金鑰加密 Amazon S3 儲存貯體中的日誌,請在提交任務執行時使用 s3MonitoringConfiguration 組態。

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

使用 Amazon CloudWatch 加密 EMR Serverless 日誌

若要使用您自己的 KMS 金鑰加密 Amazon CloudWatch 中的日誌,請在提交任務執行時使用 cloudWatchLoggingConfiguration 組態。

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

日誌加密的必要許可

必要的使用者許可

提交任務或檢視日誌或應用程式 UIs 的使用者必須具有使用金鑰的許可。您可以在 KMS 金鑰政策或使用者、群組或角色的 IAM 政策中指定許可。如果提交任務的使用者缺少 KMS 金鑰許可,EMR Serverless 會拒絕任務執行提交。

範例金鑰政策

下列金鑰政策提供 kms:GenerateDataKey和 的許可kms:Decrypt

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

IAM 政策範例

下列 IAM 政策提供許可給 kms:GenerateDataKeykms:Decrypt

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

若要啟動 Spark 或 Tez UI,您必須提供使用者、群組或角色存取 emr-serverless:GetDashboardForJobRun API 的許可,如下所示:

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

Amazon S3 和受管儲存體的加密金鑰許可

當您在受管儲存體或 S3 儲存貯體中使用自己的加密金鑰加密日誌時,您必須設定 KMS 金鑰許可,如下所示。

emr-serverless.amazonaws.com 主體在 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" } } }

作為安全最佳實務,建議您將aws:SourceArn條件金鑰新增至 KMS 金鑰政策。IAM 全域條件金鑰aws:SourceArn有助於確保 EMR Serverless 僅針對應用程式 ARN 使用 KMS 金鑰。

任務執行期角色在其 IAM 政策中必須具有下列許可:

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

Amazon CloudWatch 的加密金鑰許可

若要將 KMS 金鑰 ARN 與您的日誌群組建立關聯,請針對任務執行時間角色使用下列 IAM 政策。

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

設定 KMS 金鑰政策,將 KMS 許可授予 Amazon CloudWatch:

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