Cloud Tasks verschlüsselt inaktive Daten. Diese Standardverschlüsselung wird von Google Cloud verwaltet. Zusätzliche Maßnahmen Ihrerseits sind nicht erforderlich.
Wenn Sie bestimmte Compliance- oder behördlichen Anforderungen in Bezug auf die Schlüssel zum Schutz Ihrer Daten haben, können Sie für Cloud Tasks vom Kunden verwaltete Verschlüsselungsschlüssel (Customer-Managed Encryption Keys, CMEK) verwenden. Ihre Aufgabe und die zugehörigen inaktiven Daten (Textkörper und Header) werden mit einem Verschlüsselungsschlüssel geschützt, auf den nur Sie zugreifen können und den Sie mit Cloud Key Management Service (Cloud KMS) steuern und verwalten können.
Mit CMEK geschützte Inhalte
Wenn Sie CMEK in Cloud Tasks aktivieren, aktivieren Sie ihn für eine Region. Wenn diese Option aktiviert ist, werden der Text und die Überschrift von Aufgaben, die in dieser Region erstellt wurden, im Ruhemodus 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
- Aufgabe befindet sich nicht in der Region, für die CMEK aktiviert ist
- Die Aufgabe ist von einer Kompatibilitätseinschränkung betroffen
Kompatibilitätsbeschränkungen
Die Cloud Tasks-Einbindung in CMEK unterstützt nicht den Folgendes:
google-gax
-Versionen unter4.0.0
: Das NPM-Paketgoogle-gax
für Node.js wird bei Versionen unter4.0.0
nur eingeschränkt unterstützt. Für diese Versionen wird CMEK nur in der Regionus-central1
unterstützt. Auch wenn Sie nur Aufgaben in dieser Region haben, empfohlen, ein Upgrade auf Version4.0.0
oder höher durchzuführen.Integrierter App Engine-Aufgabenwarteschlangendienst: Aufgaben, die mit dem Der integrierte App Engine-Aufgabenwarteschlangendienst ist nicht durch CMEK geschützt, auch wenn Sie befinden sich in einer Region, für die sie aktiviert ist. Das Aktivieren des CMEK verhindert nicht, Erstellung oder Vorgang (z. B. Ausführen oder Löschen) dieser Aufgaben
Pull-Queues: Wenn Sie CMEK aktivieren, können Sie Aufgaben in Pull-Queues erstellen und ausführen. Diese Aufgaben sind jedoch nicht durch CMEK geschützt. Pull-Warteschlangen sind ungewöhnlich. 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 die aufgeführte
type
pull
ist, ist die Warteschlange eine Pull-Warteschlange. Wenn dietype
push
lautet, wirkt sich diese Beschränkung nicht auf Aufgaben in Ihrer Warteschlange aus.Routing auf Warteschlangenebene: Wenn CMEK aktiviert ist, können Sie kein Routing auf Warteschlangenebene anwenden. Und wenn Das Routing auf Warteschlangenebene ist aktiviert. CMEK kann nicht aktiviert werden. So prüfen Sie, ob das Routing auf Warteschlangenebene aktiviert ist:
Führen Sie den folgenden gcloud CLI-Befehl in Ihrem Terminal aus:
Ersetzen Siegcloud tasks queues describe QUEUE_NAME
QUEUE_NAME
durch den Namen der Warteschlange.Suchen Sie in der Ausgabe nach dem Feld
httpTarget
und prüfen Sie, oburiOverride
festgelegt wurde. Wenn einhost
angegeben ist, ist für die Warteschlange das Routing auf Warteschlangenebene aktiviert und sie ist nicht mit CMEK kompatibel. Entfernen Routing auf Warteschlangenebene, siehe Routing auf Warteschlangenebene aktualisieren oder entfernen Wenn in der AusgabeuriOverride
nicht mit angegebenemhost
angezeigt wird, Die Warteschlange verwendet kein Routing auf Warteschlangenebene.
Aufgaben-TTL: Wenn CMEK aktiviert ist, können Sie nichts festlegen.
task_ttl
bis mehr als 60 Tage. Wenntask_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 einen CMEK in Cloud Tasks verwenden:
APIs aktivieren
Console
-
Enable the Cloud KMS and Cloud Tasks APIs.
gcloud
In the Google Cloud console, 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.
Legen Sie Ihr Standardprojekt fest. Dies sollte das Projekt sein, das Cloud Tasks-Ressourcen, die Sie schützen möchten, CMEK 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 werden darüber informiert, welches Projekt Sie angeben müssen.gcloud config set project PROJECT_ID
Ersetzen Sie
PROJECT_ID
durch die ID des Projekts. der Ihre Cloud Tasks-Ressourcen enthält.Aktualisieren Sie die
gcloud
-Komponenten:gcloud components update
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_IDErsetzen Sie
PROJECT_ID
durch die ID des Projekts, in dem Ihre Verschlüsselungsschlüssel gespeichert werden sollen. Dies kann dasselbe Projekt sein wie um den Zugriff auf Ihre Cloud Tasks-Ressourcen Cloud KMS-Schlüssel, erwägen Sie Cloud KMS in einem separaten Projekt einrichten
-
Cloud KMS erstellt Cloud-Audit-Logs, wenn Schlüssel aktiviert sind, deaktiviert oder von Cloud Tasks-Ressourcen zum Verschlüsseln und Entschlüsseln verwendet Daten. 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 Informationen zum Audit-Logging in Cloud KMS.
Identity and Access Management-Rollen abrufen
So erhalten Sie die Berechtigungen, die Sie zur Verwendung eines CMEK mit Cloud Tasks benötigen: bitten Sie Ihren Administrator, Ihnen folgende IAM-Rollen für Ihr Projekt:
-
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.
-
Aktivieren oder deaktivieren Sie CMEK:
Cloud KMS-Schlüsselbund und -Schlüssel erstellen
Wenn Sie bereits einen Schlüsselbund in derselben Region wie Ihr Cloud Tasks-Ressourcen und Sie möchten diesen Schlüssel und Schlüsselbund verwenden, überspringen Sie diesen Abschnitt. Falls nicht, folgen Sie dieser Anleitung, um einen Cloud KMS-Schlüssel und einen Schlüsselbund zu erstellen.
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, sondern um den Zugriff auf Ihren Cloud KMS zu beschränken. sollten Sie sich Cloud KMS in einem separaten Projekt einrichten
ID für einen Cloud KMS-Schlüssel abrufen
Die Ressourcen-ID für einen Cloud KMS-Schlüssel ist erforderlich, wenn Sie CMEK aktivieren für Cloud Tasks.
Console
Rufen Sie in der Google Cloud Console die Seite Schlüsselverwaltung auf und wählen Sie den Tab Schlüsselinventar aus.
Klicken Sie für den Schlüssel, dessen Ressourcen-ID Sie abrufen, auf more_vert Aktionen.
Klicken Sie auf Ressourcenname kopieren.
Die Ressourcen-ID für den Schlüssel wird in die Zwischenablage kopiert. Das Format ist etwa so:
projects/PROJECT_NAME/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME
gcloud
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üsselbundsLOCATION
: Region des SchlüsselbundsPROJECT_ID
: die ID des Projekts, das enthält den Schlüsselbund
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 entsprechende Berechtigung erteilen. die Cloud KMS CryptoKey-Verschlüsseler/Entschlüsseler IAM-Rolle (Identity and Access Management), damit auf Cloud KMS zugegriffen werden kann Schlüssel:
Console
Rufen Sie in der Google Cloud Console die Seite „Identity and Access Management“ auf.
Klicken Sie auf das Kästchen Von Google bereitgestellte Rollenzuweisungen einschließen.
Suchen Sie nach dem Cloud Tasks-Dienstkonto, indem Sie Folgendes eingeben:
cloudtasks.iam.gserviceaccount.com
im Filter.Das Cloud Tasks-Dienstkonto hat das Format
service-PROJECT_NUMBER@gcp-sa-cloudtasks.iam.gserviceaccount.com
.Klicken Sie auf das Stiftsymbol Hauptkonto bearbeiten.
Klicken Sie im Bereich, der daraufhin geöffnet wird, auf Weitere Rolle hinzufügen.
Suchen Sie nach der Rolle Cloud KMS CryptoKey-Verschlüsseler/Entschlüsseler und wählen Sie sie aus.
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 Rufen Sie die ID für einen Cloud KMS-Schlüssel ab. Fügen Sie kein Schlüsselversionsnummer. Wenn Sie eine Schlüsselversionsnummer einfügen, schlägt fehl.PROJECT_NUMBER
: Ihre Google Cloud-Projektnummer. Sie finden Ihre Projektnummer auf der Willkommensseite der Google Cloud Console 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 roles/cloudkms.cryptoKeyEncrypterDecrypter
hat
Rolle kann eine Aufgabe in Ihrer CMEK-fähigen Region ihre Daten mit
den CMEK-Schlüssel. Wenn Sie diese Rolle widerrufen oder den CMEK deaktivieren oder löschen
dass kein Zugriff auf diese Daten besteht. In diesem Dokument
Deaktivieren Sie Cloud KMS.
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.
API
Sie können CMEK durch Aufrufen der Methode Update CMEK config
aktivieren. Die Cloud Tasks API bietet die Methode Update CMEK config
sowohl in der REST API als auch in der RPC API:
- REST: Verwenden Sie die Methode
updateCmekConfig
. - RPC: Verwenden Sie die Methode
UpdateCmekConfigRequest
.
gcloud
Verwenden Sie den folgenden Befehl, 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 Ihres Cloud Tasks-RessourceKEY_ID
: die voll qualifizierte Ressourcen-ID für Ihr . Eine Anleitung dazu finden Sie unter ID für einen Cloud KMS-Schlüssel abrufen. Fügen Sie keine Schlüsselversionsnummer ein. Das Hinzufügen einer Schlüsselversionsnummer kann dazu führen, dass dieser Befehl fehlschlägt.
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 nicht Aufgaben, die vor der Aktivierung von CMEK erstellt wurden für Cloud Tasks So schützen Sie bereits vorhandene Aufgaben mit CMEK:
- Aktivieren Sie CMEK (siehe Abschnitt CMEK aktivieren).
Ersetzen Sie die bereits vorhandenen Aufgaben. Dafür gibt es im Wesentlichen zwei Möglichkeiten. Welche Methode am besten geeignet ist, hängt davon ab, was für Sie wichtig ist:
Kontinuierliche Ausführung: Um eine kontinuierliche Ausführung zu gewährleisten (Auslieferung mindestens einmal), 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 ausgeführt werden kann, 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
Um den CMEK-Schlüssel zu ermitteln, der für Ihre Cloud Tasks-Ressourcen verwendet wird, führen Sie in Ihrem Terminal den folgenden gcloud CLI-Befehl aus:
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 für Cloud Tasks deaktivieren
Sie können CMEK mithilfe 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-Aufgaben in dieser Region sind nicht durch CMEK geschützt.
Das Deaktivieren von CMEK wirkt sich auf Aufgaben aus, die in der Zukunft erstellt werden, nicht auf Aufgaben, die im Vergangen:
- Neue Aufgaben: sind 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.
API
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
Die Cloud Tasks API bietet die Methode Update CMEK config
sowohl in der REST-
und RPC APIs:
- REST: Verwenden Sie die Methode
updateCmekConfig
. - RPC: Verwenden Sie die Methode
UpdateCmekConfigRequest
.
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.
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 während der Schlüssel deaktiviert ist. Sie können keine Aufgaben erstellen oder darauf zugreifen mit einem deaktivierten Schlüssel. Es wird versucht, eine CMEK-geschützte Aufgabe auszuführen, während Wenn der Schlüssel deaktiviert ist, führt dies zu einem
UNKNOWN
-Fehler in Cloud Logging. Sie können 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 damit die Änderung wirksam wird.Vom Kunden verwaltete Datei löschen 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 keine Aufgaben mit einem Schlüssel aufrufen oder erstellen, der zerstört 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 wenn die Aufgabe ausgeführt wird, protokolliert Cloud Logging den Fehler
UNKNOWN
. Wann? einen vom Kunden verwalteten Verschlüsselungsschlüssel löschen, kann es bis zu 5 Minuten dauern, die anzuwendende Änderung.Widerrufen:
cloudkms.cryptoKeyEncrypterDecrypter
IAM-Rolle von der Cloud Tasks-Dienst-Agent. Dies betrifft alle Aufgaben im Google Cloud-Projekt, die die Verschlüsselung mit CMEK unterstützen. Sie können nicht neue CMEK-integrierte Aufgaben erstellen oder CMEK-verschlüsselte Ressourcen anzeigen.
Obwohl keiner dieser Vorgänge eine sofortige Zugriffssperre garantiert, werden IAM-Änderungen im Allgemeinen schneller übernommen. Weitere Informationen Siehe Konsistenz von Cloud KMS-Ressourcen und Weitergabe von Zugriffsänderungen
Preise
Durch diese Integration entstehen keine zusätzlichen Kosten, die über die Schlüsselvorgänge hinausgehen. die Ihrem Google Cloud-Projekt in Rechnung gestellt werden. Aktuelle Preisinformationen finden Sie unter Cloud KMS-Preise.