Verschlüsselung mit vom Kunden verwalteten Verschlüsselungsschlüsseln konfigurieren

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:

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

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
  1. (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_NAME
    

    Ersetzen Sie API_SERVICE_NAME durch den API-Dienstnamen eines Dienstes, der kein Dienstkonto in Ihrem Projekt hat.

    Beispiel:

    gcloud beta services identity create \
      --service=composer.googleapis.com
    
  2. So erteilen Sie Berechtigungen für Dienst-Agents:

    1. 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