Kundenverwaltete Verschlüsselungsschlüssel verwenden

Cloud Tasks verschlüsselt inaktive Kundendaten standardmäßig. Die Verschlüsselung wird von Cloud Tasks übernommen. Zusätzliche Maßnahmen Ihrerseits sind nicht erforderlich. Diese Option wird Google-Standardverschlüsselung genannt.

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 Cloud Tasks 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 und zu verwalten, das die symmetrischen Schlüsselverschlüsselungsschlüssel (Key Encryption Keys, KEKs) zum Schutz Ihrer Daten enthält, können Sie diese auch über Cloud KMS steuern und verwalten.

Nachdem Sie Ihre Ressourcen mit CMEKs eingerichtet haben, ähnelt der Zugriff auf Ihre Cloud Tasks-Ressourcen der Verwendung der Google-Standardverschlüsselung. Weitere Informationen zu Ihren Verschlüsselungsoptionen finden Sie unter Vom Kunden verwaltete Verschlüsselungsschlüssel (CMEK).

Mit CMEK geschützte Inhalte

Wenn Sie CMEK in Cloud Tasks aktivieren, aktivieren Sie es für eine Region. Wenn diese Option aktiviert ist, werden der Textkörper und die Kopfzeile von Aufgaben, die in dieser Region erstellt werden, im Ruhezustand mit Ihrem Schlüssel geschützt. Wenn eine Aufgabe erstellt wurde, während CMEK aktiviert war, und der Schlüssel später inaktiv gemacht wird (durch Deaktivieren oder Löschen des Schlüssels oder durch Deaktivieren von CMEK), wird die Aufgabe mit Ihrem Schlüssel verschlüsselt, kann aber nicht ausgeführt werden.

In den folgenden Fällen sind Aufgaben nicht mit CMEK geschützt:

  • Aufgabe wurde vor der Aktivierung von CMEK erstellt
  • Die Aufgabe befindet sich nicht in der Region, für die CMEK aktiviert ist.
  • Die Aufgabe ist von einer Kompatibilitätseinschränkung betroffen.

Einschränkungen bei der Kompatibilität

Die Cloud Tasks-Integration mit CMEK unterstützt Folgendes nicht:

  • google-gax-Versionen unter 4.0.0:Das NPM-Paket google-gax für Node.js wird in Versionen vor 4.0.0 nur eingeschränkt unterstützt. Für diese Versionen wird CMEK nur in der Region us-central1 unterstützt. Auch wenn Sie nur Aufgaben in dieser Region haben, wird empfohlen, ein Upgrade auf Version 4.0.0 oder höher durchzuführen.

  • Integrierter App Engine-Taskqueue-Dienst:Aufgaben, die mit dem integrierten App Engine-Taskqueue-Dienst erstellt wurden, sind nicht durch CMEK geschützt, auch wenn sie sich in einer Region befinden, für die CMEK aktiviert ist. Durch die Aktivierung von CMEK wird das Erstellen oder Ausführen (z. B. Ausführung oder Löschen) dieser Aufgaben nicht verhindert.

  • Pull-Warteschlangen:Wenn Sie CMEK aktivieren, können Sie Aufgaben in Pull-Warteschlangen erstellen und ausführen. Diese Aufgaben sind jedoch nicht durch CMEK geschützt. Pull-Warteschlangen sind ungewöhnlich. Führen Sie den folgenden gcloud CLI-Befehl in Ihrem Terminal aus, um zu prüfen, ob Ihre Warteschlange eine Pull-Warteschlange ist:

    gcloud tasks queues describe QUEUE_NAME

    Ersetzen Sie QUEUE_NAME durch den Namen Ihrer Warteschlange.

    Wenn type als pull aufgeführt ist, handelt es sich bei Ihrer Warteschlange um eine Pull-Warteschlange. Wenn type als push aufgeführt ist, wirkt sich diese Einschränkung nicht auf Aufgaben in Ihrer Warteschlange aus.

  • Routing auf Warteschlangenebene:Wenn CMEK aktiviert ist, können Sie kein Routing auf Warteschlangenebene anwenden. Wenn das Routing auf Warteschlangenebene aktiviert ist, können Sie CMEK nicht aktivieren. So prüfen Sie, ob Sie das Routing auf Warteschlangenebene aktiviert haben:

    1. Führen Sie den folgenden gcloud CLI-Befehl in Ihrem Terminal aus:

      gcloud tasks queues describe QUEUE_NAME
      Ersetzen Sie QUEUE_NAME durch den Namen Ihrer Warteschlange.

    2. Suchen Sie in der Ausgabe nach dem Feld httpTarget und prüfen Sie, ob uriOverride festgelegt wurde. Wenn ein host angegeben ist, ist für Ihre Warteschlange das Routing auf Warteschlangenebene aktiviert und sie ist nicht mit CMEK kompatibel. Informationen zum Entfernen des Routings auf Warteschlangenebene finden Sie unter Routing auf Warteschlangenebene aktualisieren oder entfernen. Wenn in der Ausgabe uriOverride ohne host angezeigt wird, wird für Ihre Warteschlange kein Routing auf Warteschlangenebene verwendet.

  • TTL für Aufgaben:Wenn CMEK aktiviert ist, können Sie task_ttl nicht auf einen Wert über 60 Tage festlegen. Wenn Sie task_ttl auf einen Wert über 60 Tage festgelegt haben, können Sie CMEK nicht aktivieren.

Hinweise

Führen Sie die folgenden Schritte aus, bevor Sie CMEK in Cloud Tasks verwenden:

  1. Aktivieren Sie die APIs.

    Console

    1. Enable the Cloud KMS and Cloud Tasks APIs.

      Enable the APIs

    gcloud

    1. In the Google Cloud console, activate Cloud Shell.

      Activate Cloud Shell

      At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.

    2. Legen Sie ein Standardprojekt fest. Dies sollte das Projekt sein, das die Cloud Tasks-Ressourcen enthält, die Sie mit CMEK schützen möchten. Wenn Sie einen Befehl in einem anderen Projekt ausführen müssen, z. B. in dem Projekt, das Ihre Cloud KMS-Ressourcen enthält, wird auf dieser Seite das Flag --project im gcloud CLI-Befehl angegeben und Sie erfahren, welches Projekt Sie angeben müssen.

      gcloud config set project PROJECT_ID

      Ersetzen Sie PROJECT_ID durch die ID des Projekts, das Ihre Cloud Tasks-Ressourcen enthält.

    3. Aktualisieren Sie die gcloud-Komponenten:

      gcloud components update

    4. Aktivieren Sie die Cloud KMS API und die Cloud Tasks API für das Projekt, in dem Ihre Verschlüsselungsschlüssel gespeichert werden.

      gcloud services enable cloudkms.googleapis.com cloudtasks.googleapis.com \
          --project=PROJECT_ID

      Ersetzen Sie PROJECT_ID durch die ID des Projekts, in dem Ihre Verschlüsselungsschlüssel gespeichert werden. Dies kann dasselbe Projekt wie Ihre Cloud Tasks-Ressourcen sein. Um den Zugriff auf Ihre Cloud KMS-Schlüssel einzuschränken, sollten Sie jedoch Cloud KMS in einem separaten Projekt einrichten.

  2. Cloud KMS erstellt Cloud-Audit-Logs, wenn Schlüssel aktiviert, deaktiviert oder von Cloud Tasks-Ressourcen zum Verschlüsseln und Entschlüsseln von Daten verwendet werden. Achten Sie darauf, dass für die Cloud KMS API in Ihrem Projekt Logging aktiviert ist und dass Sie entschieden haben, welche logging-spezifischen Berechtigungen und Rollen für Ihren Anwendungsfall gelten. Weitere Informationen finden Sie unter Audit-Logging-Informationen in Cloud KMS.

  3. IAM-Rollen abrufen

    Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen für Ihr Projekt zuzuweisen, um die Berechtigungen zu erhalten, die Sie zur Verwendung von CMEK mit Cloud Tasks benötigen:

    • CMEK aktivieren oder deaktivieren: roles/cloudtasks.admin
    • Verwendeten Schlüssel ansehen: roles/cloudtasks.viewer

    Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.

    Sie können die erforderlichen Berechtigungen auch über benutzerdefinierte Rollen oder andere vordefinierte Rollen erhalten.

  4. Cloud KMS-Schlüsselbund und -Schlüssel erstellen

    Wenn Sie bereits einen Schlüsselbund in derselben Region wie Ihre Cloud Tasks-Ressourcen haben und diesen Schlüssel und Schlüsselbund verwenden möchten, überspringen Sie diesen Abschnitt. Andernfalls folgen Sie dieser Anleitung, um Ihren Cloud KMS-Schlüssel und -Schlüsselbund zu erstellen.

    1. Erstellen Sie einen Schlüsselbund.

      • Der Schlüsselbund muss sich in der Region befinden, die die Cloud Tasks-Ressourcen enthält, die Sie schützen möchten. Weitere Informationen finden Sie unter Cloud KMS-Standorte und Cloud Tasks-Standorte.

      • Der Schlüsselbund und die CMEK-geschützten Cloud Tasks-Ressourcen können sich im selben Projekt befinden. Wenn Sie den Zugriff auf Ihre Cloud KMS-Schlüssel einschränken möchten, sollten Sie Cloud KMS in einem separaten Projekt einrichten.

    2. Schlüssel für einen bestimmten Schlüsselbund erstellen

    ID für einen Cloud KMS-Schlüssel abrufen

    Die Ressourcen-ID für einen Cloud KMS-Schlüssel ist erforderlich, wenn Sie CMEK für Cloud Tasks aktivieren.

    Console

    1. Rufen Sie in der Google Cloud Console die Seite Schlüsselverwaltung auf und wählen Sie den Tab Schlüsselinventar aus.

      Schlüsselinventar aufrufen

    2. Klicken Sie für den Schlüssel, dessen Ressourcen-ID Sie abrufen, auf Aktionen.

    3. Klicken Sie auf Ressourcennamen kopieren.

      Die Ressourcen-ID für den Schlüssel wird in die Zwischenablage kopiert. Das Format sieht in etwa so aus:

      projects/PROJECT_NAME/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME
      

    gcloud

    1. Alle Schlüssel eines bestimmten Schlüsselbunds auflisten:

      gcloud kms keys list --keyring=KEY_RING --location=LOCATION --project=PROJECT_ID

      Ersetzen Sie Folgendes:

      • KEY_RING: der Name des Schlüsselbunds
      • LOCATION: die Region des Schlüsselbunds
      • PROJECT_ID: die ID des Projekts, das den Schlüsselbund enthält

      Die Ausgabe enthält die Schlüssel-ID für jeden Schlüssel. Beispiel:

      NAME: projects/PROJECT_NAME/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME
      

    Cloud Tasks-Dienst-Agent Zugriff auf den Schlüssel gewähren

    Sie müssen dem Cloud Tasks-Dienst-Agent die IAM-Rolle Cloud KMS CryptoKey-Verschlüsseler/Entschlüsseler zuweisen, damit er auf den Cloud KMS-Schlüssel zugreifen kann:

    Console

    1. Rufen Sie in der Google Cloud Console die Seite IAM (Identity and Access Management) auf.

      IAM aufrufen

    2. Klicken Sie auf das Kästchen Von Google bereitgestellte Rollenzuweisungen einschließen.

    3. Suchen Sie das Cloud Tasks-Dienstkonto, indem Sie cloudtasks.iam.gserviceaccount.com in den Filter eingeben.

      Das Cloud Tasks-Dienstkonto hat das Format service-PROJECT_NUMBER@gcp-sa-cloudtasks.iam.gserviceaccount.com.

    4. Klicken Sie auf das Stiftsymbol Hauptkonto bearbeiten.

    5. Klicken Sie im Bereich, der geöffnet wird, auf Weitere Rolle hinzufügen.

    6. Suchen Sie nach der Rolle Cloud KMS CryptoKey-Verschlüsseler/Entschlüsseler und wählen Sie sie aus.

    7. Klicken Sie auf Speichern.

    gcloud

    gcloud kms keys add-iam-policy-binding KEY_ID \
        --member=serviceAccount:service-PROJECT_NUMBER@gcp-sa-cloudtasks.iam.gserviceaccount.com \
        --role=roles/cloudkms.cryptoKeyEncrypterDecrypter

    Ersetzen Sie Folgendes:

    • KEY_ID: die voll qualifizierte Ressourcen-ID für Ihren Schlüssel. Eine Anleitung dazu finden Sie unter ID für einen Cloud KMS-Schlüssel abrufen. Geben Sie keine Schlüsselversionsnummer an. Wenn Sie eine Schlüsselversionsnummer angeben, kann dieser Befehl fehlschlagen.
    • PROJECT_NUMBER: Ihre Google Cloud Projektnummer. Sie finden Ihre Projektnummer auf der Willkommensseite der Google Cloud -Konsole oder durch Ausführen des folgenden Befehls:

      PROJECT=$(gcloud info --format='value(config.project)')
      gcloud projects describe ${PROJECT} --format="value(projectNumber)"

    Solange der Dienst-Agent die Rolle roles/cloudkms.cryptoKeyEncrypterDecrypter hat, kann ein Task in Ihrer CMEK-fähigen Region seine Daten mit dem CMEK-Schlüssel verschlüsseln und entschlüsseln. Wenn Sie diese Rolle widerrufen oder den CMEK-Schlüssel deaktivieren oder löschen, kann nicht auf diese Daten zugegriffen werden. Weitere Informationen finden Sie in diesem Dokument unter CMEK für Cloud Tasks deaktivieren.

    CMEK für Cloud Tasks aktivieren

    Sie können CMEK über die API oder die gcloud CLI aktivieren. Für Cloud Tasks wird CMEK nach Region aktiviert. Sie wird nicht durch einzelne Aufgaben aktiviert. Wenn CMEK für eine bestimmte Region in Cloud Tasks aktiviert ist, sind alle Aufgaben in dieser Region durch CMEK geschützt.

    gcloud

    Führen Sie den folgenden Befehl aus, um CMEK über die Google Cloud CLI zu aktivieren:

    gcloud tasks cmek-config update --location=LOCATION --kms-key-name=KEY_ID

    Ersetzen Sie Folgendes:

    • LOCATION: die Region Ihrer Cloud Tasks-Ressource
    • KEY_ID: die voll qualifizierte Ressourcen-ID für Ihren Schlüssel. Eine Anleitung dazu finden Sie unter ID für einen Cloud KMS-Schlüssel abrufen. Geben Sie keine Schlüsselversionsnummer an. Wenn Sie eine Schlüsselversionsnummer angeben, kann dieser Befehl fehlschlagen.

    REST

    Sie können CMEK aktivieren, indem Sie die Methode Update CMEK config aufrufen. Die Cloud Tasks API bietet die Methode Update CMEK config sowohl in der REST API als auch in der RPC API:

    Folgen Sie der Anleitung im Abschnitt Verwendeten Schlüssel ermitteln, um zu prüfen, ob der Schlüssel erfolgreich aktiviert wurde.

    Für vorhandene Aufgaben aktivieren

    CMEK schützt keine Aufgaben, die vor der Aktivierung von CMEK für Cloud Tasks erstellt wurden. So schützen Sie vorhandene Aufgaben mit CMEK:

    1. Aktivieren Sie CMEK (siehe CMEK aktivieren).
    2. Ersetzen Sie die vorhandenen Aufgaben. Dafür gibt es zwei Möglichkeiten. Die beste Methode hängt davon ab, was Ihnen wichtig ist:

      • Kontinuierliche Ausführung:Wenn Sie eine kontinuierliche Ausführung („mindestens einmal“ – Zustellung) sicherstellen möchten, können Sie zuerst die Aufgabe neu erstellen und dann die vorhandene Aufgabe löschen, nachdem Sie überprüft haben, dass die neue Aufgabe wie erwartet funktioniert. Dies kann zu doppelten Ausführungen führen, da sowohl die alte als auch die neue Aufgabe ausgeführt werden können, bevor Sie die alte Aufgabe löschen.

      • Doppelte Ausführung verhindern:Um doppelte Ausführungen zu verhindern (Zustellung „maximal einmal“), können Sie zuerst die alte Aufgabe löschen und dann neu erstellen. Dies kann zu verlorenen Ausführungen führen, da zwischen dem Löschen der alten Aufgabe und dem Erstellen der neuen Aufgabe Zeit vergeht.

    Verwendeten Schlüssel identifizieren

    Führen Sie den folgenden gcloud CLI-Befehl aus, um den für Ihre Cloud Tasks-Ressourcen verwendeten CMEK-Schlüssel zu ermitteln:

    gcloud tasks cmek-config describe --location=LOCATION

    Ersetzen Sie LOCATION durch die Region Ihrer Cloud Tasks-Ressourcen.

    Wenn keine Ausgabe erfolgt, ist CMEK für den angegebenen Standort nicht konfiguriert.

    CMEK-Organisationsrichtlinie anwenden

    Cloud Tasks ist in zwei Einschränkungen für Organisationsrichtlinien eingebunden, um die CMEK-Nutzung in einer Organisation zu gewährleisten:

    • constraints/gcp.restrictNonCmekServices wird verwendet, um einen CMEK-Schutz zu erzwingen.
    • Mit constraints/gcp.restrictCmekCryptoKeyProjects wird eingeschränkt, welche Cloud KMS-Schlüssel für den CMEK-Schutz verwendet werden.

    Mit dieser Integration können Sie die folgenden Anforderungen an die Verschlüsselung von Cloud Tasks-Ressourcen in Ihrer Organisation festlegen:

    Überlegungen beim Anwenden von Organisationsrichtlinien

    Bevor Sie CMEK-Organisationsrichtlinien anwenden, sollten Sie Folgendes beachten.

    Verzögerung bei der Übertragung einplanen

    Nachdem Sie eine Organisationsrichtlinie festgelegt oder aktualisiert haben, kann es bis zu 15 Minuten dauern, bis die neue Richtlinie wirksam wird.

    Vorhandene Ressourcen berücksichtigen

    Vorhandene Ressourcen unterliegen nicht neu erstellten Organisationsrichtlinien. Eine Organisationsrichtlinie wird beispielsweise nicht rückwirkend auf vorhandene Aufgaben angewendet. Auf diese Ressourcen kann weiterhin ohne CMEK zugegriffen werden und sie werden gegebenenfalls weiterhin mit vorhandenen Schlüsseln verschlüsselt. Wenn Sie die Richtlinie auf vorhandene Aufgaben anwenden möchten, müssen Sie CMEK für vorhandene Aufgaben aktivieren.

    Erforderliche Berechtigungen zum Festlegen einer Organisationsrichtlinie prüfen

    Die Berechtigung zum Festlegen oder Aktualisieren der Organisationsrichtlinie kann zu Testzwecken schwierig besorgbar sein. Sie benötigen die Rolle "Administrator für Organisationsrichtlinien“, die nur auf Organisationsebene (und nicht auf Projekt- oder Ordnerebene) gewährt werden kann.

    Die Rolle muss zwar auf Organisationsebene zugewiesen werden, es ist jedoch weiterhin möglich, eine Richtlinie anzugeben, die nur für ein bestimmtes Projekt oder einen bestimmten Ordner gilt.

    CMEKs für alle neuen Cloud Tasks-Ressourcen erzwingen

    Mit der Einschränkung constraints/gcp.restrictNonCmekServices können Sie erzwingen, dass CMEKs zum Schutz aller neuen Cloud Tasks-Ressourcen in einer Organisation verwendet werden.

    Ist diese Richtlinie festgelegt, schlagen alle Anfragen zur Ressourcenerstellung ohne angegebenen Cloud KMS-Schlüssel fehl.

    Nachdem Sie diese Richtlinie festgelegt haben, gilt sie nur für neue Ressourcen im Projekt. Alle vorhandenen Ressourcen, für die keine Cloud KMS-Schlüssel angewendet wurden, bleiben bestehen und sind problemlos zugänglich.

    Console

    1. Rufen Sie in der Google Cloud Console die Seite Organisationsrichtlinien auf.

      Zu den Organisationsrichtlinien

    2. Suchen Sie mit dem Filter nach der folgenden Einschränkung:

      constraints/gcp.restrictNonCmekServices
      
    3. Klicken Sie in der Spalte „Name“ auf Einschränken, welche Dienste Ressourcen ohne CMEK erstellen können.

    4. Klicken Sie auf  Richtlinie verwalten.

    5. Wählen Sie auf der Seite Richtlinie bearbeiten unter Richtlinienquelle die Option Richtlinie der übergeordneten Ressource überschreiben aus.

    6. Klicken Sie unter Regeln auf Regel hinzufügen.

    7. Wählen Sie in der Liste Richtlinienwerte die Option Benutzerdefiniert aus.

    8. Wählen Sie in der Liste Richtlinientyp die Option Ablehnen aus.

    9. Geben Sie im Feld Benutzerdefinierte Werte Folgendes ein:

      is:cloudtasks.googleapis.com
      
    10. Klicken Sie auf Fertig und dann auf Richtlinie festlegen.

    gcloud

    1. Erstellen Sie die temporäre Datei /tmp/policy.yaml zum Speichern der Richtlinie:

        name: projects/PROJECT_ID/policies/gcp.restrictNonCmekServices
        spec:
          rules:
          - values:
              deniedValues:
              - is:cloudtasks.googleapis.com

      Ersetzen Sie PROJECT_ID durch die ID des Projekts, in dem Sie diese Einschränkung anwenden.

    2. Führen Sie den Befehl org-policies set-policy aus:

      gcloud org-policies set-policy /tmp/policy.yaml

    Wenn Sie prüfen möchten, ob die Richtlinie erfolgreich angewendet wurde, können Sie versuchen, eine Warteschlange im Projekt zu erstellen. Der Vorgang schlägt fehl, wenn Sie keinen Cloud KMS-Schlüssel angeben.

    Cloud KMS-Schlüssel für ein Cloud Tasks-Projekt einschränken

    Mit der constraints/gcp.restrictCmekCryptoKeyProjects-Einschränkung können Sie die Cloud KMS-Schlüssel einschränken, mit denen eine Ressource in einem Cloud Tasks-Projekt geschützt werden kann.

    Sie können beispielsweise eine Regel ähnlich der folgenden angeben: „Für alle Cloud Tasks-Ressourcen in projects/my-company-data-project müssen die in diesem Projekt verwendeten Cloud KMS-Schlüssel von projects/my-company-central-keys ODER projects/team-specific-keys stammen.“

    Console

    1. Rufen Sie in der Google Cloud Console die Seite Organisationsrichtlinien auf.

      Zu den Organisationsrichtlinien

    2. Suchen Sie mit dem Filter nach der folgenden Einschränkung:

      constraints/gcp.restrictCmekCryptoKeyProjects
      
    3. Klicken Sie in der Spalte „Name“ auf Einschränken, welche Projekte KMS-CryptoKeys für CMEK bereitstellen können.

    4. Klicken Sie auf  Richtlinie verwalten.

    5. Wählen Sie auf der Seite Richtlinie bearbeiten unter Richtlinienquelle die Option Richtlinie der übergeordneten Ressource überschreiben aus.

    6. Klicken Sie unter Regeln auf Regel hinzufügen.

    7. Wählen Sie in der Liste Richtlinienwerte die Option Benutzerdefiniert aus.

    8. Wählen Sie in der Liste Richtlinientyp die Option Zulassen aus.

    9. Geben Sie im Feld Benutzerdefinierte Werte Folgendes ein:

      under:projects/KMS_PROJECT_ID
      

      Ersetzen Sie KMS_PROJECT_ID durch die ID des Projekts, in dem sich die Cloud KMS-Schlüssel befinden, die Sie verwenden möchten.

      Beispiel: under:projects/my-kms-project.

    10. Klicken Sie auf Fertig und dann auf Richtlinie festlegen.

    gcloud

    1. Erstellen Sie die temporäre Datei /tmp/policy.yaml zum Speichern der Richtlinie:

        name: projects/PROJECT_ID/policies/gcp.restrictCmekCryptoKeyProjects
        spec:
          rules:
          - values:
              allowedValues:
              - under:projects/KMS_PROJECT_ID

      Ersetzen Sie Folgendes:

      • PROJECT_ID: die ID des Projekts, in dem Sie diese Einschränkung anwenden.
      • KMS_PROJECT_ID: die ID des Projekts, in dem sich die Cloud KMS-Schlüssel befinden, die Sie verwenden möchten.
    2. Führen Sie den Befehl org-policies set-policy aus:

      gcloud org-policies set-policy /tmp/policy.yaml

    Wenn Sie prüfen möchten, ob die Richtlinie erfolgreich angewendet wurde, können Sie versuchen, eine Warteschlange mit einem Cloud KMS-Schlüssel aus einem anderen Projekt zu erstellen. Der Vorgang wird fehlschlagen.

    CMEK für Cloud Tasks deaktivieren

    Sie können CMEK mit der API oder der gcloud CLI deaktivieren. Für Cloud Tasks ist CMEK nach Region deaktiviert. Sie wird nicht durch einzelne Aufgaben deaktiviert. Wenn CMEK für eine bestimmte Region in Cloud Tasks deaktiviert ist, sind Aufgaben in dieser Region nicht durch CMEK geschützt.

    Das Deaktivieren von CMEK wirkt sich auf zukünftige Aufgaben aus, nicht auf Aufgaben, die in der Vergangenheit erstellt wurden:

    • Neue Aufgaben:sind nicht durch CMEK geschützt.
    • Vorhandene Aufgaben:Aufgaben, die erstellt wurden, als CMEK aktiviert war, bleiben verschlüsselt und werden weiterhin ausgeführt, solange der Cloud KMS-Schlüssel aktiv ist.

    gcloud

    Verwenden Sie den folgenden Befehl, um CMEK mit der Google Cloud CLI zu deaktivieren:

    gcloud tasks cmek-config update --location=LOCATION --clear-kms-key

    Ersetzen Sie Folgendes:

    • LOCATION: die Region Ihrer Cloud Tasks-Ressource.

    REST

    Sie können CMEK deaktivieren, indem Sie die Methode Update CMEK config aufrufen und den Cloud KMS-Schlüssel löschen, indem Sie ihn durch einen leeren String ersetzen. Die Cloud Tasks API bietet die Methode Update CMEK config sowohl in der REST API als auch in der RPC API:

    Cloud KMS entfernen

    Wenn Sie den Datenzugriff auf Ihre Aufgaben widerrufen möchten, können Sie Cloud KMS entfernen. Dafür gibt es drei Möglichkeiten:

    • Deaktivieren Sie den vom Kunden verwalteten Verschlüsselungsschlüssel. Durch das Deaktivieren eines CMEK-Schlüssels wird der Zugriff auf alle Daten gesperrt, die durch diese Schlüsselversion geschützt sind, solange der Schlüssel deaktiviert ist. Sie können mit einem deaktivierten Schlüssel nicht auf Aufgaben zugreifen oder Aufgaben erstellen. Wenn Sie versuchen, eine CMEK-geschützte Aufgabe auszuführen, während der Schlüssel deaktiviert ist, wird in Cloud Logging ein UNKNOWN-Fehler ausgegeben. Sie können den Schlüssel später bei Bedarf wieder aktivieren. Wenn Sie einen vom Kunden verwalteten Verschlüsselungsschlüssel deaktivieren, kann es bis zu 5 Minuten dauern, bis die Änderung wirksam wird.

    • Löschen Sie den vom Kunden verwalteten Verschlüsselungsschlüssel. Durch das Löschen eines CMEK-Schlüssels wird der Zugriff auf alle Daten, die durch diese Schlüsselversion geschützt sind, dauerhaft gesperrt. Sie können nicht auf Aufgaben zugreifen oder Aufgaben mit einem Schlüssel erstellen, der gelöscht wurde. Wenn eine Aufgabe erstellt wurde, während CMEK aktiviert war, und der Schlüssel später gelöscht wird, wird die Aufgabe mit Ihrem Schlüssel verschlüsselt, kann aber nicht ausgeführt werden. Wenn versucht wird, den Task auszuführen, wird in Cloud Logging ein UNKNOWN-Fehler protokolliert. Wenn Sie einen vom Kunden verwalteten Verschlüsselungsschlüssel zerstören, kann es bis zu 5 Minuten dauern, bis die Änderung wirksam wird.

    • Widerrufen Sie die IAM-Rolle cloudkms.cryptoKeyEncrypterDecrypter aus dem Cloud Tasks-Dienst-Agent. Dies betrifft alle Aufgaben imGoogle Cloud -Projekt, die die Verschlüsselung mit CMEK unterstützen. Sie können keine neuen CMEK-integrierten Aufgaben erstellen oder CMEK-verschlüsselte Ressourcen ansehen.

    Obwohl keiner dieser Vorgänge eine sofortige Zugriffssperre garantiert, werden IAM-Änderungen im Allgemeinen schneller übernommen. Weitere Informationen finden Sie unter Konsistenz von Cloud KMS-Ressourcen und Weitergabe von Zugriffsänderungen.

    Preise

    Durch diese Integration entstehen keine zusätzlichen Kosten über die Schlüsselvorgänge hinaus, die Ihrem Google Cloud -Projekt in Rechnung gestellt werden. Aktuelle Preisinformationen finden Sie unter Cloud KMS-Preise.