Criptografia de logs
Criptografia de logs do EMR Sem Servidor com armazenamento gerenciado
Para criptografar logs no armazenamento gerenciado com sua própria chave do KMS, use a configuração managedPersistenceMonitoringConfiguration ao enviar uma execução de trabalho.
{ "monitoringConfiguration": { "managedPersistenceMonitoringConfiguration" : { "encryptionKeyArn": "key-arn" } } }
Criptografia de logs do EMR Sem Servidor com buckets do Amazon S3
Para criptografar logs no bucket do Amazon S3 com sua própria chave do KMS, use a configuração s3MonitoringConfiguration ao enviar uma execução de trabalho.
{ "monitoringConfiguration": { "s3MonitoringConfiguration": { "logUri": "s3://amzn-s3-demo-logging-bucket/logs/", "encryptionKeyArn": "key-arn" } } }
Criptografia de logs do EMR Sem Servidor com o Amazon CloudWatch
Para criptografar logs no Amazon CloudWatch com sua própria chave do KMS, use a configuração cloudWatchLoggingConfiguration ao enviar uma execução de trabalho.
{ "monitoringConfiguration": { "cloudWatchLoggingConfiguration": { "enabled": true, "encryptionKeyArn": "key-arn" } } }
Permissões necessárias para criptografia de logs
Nesta seção
Permissões obrigatórias do usuário
O usuário que envia o trabalho ou exibe os logs ou as interfaces de usuário da aplicação deve ter permissões para usar a chave. Você pode especificar as permissões na política de chave do KMS ou na política do IAM para o usuário, grupo ou perfil. Se o usuário que envia o trabalho não tiver as permissões da chave do KMS, o EMR Sem Servidor rejeitará o envio da execução do trabalho.
Exemplo de política de chaves
A seguinte política de chave fornece permissões para kms:GenerateDataKey e kms:Decrypt:
{ "Effect": "Allow", "Principal":{ "AWS": "arn:aws:iam::111122223333:user/user-name" }, "Action": [ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": "*" }
Exemplo de política do IAM
A seguinte política do IAM fornece as permissões para kms:GenerateDataKey e kms:Decrypt:
Para iniciar a interface de usuário do Spark ou Tez, conceda aos usuários, grupos ou perfis permissões para acessar a API emr-serverless:GetDashboardForJobRun da seguinte forma:
Permissões de chave de criptografia para Amazon S3 e armazenamento gerenciado
Ao criptografar logs com sua própria chave de criptografia no armazenamento gerenciado ou nos buckets do S3, configure as permissões da chave do KMS da forma a seguir.
A entidade principal do emr-serverless.amazonaws.com deve ter as seguintes permissões na política da chave do 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 uma prática recomendada de segurança, sugerimos adicionar uma chave de condição aws:SourceArn à política de chave do KMS. A chave de condição global do IAM aws:SourceArn ajuda a garantir que o EMR Sem Servidor use a chave do KMS somente para o ARN da aplicação.
O perfil de runtime do trabalho deve ter as seguintes permissões na política do IAM:
Permissões de chave de criptografia do Amazon CloudWatch
Para associar o ARN da chave do KMS ao seu grupo de logs, use a política do IAM a seguir no perfil de runtime do trabalho.
Configure a política de chave do KMS para conceder permissões do KMS ao Amazon CloudWatch: