Utilisation de clés gérées par le client pour le chiffrement - Amazon Managed Workflows for Apache Airflow

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Utilisation de clés gérées par le client pour le chiffrement

Vous pouvez éventuellement fournir une clé gérée par le client pour le chiffrement des données dans votre environnement. Vous devez créer la KMS clé gérée par le client dans la même région que votre instance d'MWAAenvironnement Amazon et votre compartiment Amazon S3 dans lequel vous stockez les ressources pour vos flux de travail. Si la KMS clé gérée par le client que vous spécifiez se trouve dans un compte différent de celui que vous utilisez pour configurer un environnement, vous devez spécifier la clé en utilisant sa clé ARN pour l'accès entre comptes. Pour plus d'informations sur la création de clés, consultez la section Création de clés dans le guide du AWS Key Management Service développeur.

Ce qui est pris en charge

AWS KMS fonctionnalité Pris en charge

Un identifiant AWS KMS clé ou ARN.

Oui

Un alias AWS KMS clé.

Non

Une cléAWS KMS multirégionale.

Non

Utilisation de subventions pour le chiffrement

Cette rubrique décrit les autorisations MWAA qu'Amazon accorde à une KMS clé gérée par le client en votre nom pour chiffrer et déchiffrer vos données.

Comment ça marche

Deux mécanismes de contrôle d'accès basés sur les ressources sont pris en charge par AWS KMS les KMS clés gérées par le client : une politique clé et une subvention.

Une politique clé est utilisée lorsque l'autorisation est principalement statique et utilisée en mode de service synchrone. Une autorisation est utilisée lorsque des autorisations plus dynamiques et plus détaillées sont requises, par exemple lorsqu'un service doit définir différentes autorisations d'accès pour lui-même ou pour d'autres comptes.

Amazon MWAA utilise et associe quatre politiques de subvention à votre KMS clé gérée par le client. Cela est dû aux autorisations granulaires requises pour qu'un environnement crypte les données au repos provenant des CloudWatch journaux, de la SQS file d'attente Amazon, de la SQL base de données Aurora Postgre, des secrets Secrets Manager, du compartiment Amazon S3 et des tables DynamoDB.

Lorsque vous créez un MWAA environnement Amazon et que vous spécifiez une KMS clé gérée par le client, Amazon MWAA associe les politiques d'octroi à votre KMS clé gérée par le client. Ces politiques permettent MWAA airflow.region}.amazonaws.com à Amazon d'utiliser votre KMS clé gérée par le client pour chiffrer en votre nom les ressources détenues par AmazonMWAA.

Amazon MWAA crée et attache des autorisations supplémentaires à une KMS clé spécifiée en votre nom. Cela inclut des politiques visant à annuler une subvention si vous supprimez votre environnement, à utiliser votre KMS clé gérée par le client pour le chiffrement côté client (CSE) et pour le rôle AWS Fargate d'exécution qui doit accéder aux secrets protégés par votre clé gérée par le client dans Secrets Manager.

Politiques relatives aux subventions

Amazon MWAA ajoute les subventions politiques basées sur les ressources suivantes en votre nom à une KMS clé gérée par le client. Ces politiques permettent au bénéficiaire et au mandant (AmazonMWAA) d'effectuer les actions définies dans la politique.

Subvention 1 : utilisée pour créer des ressources de plan de données

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

Subvention 2 : utilisée pour l'ControllerLambdaExecutionRoleaccès

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

Subvention 3 : utilisée pour l'CfnManagementLambdaExecutionRoleaccès

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

Grant 4 : utilisé pour le rôle d'exécution Fargate pour accéder aux secrets du 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" ] }

Associer des politiques clés à une clé gérée par le client

Si vous choisissez d'utiliser votre propre KMS clé gérée par le client avec AmazonMWAA, vous devez associer la politique suivante à la clé afin de permettre MWAA à Amazon de l'utiliser pour chiffrer vos données.

Si la KMS clé gérée par le client que vous avez utilisée pour votre MWAA environnement Amazon n'est pas déjà configurée pour fonctionner CloudWatch, vous devez mettre à jour la politique relative aux clés pour autoriser le chiffrement CloudWatch des journaux. Pour plus d'informations, consultez le service Chiffrer les données du journal à CloudWatch l'aide du AWS Key Management Service service.

L'exemple suivant représente une politique clé pour CloudWatch Logs. Remplacez les valeurs d'échantillon fournies pour la région.

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