Verwendung von vom Kunden verwalteten Schlüsseln zur Verschlüsselung - Amazon Managed Workflows für Apache Airflow

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Verwendung von vom Kunden verwalteten Schlüsseln zur Verschlüsselung

Sie können optional einen vom Kunden verwalteten Schlüssel für die Datenverschlüsselung in Ihrer Umgebung bereitstellen. Sie müssen den vom Kunden verwalteten KMS-Schlüssel in derselben Region wie Ihre Amazon MWAA-Umgebungsinstanz und Ihr Amazon S3 S3-Bucket erstellen, in dem Sie Ressourcen für Ihre Workflows speichern. Wenn sich der von Ihnen angegebene vom Kunden verwaltete KMS-Schlüssel in einem anderen Konto befindet als dem, das Sie zur Konfiguration einer Umgebung verwenden, müssen Sie den Schlüssel mit seinem ARN für den kontoübergreifenden Zugriff angeben. Weitere Informationen zum Erstellen von Schlüsseln finden Sie unter Creating Keys im AWS Key Management Service Developer Guide.

Was wird unterstützt

Zuschüsse für die Verschlüsselung verwenden

In diesem Thema werden die Zuschüsse beschrieben, die Amazon MWAA in Ihrem Namen an einen vom Kunden verwalteten KMS-Schlüssel anhängt, um Ihre Daten zu verschlüsseln und zu entschlüsseln.

Funktionsweise

Es gibt zwei ressourcenbasierte Zugriffskontrollmechanismen, die von einem vom Kunden verwalteten KMS-Schlüssel unterstützt werden: AWS KMS eine Schlüsselrichtlinie und eine Gewährung.

Eine Schlüsselrichtlinie wird verwendet, wenn die Berechtigung größtenteils statisch ist und im synchronen Dienstmodus verwendet wird. Eine Erteilung wird verwendet, wenn dynamischere und detailliertere Berechtigungen erforderlich sind, z. B. wenn ein Dienst unterschiedliche Zugriffsberechtigungen für sich selbst oder andere Konten definieren muss.

Amazon MWAA verwendet vier Zuschussrichtlinien und hängt sie an Ihren vom Kunden verwalteten KMS-Schlüssel an. Dies ist auf die detaillierten Berechtigungen zurückzuführen, die für eine Umgebung erforderlich sind, um ruhende Daten aus CloudWatch Logs, Amazon SQS-Warteschlangen, Aurora PostgreSQL-Datenbankdatenbank, Secrets Manager, Amazon S3 S3-Bucket und DynamoDB-Tabellen zu verschlüsseln.

Wenn Sie eine Amazon MWAA-Umgebung erstellen und einen vom Kunden verwalteten KMS-Schlüssel angeben, hängt Amazon MWAA die Gewährungsrichtlinien an Ihren vom Kunden verwalteten KMS-Schlüssel an. Diese Richtlinien ermöglichen es Amazon MWAA, Ihren vom Kunden verwalteten KMS-Schlüssel airflow.region}.amazonaws.com zu verwenden, um in Ihrem Namen Ressourcen zu verschlüsseln, die Amazon MWAA gehören.

Amazon MWAA erstellt in Ihrem Namen zusätzliche Zuschüsse und fügt diese an einen bestimmten KMS-Schlüssel an. Dazu gehören Richtlinien zur Einstellung eines Zuschusses, wenn Sie Ihre Umgebung löschen, zur Verwendung Ihres vom Kunden verwalteten KMS-Schlüssels für Client-Side Encryption (CSE) und für die AWS Fargate Ausführungsrolle, die auf Geheimnisse zugreifen muss, die durch Ihren vom Kunden verwalteten Schlüssel in Secrets Manager geschützt sind.

Richtlinien für Zuschüsse

Amazon MWAA fügt in Ihrem Namen einem vom Kunden verwalteten KMS-Schlüssel die folgenden ressourcenbasierten Policy-Grants hinzu. Diese Richtlinien ermöglichen es dem Empfänger und dem Auftraggeber (Amazon MWAA), die in der Richtlinie definierten Aktionen durchzuführen.

Zuschuss 1: Wird zur Erstellung von Ressourcen auf Datenebene verwendet

{ "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: wird für den ControllerLambdaExecutionRole Zugriff verwendet

{ "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: wird für den CfnManagementLambdaExecutionRole Zugriff verwendet

{ "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: Wird für die Fargate-Ausführungsrolle verwendet, um auf Backend-Geheimnisse zuzugreifen

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

Hinzufügen wichtiger Richtlinien zu einem vom Kunden verwalteten Schlüssel

Wenn Sie sich dafür entscheiden, Ihren eigenen kundenverwalteten KMS-Schlüssel mit Amazon MWAA zu verwenden, müssen Sie dem Schlüssel die folgende Richtlinie beifügen, damit Amazon MWAA ihn zur Verschlüsselung Ihrer Daten verwenden kann.

Wenn der vom Kunden verwaltete KMS-Schlüssel, den Sie für Ihre Amazon MWAA-Umgebung verwendet haben, noch nicht für die Verwendung konfiguriert ist CloudWatch, müssen Sie die Schlüsselrichtlinie aktualisieren, um verschlüsselte CloudWatch Protokolle zuzulassen. Weitere Informationen finden Sie unter dem Dienst „Protokolldaten verschlüsseln“. CloudWatch AWS Key Management Service

Das folgende Beispiel stellt eine wichtige Richtlinie für CloudWatch Logs dar. Ersetzen Sie die für die Region bereitgestellten Beispielwerte.

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