Utilizzo di chiavi gestite dal cliente per la crittografia - Amazon Managed Workflows for Apache Airflow

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Utilizzo di chiavi gestite dal cliente per la crittografia

Facoltativamente, puoi fornire una chiave gestita dal cliente per la crittografia dei dati nel tuo ambiente. È necessario creare la chiave KMS gestita dal cliente nella stessa regione dell'istanza di ambiente Amazon MWAA e del bucket Amazon S3 in cui archiviare le risorse per i flussi di lavoro. Se la chiave KMS gestita dal cliente specificata si trova in un account diverso da quello utilizzato per configurare un ambiente, è necessario specificare la chiave utilizzando il relativo ARN per l'accesso tra account. Per ulteriori informazioni sulla creazione di chiavi, consulta Creating Keys nella Developer Guide.AWS Key Management Service

Cosa è supportato

AWS KMS funzionalità Supportato

Un ID AWS KMS chiave o ARN.

Qualsiasi alias AWS KMS chiave.

No

Una chiave AWS KMS multiregionale.

No

Utilizzo di Grants for Encryption

Questo argomento descrive le sovvenzioni concesse da Amazon MWAA a una chiave KMS gestita dal cliente per crittografare e decrittografare i dati.

Come funziona

Esistono due meccanismi di controllo degli accessi basati sulle risorse supportati da una chiave KMS gestita dal cliente: una policy chiave e una AWS KMS concessione.

Una politica chiave viene utilizzata quando l'autorizzazione è per lo più statica e utilizzata in modalità di servizio sincrona. Una concessione viene utilizzata quando sono richieste autorizzazioni più dinamiche e granulari, ad esempio quando un servizio deve definire autorizzazioni di accesso diverse per se stesso o per altri account.

Amazon MWAA utilizza e associa quattro politiche di concessione alla chiave KMS gestita dal cliente. Ciò è dovuto alle autorizzazioni granulari necessarie per un ambiente per crittografare i dati inattivi da CloudWatch Logs, dalla coda Amazon SQS, dal database del database Aurora PostgreSQL, dai segreti di Secrets Manager, dal bucket Amazon S3 e dalle tabelle DynamoDB.

Quando crei un ambiente Amazon MWAA e specifichi una chiave KMS gestita dal cliente, Amazon MWAA allega le politiche di concessione alla tua chiave KMS gestita dal cliente. Queste politiche consentono ad Amazon MWAA di airflow.region}.amazonaws.com utilizzare la chiave KMS gestita dai clienti per crittografare le risorse di proprietà di Amazon MWAA per tuo conto.

Amazon MWAA crea e assegna ulteriori concessioni a una chiave KMS specificata per tuo conto. Ciò include le politiche per ritirare una sovvenzione in caso di eliminazione dell'ambiente, per utilizzare la chiave KMS gestita dal cliente per la crittografia lato client (CSE) e per il ruolo di AWS Fargate esecuzione che deve accedere ai segreti protetti dalla chiave gestita dal cliente in Secrets Manager.

Politiche di concessione

Amazon MWAA aggiunge le seguenti concessioni di policy basate sulle risorse per tuo conto a una chiave KMS gestita dal cliente. Queste politiche consentono al beneficiario e al committente (Amazon MWAA) di eseguire le azioni definite nella politica.

Grant 1: utilizzato per creare risorse sul piano dati

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

Grant 2: utilizzato per ControllerLambdaExecutionRole l'accesso

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

Grant 3: utilizzato per CfnManagementLambdaExecutionRole l'accesso

{ "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: utilizzato per il ruolo di esecuzione di Fargate per accedere ai segreti 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" ] }

Allegare le politiche chiave a una chiave gestita dal cliente

Se scegli di utilizzare la tua chiave KMS gestita dal cliente con Amazon MWAA, devi allegare la seguente policy alla chiave per consentire ad Amazon MWAA di utilizzarla per crittografare i tuoi dati.

Se la chiave KMS gestita dal cliente che hai utilizzato per il tuo ambiente Amazon MWAA non è già configurata per funzionare CloudWatch, devi aggiornare la policy delle chiavi per consentire i log crittografati. CloudWatch Per ulteriori informazioni, consulta il servizio Encrypt log in using. CloudWatch AWS Key Management Service

L'esempio seguente rappresenta una politica chiave per CloudWatch Logs. Sostituisci i valori di esempio forniti per la regione.

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