Managed Airflow (Gen 3) | Managed Airflow (Gen 2) | Managed Airflow (Legacy Gen 1)
Auf dieser Seite wird beschrieben, wie Sie vom Kunden verwaltete Verschlüsselungsschlüssel (Customer-Managed Encryption Keys, CMEK) verwenden, um Managed Airflow-Umgebungen zu schützen.
Informationen zu vom Kunden verwalteten Verschlüsselungsschlüsseln (CMEK)
Im Managed Service for Apache Airflow werden inaktive Kundendaten standardmäßig verschlüsselt. Die Verschlüsselung wird von Managed Airflow übernommen. Weitere Maßnahmen Ihrerseits sind nicht erforderlich. Diese Option heißt Google-Standardverschlüsselung.
Wenn Sie Ihre Verschlüsselungsschlüssel selbst verwalten möchten, können Sie vom Kunden verwaltete Verschlüsselungsschlüssel (CMEKs, Customer-Managed Encryption Keys) in Cloud KMS mit CMEK-integrierten Diensten wie Managed Airflow verwenden. Mit Cloud KMS-Schlüsseln haben Sie die Kontrolle über Schutzlevel, Speicherort, Rotationszeitplan, Nutzungs- und Zugriffsberechtigungen sowie über kryptografische Grenzen. Mit Cloud KMS können Sie außerdem Audit-Logs aufrufen und den Lebenszyklus von Schlüsseln steuern. Statt es Google zu überlassen, die symmetrischen Schlüsselverschlüsselungsschlüssel (Key Encryption Keys, KEKs) zum Schutz Ihrer Daten zu besitzen und zu verwalten, können Sie diese auch über Cloud KMS steuern und verwalten.
Nachdem Sie Ihre Ressourcen mit CMEKs eingerichtet haben, ähnelt der Zugriff auf Ihre Managed Airflow-Ressourcen der Verwendung der Google-Standardverschlüsselung. Weitere Informationen zu Ihren Verschlüsselungsoptionen finden Sie unter Kundenverwaltete Verschlüsselungsschlüssel (CMEK).
Mit CMEK-Verschlüsselung geschützte Daten
Managed Airflow schützt die folgenden Daten mit CMEK-Verschlüsselung:
- Inhalte und Schema der Airflow-Datenbank
- Umgebungs- und Airflow-Aufgabenlogs in Cloud Logging
- Inhalt des Buckets der Umgebung
- Im Cluster der Umgebung gespeicherte Secrets
- Nichtflüchtige Speicher, die von der Aufgabenwarteschlange verwendet werden
- Container-Images von Umgebungskomponenten, die in Artifact Registry-Repositories gespeichert sind
Weitere Informationen zur Datenverschlüsselung finden Sie unter:
- Informationen zu vom Kunden verwalteten Verschlüsselungsschlüsseln (Customer-managed Encryption Keys, CMEK) in der Cloud SQL-Dokumentation.
- Kundenverwaltete Verschlüsselungsschlüssel (Customer-Managed Encryption Keys, CMEK) verwenden und Secrets auf Anwendungsebene verschlüsseln in der Google Kubernetes Engine-Dokumentation.
- Kundenverwaltete Verschlüsselungsschlüssel in der Cloud Storage-Dokumentation.
- CMEK für Cloud Logging konfigurieren in der Cloud Logging-Dokumentation.
Daten, die nicht mit CMEK-Verschlüsselung geschützt sind
Cloud Monitoring unterstützt keine CMEK-Verschlüsselung. Der Name Ihrer Umgebung und die Namen von DAGs werden in der Monitoring-Datenbank in verschlüsselter Form mit Google-owned and Google-managed encryption keysgespeichert.
In Managed Airflow werden die folgenden Informationen gespeichert, die mitGoogle-owned and Google-managed encryption keysgeschützt sind, nicht mit kundenverwalteten Schlüsseln:
- Name der Umgebung
- Airflow-Konfigurationsüberschreibungen
Umgebungsvariablen
Labels
Die Namen einiger von Managed Airflow gespeicherter Parameter können einen Teil des Namens der Umgebung enthalten.
Rotation von CMEK-Schlüsseln für Managed Airflow
Nachdem Sie die Verschlüsselung in Ihrer Umgebung mit CMEK-Schlüsseln konfiguriert haben, sollten Sie diese Schlüssel regelmäßig rotieren, wie in der KMS-Dokumentation beschrieben.
Wenn Sie einen CMEK-Schlüssel rotieren, werden Daten, die mit früheren Schlüsselversionen verschlüsselt sind, nicht automatisch mit der neuen Schlüsselversion verschlüsselt. Weitere Informationen finden Sie unter Daten neu verschlüsseln.
Dies gilt insbesondere für:
- Objekte, die im Bucket der Umgebung gespeichert sind.
- In der Airflow-Datenbank gespeicherte Daten.
- Alle anderen Datenobjekte, die mit CMEK in der Managed Airflow-Umgebung verschlüsselt sind.
- Container-Images von Umgebungskomponenten, die in Artifact Registry-Repositories gespeichert sind.
Kundenverwalteten Verschlüsselungsschlüssel für Ihre Umgebung verwenden
Hinweis
Sie können CMEK nur beim Erstellen einer Umgebung konfigurieren. CMEK kann nicht für eine vorhandene Umgebung aktiviert werden.
Managed Airflow unterstützt die CMEK-Verschlüsselung mit Schlüsseln, die in externen Schlüsselmanagern gespeichert sind.
Sie müssen einen CMEK-Schlüssel in derselben Region erstellen, in der sich Ihre Umgebungen befinden. Sie können keine multiregionalen oder globalen Schlüssel verwenden.
Wenn Ihre Umgebung in einem VPC Service Controls-Perimeter ausgeführt wird, fügen Sie die Cloud Key Management Service API dem Perimeter hinzu.
Wenn Ihre Umgebung in einem VPC Service Controls-Perimeter ausgeführt wird, muss das Projekt, in dem die Cloud Key Management Service-Schlüssel gehostet werden, zum selben VPC Service Controls-Perimeter wie die Umgebung gehören.
Schritt 1: Kundenverwalteten Verschlüsselungsschlüssel erstellen
Folgen Sie der Anleitung unter Symmetrische Verschlüsselungsschlüssel erstellen, um einen Schlüssel in der Region zu erstellen, in der sich Ihre Umgebung befindet.
Schritt 2: Dienst-Agents Rollen zuweisen
Console
Diesen Schritt überspringen Sie erteilen Berechtigungen für Dienst-Agents, wenn Sie einen Schlüssel für Ihre Umgebung angeben.
gcloud
Die folgenden Dienst-Agents müssen die Rolle Cloud KMS CryptoKey-Verschlüsseler/Entschlüsseler für den Schlüssel haben, den Sie für Ihre Umgebung verwenden.
Ersetzen Sie PROJECT_NUMBER durch die Projektnummer.
| Name des Dienst-Agents | E-Mail-Adresse des Dienstkontos | API-Dienstname |
|---|---|---|
| Managed Airflow Service Agent | service-PROJECT_NUMBER@cloudcomposer-accounts.iam.gserviceaccount.com | composer.googleapis.com |
| Cloud Storage-Dienstkonto | service-PROJECT_NUMBER@gs-project-accounts.iam.gserviceaccount.com | Berechtigungen zum Verschlüsseln und Entschlüsseln mit gcloud storage service-agent --authorize-cmek erteilen |
(Falls erforderlich) Wenn einige dieser Dienstkonten in Ihrem Projekt nicht vorhanden sind, bedeutet das, dass für diesen Dienst noch keine Identität erstellt wurde. Das kann beispielsweise passieren, wenn Sie noch keine Managed Airflow-Umgebungen in Ihrem Projekt erstellt haben.
Um diese Dienstkonten hinzuzufügen, erstellen Sie Identitäten für die aufgeführten Dienste mit dem folgenden Befehl:
gcloud beta services identity create \ --service=API_SERVICE_NAMEErsetzen Sie
API_SERVICE_NAMEdurch den API-Dienstnamen eines Dienstes, der kein Dienstkonto in Ihrem Projekt hat.Beispiel:
gcloud beta services identity create \ --service=composer.googleapis.comSo erteilen Sie Berechtigungen für Dienst-Agents:
Weisen Sie dem Managed Airflow-Dienst-Agent die Rolle zu:
gcloud kms keys add-iam-policy-binding KEY_NAME \ --location KEY_LOCATION \ --keyring KEY_RING_NAME