Cifrado de Amazon EMR en registros de EKS con almacenamiento gestionado - Amazon EMR

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Cifrado de Amazon EMR en registros de EKS con almacenamiento gestionado

En las siguientes secciones, se muestra cómo configurar el cifrado de los registros.

Enable encryption

Para cifrar los registros del almacenamiento gestionado con su propia clave KMS, utilice la siguiente configuración al enviar una ejecución de tareas.

"monitoringConfiguration": { "managedLogs": { "allowAWSToRetainLogs":"ENABLED", "encryptionKeyArn":"KMS key arn" }, "persistentAppUI": "ENABLED" }

La allowAWSToRetainLogs configuración permite AWS conservar los registros del espacio de nombres del sistema cuando se ejecuta un trabajo con el FGAC nativo. La persistentAppUI configuración permite guardar los registros AWS de eventos que se utilizan para generar la interfaz de usuario de Spark. encryptionKeyArnSe usa para especificar el ARN de clave KMS que desea usar para cifrar los registros almacenados en. AWS

Permisos necesarios para el cifrado de registros

El usuario que envíe el trabajo o vea la interfaz de usuario de Spark debe poder realizar las acciones kms:DescribeKey y kms:Decrypt obtener la clave de cifrado. kms:GenerateDataKey Estos permisos se utilizan para verificar la validez de la clave y comprobar que el usuario tiene los permisos necesarios para leer y escribir los registros cifrados con la clave KMS. Si el usuario que envía el trabajo carece de los permisos clave necesarios, Amazon EMR en EKS rechaza el envío de la ejecución del trabajo.

Ejemplo de política de IAM para el rol utilizado para llamar StartJobRun

{ "Version": "2012-10-17", "Statement": [ { "Action": "emr-containers:StartJobRun", "Resource": "*", "Effect": "Allow" }, { "Action": [ "kms:DescribeKey", "kms:Decrypt", "kms:GenerateDataKey" ], "Resource": "KMS key ARN", "Effect": "Allow" } ] }

También debe configurar la clave KMS para permitir que los directores elasticmapreduce.amazonaws.com de servicio puedan persistentappui.elasticmapreduce.amazonaws.com y. kms:GenerateDataKey kms:Decrypt Esto permite a EMR leer y escribir registros cifrados con la clave KMS en el almacenamiento gestionado.

Ejemplo de política de claves de KMS

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "IAM role ARN used to call StartJobRun" }, "Action": "kms:DescribeKey", "Resource": "*", "Condition": { "StringLike": { "kms:viaService": "emr-containers.region.amazonaws.com" } } }, { "Effect": "Allow", "Principal": { "AWS": "IAM role ARN used to call StartJobRun" }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey" ], "Resource": "*", "Condition": { "StringLike": { "kms:viaService": "emr-containers.region.amazonaws.com", "kms:EncryptionContext:aws:emr-containers:virtualClusterId": "virtual cluster id" } } }, { "Effect": "Allow", "Principal": { "Service": [ "persistentappui.elasticmapreduce.amazonaws.com", "elasticmapreduce.amazonaws.com" ] }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey" ], "Resource": "*", "Condition": { "StringLike": { "kms:EncryptionContext:aws:emr-containers:virtualClusterId": "virtual cluster id", "aws:SourceArn": "virtual cluster ARN" } } } ] }

Como práctica recomendada de seguridad, le recomendamos que añada las aws:SourceArn condiciones kms:viaServicekms:EncryptionContext, y. Estas condiciones ayudan a garantizar que Amazon EMR solo utilice la clave en EKS y solo se utilice para los registros generados a partir de trabajos que se ejecutan en un clúster virtual específico.