Cifrado de registros
Cifrado de registros de EMR sin servidor con almacenamiento administrado
Para cifrar los registros del almacenamiento administrado con su propia clave KMS, utilice la configuración managedPersistenceMonitoringConfiguration
al enviar una ejecución de trabajos.
{ "monitoringConfiguration": { "managedPersistenceMonitoringConfiguration" : { "encryptionKeyArn": "
key-arn
" } } }
Cifrado de registros de EMR sin servidor con buckets de Amazon S3
Para cifrar los registros en su bucket de Amazon S3 con su propia clave KMS, utilice la configuración s3MonitoringConfiguration
al enviar una ejecución de trabajos.
{ "monitoringConfiguration": { "s3MonitoringConfiguration": { "logUri": "s3://
amzn-s3-demo-logging-bucket
/logs/", "encryptionKeyArn": "key-arn
" } } }
Cifrado de registros de EMR sin servidor con Amazon CloudWatch
Para cifrar los registros en Amazon CloudWatch con su propia clave KMS, utilice la configuración cloudWatchLoggingConfiguration
al enviar una ejecución de trabajos.
{ "monitoringConfiguration": { "cloudWatchLoggingConfiguration": { "enabled": true, "encryptionKeyArn": "key-arn" } } }
Permisos necesarios para el cifrado de registros
En esta sección
Permisos de usuario necesarios
El usuario que envía el trabajo o ve los registros o las IU de la aplicación debe tener permisos para usar la clave. Puede especificar los permisos en la política de claves de KMS o en la política de IAM para el usuario, el grupo o el rol. Si el usuario que envía el trabajo carece de los permisos clave de KMS, EMR sin servidor rechaza el envío de la ejecución del trabajo.
Política de claves de ejemplo
La siguiente política de claves proporciona los permisos para kms:GenerateDataKey
y kms:Decrypt
:
{ "Effect": "Allow", "Principal":{ "AWS": "arn:aws:iam::
111122223333
:user/user-name
" }, "Action": [ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": "*" }
Política de IAM de ejemplo
La siguiente política de IAM proporciona los permisos para kms:GenerateDataKey
y kms:Decrypt
:
{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": [ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": "
key-arn
" } }
Para lanzar la IU de Spark o Tez, debe conceder a sus usuarios, grupos o roles los siguientes permisos de acceso a la API de emr-serverless:GetDashboardForJobRun
:
{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": [ "emr-serverless:GetDashboardForJobRun" ] } }
Permisos de clave de cifrado para Amazon S3 y almacenamiento administrado
Al cifrar los registros con su propia clave de cifrado en el almacenamiento administrado o en los buckets de S3, debe configurar los permisos de clave de KMS de la siguiente manera.
El emr-serverless.amazonaws.com
principal debe tener los siguientes permisos en la política para la clave de 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
" } } }
Como práctica recomendada de seguridad, le sugerimos que agregue una clave de condición aws:SourceArn
a la política de claves de KMS. La clave de condición global de IAM aws:SourceArn
ayuda a garantizar que EMR sin servidor utilice la clave de KMS solo para un ARN de aplicación.
El rol de tiempo de ejecución del trabajo debe tener los siguientes permisos en su política de IAM:
{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": [ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": "
key-arn
" } }
Permisos de clave de cifrado para Amazon CloudWatch
Para asociar un ARN de clave de KMS a su grupo de registros, utilice la siguiente política de IAM para el rol de tiempo de ejecución del trabajo.
{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": [ "logs:AssociateKmsKey" ], "Resource": [ "arn:aws:logs:
Región de AWS
:111122223333
:log-group:my-log-group-name
:*" ] } }
Configure la política de claves de KMS para conceder permisos de KMS a Amazon CloudWatch:
{ "Version": "2012-10-17", "Id": "key-default-1", "Statement": { "Effect": "Allow", "Principal": { "Service": "logs.
Región de AWS
.amazonaws.com" }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey", ], "Resource": "*", "Condition": { "ArnLike": { "kms:EncryptionContext:aws:logs:arn": "arn:aws:logs:Región de AWS
:111122223333
:*" } } } }