Como usar chaves gerenciadas pelo cliente para criptografia - Amazon Managed Workflows for Apache Airflow

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á.

Como usar chaves gerenciadas pelo cliente para criptografia

Opcionalmente, você pode fornecer uma chave gerenciada pelo cliente para criptografia de dados em seu ambiente. Você deve criar a KMS chave gerenciada pelo cliente na mesma região da sua instância do MWAA ambiente Amazon e do seu bucket do Amazon S3 onde você armazena recursos para seus fluxos de trabalho. Se a KMS chave gerenciada pelo cliente que você especificar estiver em uma conta diferente daquela usada para configurar um ambiente, você deverá especificar a chave usando-a ARN para acesso entre contas. Para obter mais informações sobre como criar chaves, consulte Como criar chaves no Guia do desenvolvedor do AWS Key Management Service .

O que é compatível

AWS KMS recurso Compatível

Um ID de AWS KMS chave ou ARN.

Sim

Um alias de chave AWS KMS.

Não

Uma chave de várias regiões AWS KMS.

Não

Como usar concessões para criptografia

Este tópico descreve as concessões que a Amazon MWAA atribui a uma KMS chave gerenciada pelo cliente em seu nome para criptografar e descriptografar seus dados.

Como ele funciona

Há dois mecanismos de controle de acesso baseados em recursos suportados por uma KMS chave gerenciada AWS KMS pelo cliente: uma política de chaves e uma concessão.

A política de chave é usada quando a permissão é principalmente estática e usada no modo de serviço síncrono. A concessão é usada quando são necessárias permissões mais dinâmicas e granulares, como quando um serviço precisa definir permissões de acesso diferentes para si mesmo ou para outras contas.

A Amazon MWAA usa e anexa quatro políticas de subsídio à sua KMS chave gerenciada pelo cliente. Isso se deve às permissões granulares necessárias para que um ambiente criptografe dados em repouso de CloudWatch Logs, Amazon SQS queue, banco de dados Aurora Postgre, segredos do Secrets ManagerSQL, bucket do Amazon S3 e tabelas do DynamoDB.

Quando você cria um MWAA ambiente Amazon e especifica uma KMS chave gerenciada pelo cliente, a Amazon MWAA anexa as políticas de concessão à sua KMS chave gerenciada pelo cliente. Essas políticas permitem que airflow.region}.amazonaws.com a Amazon MWAA use sua KMS chave gerenciada pelo cliente para criptografar recursos em seu nome que são de propriedade da AmazonMWAA.

MWAAA Amazon cria e atribui concessões adicionais a uma KMS chave específica em seu nome. Isso inclui políticas para retirar uma concessão se você excluir seu ambiente, usar sua KMS chave gerenciada pelo cliente para criptografia do lado do cliente (CSE) e para a função de AWS Fargate execução que precisa acessar segredos protegidos por sua chave gerenciada pelo cliente no Secrets Manager.

Políticas de concessões

A Amazon MWAA adiciona as seguintes concessões de políticas baseadas em recursos em seu nome a uma KMS chave gerenciada pelo cliente. Essas políticas permitem que o beneficiário e o principal MWAA (Amazon) realizem ações definidas na política.

Concessão 1: usada para criar recursos do plano de dados

{ "Name": "mwaa-grant-for-env-mgmt-role-environment name", "GranteePrincipal": "airflow.region.amazonaws.com", "RetiringPrincipal": "airflow.region.amazonaws.com", "Operations": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:CreateGrant", "kms:DescribeKey", "kms:RetireGrant" ] }

Concessão 2: usada para o acesso ControllerLambdaExecutionRole

{ "Name": "mwaa-grant-for-lambda-exec-environment name", "GranteePrincipal": "airflow.region.amazonaws.com", "RetiringPrincipal": "airflow.region.amazonaws.com", "Operations": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:DescribeKey", "kms:RetireGrant" ] }

Concessão 3: usada para o acesso CfnManagementLambdaExecutionRole

{ "Name": " mwaa-grant-for-cfn-mgmt-environment name", "GranteePrincipal": "airflow.region.amazonaws.com", "RetiringPrincipal": "airflow.region.amazonaws.com", "Operations": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:DescribeKey" ] }

Concessão 4: usada para o perfil de execução do Fargate para acessar segredos de back-end

{ "Name": "mwaa-fargate-access-for-environment name", "GranteePrincipal": "airflow.region.amazonaws.com", "RetiringPrincipal": "airflow.region.amazonaws.com", "Operations": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:DescribeKey", "kms:RetireGrant" ] }

Como anexar políticas de chave a uma chave gerenciada pelo cliente

Se você optar por usar sua própria KMS chave gerenciada pelo cliente com a AmazonMWAA, deverá anexar a seguinte política à chave para permitir que MWAA a Amazon a use para criptografar seus dados.

Se a KMS chave gerenciada pelo cliente que você usou em seu MWAA ambiente Amazon ainda não estiver configurada para funcionar CloudWatch, você deverá atualizar a política de chaves para permitir CloudWatch registros criptografados. Para obter mais informações, consulte Criptografar dados de log no CloudWatch uso do AWS Key Management Service serviço.

O exemplo a seguir representa uma política fundamental para o CloudWatch Logs. Substituir os valores de amostra fornecidos para a região.

{ "Effect": "Allow", "Principal": { "Service": "logs.us-west-2.amazonaws.com" }, "Action": [ "kms:Encrypt*", "kms:Decrypt*", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:Describe*" ], "Resource": "*", "Condition": { "ArnLike": { "kms:EncryptionContext:aws:logs:arn": "arn:aws:logs:us-west-2:*:*" } } }