Uso de claves maestras de cliente para el cifrado - Amazon Managed Workflows para Apache Airflow

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Uso de claves maestras de cliente para el cifrado

Si lo desea, puede proporcionar una clave administrada por el cliente para el cifrado de datos de su entorno. Deberá crear la clave de KMS administrada por el cliente en la misma región que su instancia de entorno de Amazon MWAA y su bucket de Amazon S3 en el cual almacena los recursos para sus flujos de trabajo. Si la clave KMS administrada por el cliente que especifica está en una cuenta diferente de la que usa para configurar un entorno, debe especificarla mediante su ARN para el acceso entre cuentas. Para más información sobre la creación de claves, consulte Creación de claves en la Guía para desarrolladores de AWS Key Management Service .

Elementos compatibles

Uso de concesiones para el cifrado

En este tema se describen las concesiones que Amazon MWAA asocia a una clave de KMS administrada por el cliente en su nombre para cifrar y descifrar sus datos.

Funcionamiento

Hay dos mecanismos de control de acceso basados en recursos compatibles con la clave KMS administrada AWS KMS por el cliente: una política de claves y una concesión.

La política de claves se utiliza cuando el permiso es principalmente estático y se utiliza en modo de servicio sincrónico, mientras que la concesión se utiliza cuando se requieren permisos más dinámicos y detallados, como cuando un servicio necesita definir diferentes permisos de acceso para sí mismo o para otras cuentas.

Amazon MWAA utiliza y asocia cuatro políticas de concesión a la clave de KMS administrada por el cliente. Esto se debe a los permisos detallados necesarios para que un entorno cifre los datos en reposo de CloudWatch Logs, la cola de Amazon SQS, la base de datos Aurora PostgreSQL, los secretos de Secrets Manager, el bucket de Amazon S3 y las tablas de DynamoDB.

Al crear un entorno de Amazon MWAA y especificar una clave de KMS administrada por el cliente, Amazon MWAA asocia las políticas de concesión a dicha clave. Estas políticas permiten que Amazon MWAA utilice su clave de KMS administrada por el cliente en airflow.region}.amazonaws.com para cifrar en su nombre los recursos que son propiedad de Amazon MWAA.

Amazon MWAA crea y asocia concesiones adicionales a una clave de KMS específica en su nombre. Esto incluye políticas para retirar una subvención si elimina su entorno, para usar la clave KMS administrada por el cliente para el cifrado del lado del cliente (CSE) y para el rol de AWS Fargate ejecución que necesita acceder a los secretos protegidos por su clave administrada por el cliente en Secrets Manager.

Políticas de concesión

Amazon MWAA añade las concesiones de la política basada en recursos que se indican a continuación en su nombre a una clave de KMS administrada por el cliente. Estas políticas permiten que el beneficiario y la entidad principal (Amazon MWAA) lleven a cabo las acciones definidas en la política.

Concesión 1: se utiliza para crear recursos del plano de datos

{ "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" ] }

Concesión 2: se utiliza para el acceso del 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" ] }

Concesión 3: se utiliza para el acceso del 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" ] }

Concesión 4: se utiliza para el rol de ejecución de Fargate a fin de acceder a la información secreta del backend

{ "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" ] }

Asociación de políticas de claves a una clave administrada por el cliente

Si decide utilizar su propia clave de KMS administrada por el cliente con Amazon MWAA, debe asociar la siguiente política a la clave para que Amazon MWAA pueda utilizarla para cifrar sus datos.

Si la clave de KMS gestionada por el cliente que utilizó para su entorno de Amazon MWAA aún no está configurada para funcionar con ella CloudWatch, debe actualizar la política de claves para permitir los registros cifrados CloudWatch . Para obtener más información, consulte el servicio Cifrar los datos de registro durante el CloudWatch uso. AWS Key Management Service

El siguiente ejemplo representa una política clave para CloudWatch los registros. Sustituya los valores de ejemplo que se han indicado para la región.

{ "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:*:*" } } }