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 clé KMS gérée par le client dans la même région que votre instance d'environnement Amazon MWAA et votre compartiment Amazon S3 dans lequel vous stockez les ressources pour vos flux de travail. Si la clé KMS 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é à l'aide de son 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 de AWS KMS clé ou un 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 qu'Amazon MWAA accorde à une clé KMS 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 clés KMS gérées par le client : une politique clé et une autorisation.

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 clé KMS 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 file d'attente Amazon SQS, de la base de données Aurora PostgreSQL, des secrets Secrets Manager, du compartiment Amazon S3 et des tables DynamoDB.

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

Amazon MWAA crée et attache des autorisations supplémentaires à une clé KMS spécifiée en votre nom. Cela inclut des politiques visant à annuler une subvention si vous supprimez votre environnement, à utiliser votre clé KMS 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 clé KMS gérée par le client. Ces politiques permettent au bénéficiaire et au principal (Amazon MWAA) 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.us-east-1.amazonaws.com", "RetiringPrincipal": "airflow.us-east-1.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.us-east-1.amazonaws.com", "RetiringPrincipal": "airflow.us-east-1.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.us-east-1.amazonaws.com", "RetiringPrincipal": "airflow.us-east-1.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.us-east-1.amazonaws.com", "RetiringPrincipal": "airflow.us-east-1.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 clé KMS gérée par le client avec Amazon MWAA, vous devez associer la politique suivante à la clé afin de permettre à Amazon MWAA de l'utiliser pour chiffrer vos données.

Si la clé KMS gérée par le client que vous avez utilisée pour votre environnement Amazon MWAA n'est pas déjà configurée pour fonctionner CloudWatch, vous devez mettre à jour la politique relative aux clés pour autoriser les CloudWatch journaux chiffrés. 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-east-1.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-east-1:*:*" } } }