Criptografando o Amazon EMR em registros do EKS com armazenamento gerenciado - Amazon EMR

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Criptografando o Amazon EMR em registros do EKS com armazenamento gerenciado

As seções a seguir mostram como configurar a criptografia para registros.

Habilitar criptografia

Para criptografar registros no armazenamento gerenciado com sua própria chave KMS, use a configuração a seguir ao enviar uma execução de trabalho.

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

A allowAWSToRetainLogs configuração permite AWS reter os registros do namespace do sistema ao executar um trabalho usando o FGAC nativo. A persistentAppUI configuração permite AWS salvar registros de eventos que são usados para gerar a interface do usuário do Spark. O encryptionKeyArn é usado para especificar o ARN da chave KMS que você deseja usar para criptografar os registros armazenados. AWS

Permissões necessárias para criptografia de logs

O usuário que envia o trabalho ou visualiza a interface do usuário do Spark deve ter permissão kms:Decrypt para realizar as ações e kms:DescribeKey receber kms:GenerateDataKey a chave de criptografia. Essas permissões são usadas para verificar a validade da chave e verificar se o usuário tem as permissões necessárias para ler e gravar registros criptografados com a chave KMS. Se o usuário que envia o trabalho não tiver as permissões de chave necessárias, o Amazon EMR no EKS rejeitará o envio da execução do trabalho.

Exemplo de política do IAM para a função usada para chamar 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" } ] }

Você também deve configurar a chave KMS para permitir que persistentappui.elasticmapreduce.amazonaws.com os diretores elasticmapreduce.amazonaws.com de serviço e. kms:GenerateDataKey kms:Decrypt Isso permite que o EMR leia e grave registros criptografados com a chave KMS no armazenamento gerenciado.

Exemplo de política de chaves do 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ática recomendada de segurança, recomendamos que você adicione as aws:SourceArn condições kms:viaServicekms:EncryptionContext, e. Essas condições ajudam a garantir que a chave seja usada somente pelo Amazon EMR no EKS e usada somente para registros gerados a partir de trabalhos executados em um cluster virtual específico.