View a markdown version of this page

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 Customer-managed chiave per la crittografia dei dati nel tuo ambiente. È necessario creare la chiave KMS gestita dal cliente nella stessa regione dell'istanza dell'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 che specifichi si trova in un account diverso da quello utilizzato per configurare un ambiente, devi 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.

Un alias AWS KMS chiave.

No

Una chiave AWS KMS multiregionale.

No

Utilizzo di Grants for Encryption

Questo argomento descrive le sovvenzioni che Amazon MWAA attribuisce a una chiave KMS gestita dal cliente per tuo conto per crittografare e decrittografare i tuoi dati.

Come funziona

Esistono due meccanismi di controllo degli accessi basati sulle risorse supportati dalla chiave KMS gestita dal cliente: una policy chiave e una concessione. AWS KMS https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html https://docs.aws.amazon.com/kms/latest/developerguide/grants.html

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

Amazon MWAA utilizza e allega quattro politiche di concessione alla tua chiave KMS gestita dal cliente. Ciò è dovuto alle autorizzazioni granulari necessarie a un ambiente per crittografare i dati inattivi da CloudWatch Logs, coda Amazon SQS, database di database Aurora PostgreSQL, segreti di Secrets Manager, bucket Amazon S3 e 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 utilizzare la tua chiave KMS gestita dal cliente per airflow.us-east-1.amazonaws.com crittografare le risorse per tuo conto che sono di proprietà di Amazon MWAA.

Amazon MWAA crea e assegna sovvenzioni aggiuntive a una chiave KMS specificata per tuo conto. Ciò include politiche per ritirare una concessione in caso di eliminazione dell'ambiente, utilizzare la chiave KMS gestita dal cliente per la Client-Side crittografia (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 sovvenzioni basate sulle risorse per tuo conto a una chiave KMS gestita dal cliente. Queste politiche consentono al beneficiario e al mandante (Amazon MWAA) di eseguire le azioni definite nella politica.

Concessione 1: utilizzata per creare risorse del piano dati

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

Grant 2: utilizzato per ControllerLambdaExecutionRole l'accesso

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

Grant 3: usato per CfnManagementLambdaExecutionRole l'accesso

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

Allegare 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 politica 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, devi aggiornare la politica delle chiavi per consentire i log crittografati CloudWatch. https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html CloudWatch Per ulteriori informazioni, consulta il servizio Encrypt log data in using. CloudWatch AWS Key Management Service

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

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