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
:
{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": [ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": "
key-arn
" } }
Para iniciar a interface de usuário do Spark ou Tez, você deve conceder aos usuários, grupos ou perfis permissões para acessar a API emr-serverless:GetDashboardForJobRun
da seguinte forma:
{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": [ "emr-serverless:GetDashboardForJobRun" ] } }
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, você deve configurar 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, adicione 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:
{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": [ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": "
key-arn
" } }
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.
{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": [ "logs:AssociateKmsKey" ], "Resource": [ "arn:aws:logs:
Região da AWS
:111122223333
:log-group:my-log-group-name
:*" ] } }
Configure a política de chave do KMS para conceder permissões do KMS ao Amazon CloudWatch:
{ "Version": "2012-10-17", "Id": "key-default-1", "Statement": { "Effect": "Allow", "Principal": { "Service": "logs.
Região da AWS
.amazonaws.com" }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey", ], "Resource": "*", "Condition": { "ArnLike": { "kms:EncryptionContext:aws:logs:arn": "arn:aws:logs:Região da AWS
:111122223333
:*" } } } }