Cifrado de registros - Amazon EMR

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

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:*" } } } }