Kundenverwaltete Verschlüsselungsschlüssel verwenden

In Cloud Tasks werden inaktive Kundendaten standardmäßig verschlüsselt. Die Verschlüsselung wird von Cloud Tasks durchgeführt. Sie müssen nichts weiter tun. 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, die symmetrischen Schlüsselverschlüsselungsschlüssel (Key Encryption Keys, KEKs) zum Schutz Ihrer Daten zu steuern 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 Cloud Tasks-Ressourcen der Verwendung der Google-Standardverschlüsselung. Weitere Informationen zu den Verschlüsselungsoptionen finden Sie unter Vom Kunden verwaltete Verschlüsselungsschlüssel (CMEK).

Mit CMEK geschützte Inhalte

Wenn Sie CMEK in Cloud Tasks aktivieren, wird es für eine Region aktiviert. Wenn diese Option aktiviert ist, werden der Text und die Überschrift von Aufgaben, die in dieser Region erstellt wurden, 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 (indem er deaktiviert oder gelöscht wird oder CMEK deaktiviert wird), 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:

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

Kompatibilitätseinschränkungen

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 ein Upgrade auf Version 4.0.0 oder höher empfohlen.

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

  • Pull-Queues:Wenn Sie CMEK aktivieren, können Sie Aufgaben in Pull-Queues erstellen und ausführen. Diese Aufgaben werden jedoch nicht durch CMEK geschützt. Pull-Warteschlangen sind selten. Führen Sie folgenden gcloud CLI-Befehl in Ihrem Terminal aus, um zu prüfen, ob es sich um eine Pull-Warteschlange handelt:

    gcloud tasks queues describe QUEUE_NAME

    Ersetzen Sie QUEUE_NAME durch den Namen Ihrer Warteschlange.

    Wenn pull als type aufgeführt ist, ist Ihre Warteschlange eine Pull-Warteschlange. Wenn für type 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 das Routing auf Warteschlangenebene aktiviert ist:

    1. Führen Sie im Terminal den folgenden gcloud CLI-Befehl 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 die 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 keine uriOverride mit einer angegebenen host angezeigt wird, wird für die Warteschlange kein Routing auf Warteschlangenebene verwendet.

  • TTL der Aufgabe:Wenn CMEK aktiviert ist, kann task_ttl nicht auf einen Wert über 60 Tage festgelegt werden. Wenn task_ttl auf einen Wert über 60 Tage festgelegt ist, 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. Das 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öchten, 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 und Cloud Tasks APIs 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 sollen. Das kann dasselbe Projekt sein wie das Ihrer Cloud Tasks-Ressourcen. Wenn Sie den Zugriff auf Ihre Cloud KMS-Schlüssel jedoch einschränken möchten, sollten Sie 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 festgelegt haben, welche protokollspezifischen Berechtigungen und Rollen für Ihren Anwendungsfall gelten. Weitere Informationen finden Sie unter Audit-Logging-Informationen in Cloud KMS.

  3. Identitäts- und Zugriffsverwaltungsrollen 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:

    • So aktivieren oder deaktivieren Sie CMEK: roles/cloudtasks.admin
    • Verwendeten Schlüssel anzeigen: 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.

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. Falls nicht, folgen Sie dieser Anleitung, um einen Cloud KMS-Schlüssel und einen Schlüsselbund zu erstellen.

  1. Erstellen Sie einen Schlüsselbund.

    • Der Schlüsselbund muss sich in der Region befinden, in der sich die Cloud Tasks-Ressourcen befinden, 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 jedoch 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.

    Zu „Schlüsselinventar“

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

  3. Klicken Sie auf Ressourcenname 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: 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
    

Dem 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. Geben Sie cloudtasks.iam.gserviceaccount.com in das Filterfeld ein, um das Cloud Tasks-Dienstkonto zu finden.

    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 sich öffnenden Bereich 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 eine Aufgabe in Ihrer CMEK-fähigen Region ihre 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. Siehe CMEK für Cloud Tasks deaktivieren in diesem Dokument.

CMEK für Cloud Tasks aktivieren

Sie können CMEK über die API oder die gcloud CLI aktivieren. Bei Cloud Tasks wird CMEK je nach Region aktiviert. Sie wird nicht für 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 mit der 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, schlägt dieser Befehl möglicherweise fehl.

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 bietet keinen Schutz für Aufgaben, die erstellt wurden, bevor CMEK für Cloud Tasks aktiviert wurde. So schützen Sie bereits vorhandene Aufgaben mit CMEK:

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

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

    • Duplikate verhindern:Um doppelte Ausführungen zu vermeiden (Auslieferung höchstens 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 Zeit vergeht.

Verwendeten Schlüssel identifizieren

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

gcloud tasks cmek-config describe --location=LOCATION

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

Wenn keine Ausgabe vorhanden ist, ist CMEK für den angegebenen Speicherort 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:

  • Mit constraints/gcp.restrictNonCmekServices wird der CMEK-Schutz erzwungen.
  • 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üsselungsanforderungen für Cloud Tasks-Ressourcen in Ihrer Organisation angeben:

Überlegungen beim Anwenden von Organisationsrichtlinien

Bevor Sie CMEK-Organisationsrichtlinien anwenden, sollten Sie sich mit den folgenden Informationen vertraut machen.

Auf eine Verzögerung bei der Aktualisierung vorbereiten

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 gilt beispielsweise nicht rückwirkend für vorhandene Aufgaben. Auf diese Ressourcen kann weiterhin ohne CMEK zugegriffen werden und sie sind gegebenenfalls weiterhin mit vorhandenen Schlüsseln verschlüsselt. Wenn Sie die Richtlinie auf vorhandene Aufgaben anwenden möchten, müssen Sie CMEK für bereits 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 constraints/gcp.restrictNonCmekServices-Einschränkung können Sie festlegen, dass CMEKs zum Schutz aller neuen Cloud Tasks-Ressourcen in einer Organisation verwendet werden müssen.

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 -Konsole 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 wie die folgende 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 -Konsole 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 Beschrä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 zu verwendenden Cloud KMS-Schlüssel befinden.

    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 zu verwendenden Cloud KMS-Schlüssel befinden.
  2. Führen Sie den Befehl org-policies set-policy aus:

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

Sie können versuchen, eine Warteschlange mit einem Cloud KMS-Schlüssel aus einem anderen Projekt zu erstellen, um zu prüfen, ob die Richtlinie erfolgreich angewendet wurde. 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 je nach Region deaktiviert. Sie wird nicht durch einzelne Aufgaben deaktiviert. Wenn CMEK für eine bestimmte Region in Cloud Tasks deaktiviert ist, werden Aufgaben in dieser Region nicht durch CMEK geschützt.

Das Deaktivieren von CMEK wirkt sich nur auf Aufgaben aus, die in Zukunft erstellt werden, nicht auf Aufgaben, die in der Vergangenheit erstellt wurden:

  • Neue Aufgaben:Sie werden nicht durch CMEK geschützt.
  • Bereits vorhandene Aufgaben:Aufgaben, die erstellt wurden, während CMEK aktiviert war, bleiben verschlüsselt und werden so lange ausgeführt, wie 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. Dazu gibt es drei Möglichkeiten:

  • Deaktivieren Sie den vom Kunden verwalteten Verschlüsselungsschlüssel. Wenn Sie einen CMEK-Schlüssel deaktivieren, wird der Zugriff auf alle Daten gesperrt, die durch diese Schlüsselversion geschützt sind. Mit einem deaktivierten Schlüssel können Sie 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 der Fehler UNKNOWN ausgegeben. Sie können den Schlüssel später wieder aktivieren. Wenn Sie einen vom Kunden verwalteten Verschlüsselungsschlüssel deaktivieren, kann es bis zu 5 Minuten dauern, bis die Änderung übernommen wird.

  • Löschen Sie den vom Kunden verwalteten Verschlüsselungsschlüssel. Wenn Sie einen CMEK-Schlüssel löschen, wird der Zugriff auf alle Daten, die durch diese Schlüsselversion geschützt sind, dauerhaft gesperrt. Sie können mit einem gelöschten Schlüssel nicht auf Aufgaben zugreifen oder Aufgaben erstellen. 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 der Versuch zur Ausführung der Aufgabe fehlschlägt, 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 übernommen wird.

  • Widerrufen Sie die IAM-Rolle cloudkms.cryptoKeyEncrypterDecrypter für den 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 und keine CMEK-verschlüsselten Ressourcen aufrufen.

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