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 uma chave KMS gerenciada pelo cliente na mesma região da sua instância do ambiente do Amazon MWAA e do seu bucket do Amazon S3 onde você armazena recursos para seus fluxos de trabalho. Se a chave KMS gerenciada pelo cliente que você especificou estiver em uma conta diferente da que foi usada para configurar um ambiente, será necessário especificar a chave usando o respectivo 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
Recurso do AWS KMS | Compatível |
---|---|
Sim |
|
Não |
|
Não |
Como usar concessões para criptografia
Este tópico descreve as concessões que o Amazon MWAA atribui a uma chave do KMS gerenciada pelo cliente em seu nome para criptografar e descriptografar os dados.
Como funciona
Há dois mecanismos de controle de acesso baseados em recursos com suporte pela AWS KMS para uma chave KMS gerenciada pelo cliente: uma política de chave 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.
O Amazon MWAA usa e anexa quatro políticas de concessão à sua chave KMS gerenciada pelo cliente. Isso se deve às permissões granulares necessárias para que um ambiente criptografe dados em repouso do CloudWatch Logs, da fila do Amazon SQS, do banco de dados Aurora PostgreSQL, dos segredos do Secrets Manager, do bucket do Amazon S3 e das tabelas do DynamoDB.
Ao criar um ambiente do Amazon MWAA e especificar uma chave KMS gerenciada pelo cliente, o Amazon MWAA anexa as políticas de concessão à sua chave KMS gerenciada pelo cliente. Essas políticas permitem que o Amazon MWAA em airflow.
use sua chave KMS gerenciada pelo cliente para criptografar recursos em seu nome que são de propriedade do Amazon MWAA. region
}.amazonaws.com
O Amazon MWAA cria e anexa concessões adicionais a uma chave KMS especificada em seu nome. Isso inclui políticas para retirar uma concessão se você excluir seu ambiente, usar sua chave KMS gerenciada pelo cliente para criptografia do lado do cliente (CSE) e para o perfil de execução AWS Fargate que precisa acessar segredos protegidos pela chave gerenciada pelo cliente no Secrets Manager.
Políticas de concessões
O Amazon MWAA adiciona as seguintes concessões de políticas baseadas em recursos em seu nome a uma chave KMS gerenciada pelo cliente. Essas políticas permitem que o beneficiário e a entidade principal (Amazon MWAA) 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 chave KMS gerenciada pelo cliente com o Amazon MWAA, deverá anexar a seguinte política à chave para permitir que o Amazon MWAA a use para criptografar seus dados.
Se a chave KMS gerenciada pelo cliente que você usou para seu ambiente do Amazon MWAA ainda não estiver configurada para funcionar com o CloudWatch, você deverá atualizar a política de chave para permitir o CloudWatch Logs criptografados. Para obter mais informações, consulte Criptografar dados de log no CloudWatch Logs usando serviços AWS Key Management Service.
O exemplo a seguir representa uma política de chave 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
:*:*" } } }