로그 암호화
관리형 스토리지를 사용하는 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" } } }
로그 암호화에 필요한 권한
필요한 사용자 권한
작업을 제출하거나 로그 또는 애플리케이션 UI를 보는 사용자는 키를 사용할 권한이 있어야 합니다. 사용자, 그룹 또는 역할에 대한 IAM 정책 또는 KMS 키 정책에서 권한을 지정할 수 있습니다. 작업을 제출하는 사용자에게 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:GenerateDataKey
및 kms: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
:*" ] } }
Amazon CloudWatch에 KMS 권한을 부여하도록 KMS 키 정책을 구성합니다.
{ "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
:*" } } } }