In Eventarc werden inaktive Kundeninhalte standardmäßig verschlüsselt. Die Verschlüsselung wird von Eventarc 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 Eventarc 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 Eventarc-Ressourcen der Verwendung der Google-Standardverschlüsselung. Weitere Informationen zu den Verschlüsselungsoptionen finden Sie unter Vom Kunden verwaltete Verschlüsselungsschlüssel (CMEK).
Vom Kunden verwaltete Verschlüsselungsschlüssel werden als Softwareschlüssel in einem Cloud HSM-Cluster oder extern über den Cloud External Key Manager gespeichert.
Cloud KMS erstellt Audit-Logs, wenn Schlüssel aktiviert, deaktiviert oder von Eventarc Advanced-Ressourcen zum Verschlüsseln und Entschlüsseln von Nachrichten verwendet werden. Weitere Informationen finden Sie unter Audit-Logging-Informationen in Cloud KMS.
Mit CMEK geschützte Inhalte
Sie können CMEK für einen Kanal konfigurieren, der von Eventarc verwendet wird, und die Ereignisse verschlüsseln, die durch den Kanal geleitet werden.
Durch das Aktivieren eines Kanals mit CMEK werden die damit verknüpften Daten (z. B. das als Transportebene verwendete Pub/Sub-Thema) mithilfe eines Verschlüsselungsschlüssels geschützt, auf den nur Sie zugreifen können.
Wenn Sie CMEK für den Google-Kanal in einem Google Cloud-Projekt aktivieren, werden alle Eventarc-Trigger für Google-Ereignistypen in diesem Projekt und dieser Region vollständig mit diesem CMEK-Schlüssel verschlüsselt. CMEK-Schlüssel können nicht pro Trigger angewendet werden.
Hinweise
Bevor Sie diese Funktion in Eventarc verwenden, sollten Sie Folgendes tun:
Console
-
Enable the Cloud KMS and Eventarc APIs.
- Erstellen Sie einen Schlüsselbund.
- Schlüssel für einen bestimmten Schlüsselbund erstellen
gcloud
- Aktualisieren Sie die
gcloud
-Komponenten:gcloud components update
- Aktivieren Sie die Cloud KMS und Eventarc APIs für das Projekt, in dem Ihre Verschlüsselungsschlüssel gespeichert werden.
gcloud services enable cloudkms.googleapis.com eventarc.googleapis.com
- Erstellen Sie einen Schlüsselbund.
- Schlüssel für einen bestimmten Schlüsselbund erstellen
Wenn Sie Informationen zu allen Flags und möglichen Werten erhalten möchten, führen Sie den Befehl mit dem Flag --help
aus.
Beachten Sie, dass Cloud KMS und Eventarc regionale Dienste sind. Die Region für den Cloud KMS-Schlüssel und den geschützten Eventarc-Kanal muss identisch sein.
Dem Eventarc-Dienstkonto Zugriff auf einen Schlüssel gewähren
Um dem Eventarc-Dienstkonto Zugriff auf den Cloud KMS-Schlüssel zu gewähren, fügen Sie das Dienstkonto als Hauptkonto des Schlüssels hinzu und weisen Sie dem Dienstkonto die Rolle Cloud KMS CryptoKey-Verschlüsseler/Entschlüsseler zu:
Console
Wenn Sie CMEK für einen Google- oder Drittanbieter-Kanal über die Console aktivieren, werden Sie aufgefordert, dem Dienstkonto die Rolle Cloud KMS CryptoKey-Verschlüsseler/Entschlüsseler zu gewähren. Weitere Informationen in diesem Dokument finden Sie unter CMEK für Google-Ereignistypen aktivieren oder CMEK für einen Drittanbieter-Ereigniskanal aktivieren.
gcloud
gcloud kms keys add-iam-policy-binding KEY_NAME \ --keyring KEY_RING \ --location LOCATION \ --member serviceAccount:SERVICE_AGENT_EMAIL \ --role roles/cloudkms.cryptoKeyEncrypterDecrypter
Dabei gilt:
KEY_NAME
: Der Name des Schlüssels. Beispiel:my-key
.KEY_RING
: Der Name des Schlüsselbunds. Beispiel:my-keyring
LOCATION
: Der Speicherort des Schlüssels. Beispiel:us-central1
SERVICE_AGENT_EMAIL
: Die E-Mail-Adresse des Dienstkontos mit der Rolleeventarc.serviceAgent
.Beispiel:
service-PROJECT_NUMBER@gcp-sa-eventarc.iam.gserviceaccount.com
Weitere Informationen finden Sie unter Dienst-Agents.
CMEK für Google-Ereignistypen aktivieren
Eventarc-Trigger, die Google-Ereignistypen weiterleiten, veröffentlichen Ereignisse an einen virtuellen Kanal, der als Google-Kanal bezeichnet wird und projekt- und regional ist. Dieser virtuelle Kanal ist in allen Eventarc-Regionen verfügbar.
Wenn Sie CMEK für den Google-Kanal in einem Google Cloud-Projekt aktivieren, werden alle Eventarc-Trigger für Google-Ereignistypen in diesem Projekt und dieser Region vollständig mit diesem CMEK-Schlüssel verschlüsselt. Sie können mehrere CMEKs hinzufügen und jeden mit einer bestimmten Region für den Google-Kanal verknüpfen. CMEK-Schlüssel können nicht pro Trigger angewendet werden.
Console
Rufen Sie in der Google Cloud Console die Seite Eventarc > Kanäle auf.
Klicken Sie auf den Kanal eines Google-Anbieters.
Klicken Sie auf der Seite Kanal bearbeiten das Kästchen Vom Kunden verwalteten Verschlüsselungsschlüssel (CMEK) verwenden an.
Klicken Sie auf Verschlüsselungsschlüssel hinzufügen.
Wählen Sie eine Region aus und wählen Sie in der Liste CMEK-Verschlüsselungsschlüssel einen Schlüsselbund aus, den Sie für die Region erstellt haben. Beachten Sie, dass Sie für einen Kanal nur einen einzigen Verschlüsselungsschlüssel pro Region hinzufügen können.
Optional: Klicken Sie in der Liste CMEK-Verschlüsselungsschlüssel auf Ihr Schlüssel wird nicht angezeigt, um den Ressourcennamen des Schlüssels manuell einzugeben? Geben Sie den Namen der Schlüsselressource ein und geben Sie den Schlüsselnamen im angegebenen Format ein.
Wenn Sie dazu aufgefordert werden, weisen Sie dem Eventarc-Dienstkonto die Rolle
cloudkms.cryptoKeyEncrypterDecrypter
mit der Rolleeventarc.serviceAgent
zu.Optional: Klicken Sie auf Verschlüsselungsschlüssel hinzufügen, um einen weiteren Schlüsselbund hinzuzufügen, den Sie für eine andere Region erstellt haben.
Klicken Sie auf Speichern.
gcloud
gcloud eventarc google-channels update \ --location=LOCATION \ --crypto-key=KEY
Dabei gilt:
LOCATION
: der Standort des zu schützenden Google-Kanals. Er muss mit dem Speicherort des verwendeten Schlüssels übereinstimmen.KEY
: der vollständig qualifizierte Cloud KMS-Schlüsselname im Formatprojects/PROJECT_NAME/locations/LOCATION/keyRings/RING_NAME/cryptoKeys/KEY_NAME
.
Wenn Sie Pub/Sub-Trigger mit Ihren eigenen vorhandenen Themen erstellen, empfehlen wir für einen umfassenden CMEK-Schutz, auch den KMS-Schlüssel für das Thema zu konfigurieren. Weitere Informationen finden Sie unter Pub/Sub-Themen konfigurieren.
Cloud KMS-Nutzung prüfen
So prüfen Sie, ob der Kanal jetzt CMEK-kompatibel ist:
Console
Rufen Sie in der Google Cloud Console die Seite Eventarc > Trigger auf.
Klicken Sie auf einen Trigger, der eine Google Cloud-Quelle als Ereignisanbieter und eine Region auflistet, die Sie mit CMEK geschützt haben.
Auf der Seite Triggerdetails wird der Status Verschlüsselung mit der Meldung
Events encrypted using Customer-managed encryption keys
angezeigt.
gcloud
gcloud eventarc google-channels describe \ --location=LOCATION
Die Ausgabe sollte in etwa so aussehen:
cryptoKeyName: projects/PROJECT_ID/locations/LOCATION/keyRings/RING_NAME/cryptoKeys/KEY_NAME name: projects/PROJECT_ID/locations/LOCATION/googleChannelConfig updateTime: '2022-06-28T17:24:56.365866104Z'
Der cryptokeyName
-Wert zeigt den für den Google-Kanal verwendeten Cloud KMS-Schlüssel.
CMEK für einen Drittanbieterkanal aktivieren
Ein Eventarc-Kanal für Drittanbieter ist eine Ressource, über die Nicht-Google Cloud-Entitäten, die eine Eventarc-Quelle anbieten, mit Zielen interagieren können. Dieser Kanal ist spezifisch für eine Region und Sie können nur einen Schlüssel pro Drittanbieterkanal hinzufügen.
So aktivieren Sie CMEK für den Drittanbieterkanal:
Console
Rufen Sie in der Google Cloud Console die Seite Eventarc > Kanäle auf.
Klicken Sie auf den Kanal eines Drittanbieters.
Klicken Sie auf der Seite Kanaldetails auf Bearbeiten.
Klicken Sie auf der Seite Kanal bearbeiten das Kästchen Vom Kunden verwalteten Verschlüsselungsschlüssel (CMEK) verwenden an.
Wählen Sie in der Liste CMEK-Verschlüsselungsschlüssel einen Schlüsselbund aus, den Sie für die Region erstellt haben. Beachten Sie, dass Sie nur einen Verschlüsselungsschlüssel pro Region für einen Kanal hinzufügen können.
Optional: Sie können den Ressourcennamen des Schlüssels, den Sie verwenden möchten, manuell in die Liste CMEK-Verschlüsselungsschlüssel eingeben. Klicken Sie dazu auf Schlüssel manuell eingeben und geben Sie Schlüsselnamen im angegebenen Format.
Wenn Sie dazu aufgefordert werden, weisen Sie dem Eventarc-Dienstkonto die Rolle
cloudkms.cryptoKeyEncrypterDecrypter
mit der Rolleeventarc.serviceAgent
zu.Klicken Sie auf Speichern.
gcloud
gcloud eventarc channels update CHANNEL_NAME \ --location=LOCATION \ --crypto-key=KEY
Dabei gilt:
CHANNEL_NAME
: der Name des Drittanbieter-Kanals Informationen zum Erstellen eines neuen Drittanbieterkanals finden Sie unter Kanal erstellen.LOCATION
: der Standort des zu schützenden Drittanbieterkanals. Er muss mit dem Speicherort des Schlüssels übereinstimmen.KEY
: der vollständig qualifizierte Cloud KMS-Schlüsselname im Formatprojects/PROJECT_NAME/locations/LOCATION/keyRings/RING_NAME/cryptoKeys/KEY_NAME
.
Cloud KMS-Nutzung prüfen
So prüfen Sie, ob der Kanal jetzt CMEK-kompatibel ist:
Console
Rufen Sie in der Google Cloud Console die Seite Eventarc > Trigger auf.
Klicken Sie auf den Trigger mit einer Drittanbieterquelle als Ereignisanbieter und einer Region, die Sie mit CMEK geschützt haben.
Auf der Seite Triggerdetails wird im Status Verschlüsselung die Nachricht
Events encrypted using Customer-managed encryption keys
angezeigt.
gcloud
gcloud eventarc channels describe CHANNEL_NAME \ --location=LOCATION
Die Ausgabe sollte in etwa so aussehen:
createTime: '2022-06-28T18:05:52.403999904Z' cryptoKeyName: projects/PROJECT_ID/locations/LOCATION/keyRings/RING_NAME/cryptoKeys/KEY_NAME name: projects/PROJECT_ID/locations/LOCATION/googleChannelConfig pubsubTopic: projects/PROJECT_ID/topics/PUBSUB_TOPIC_ID state: ACTIVE uid: 5ea277f9-b4b7-4e7f-a8e0-6ca9d7204fa3 updateTime: '2022-06-28T18:09:18.650727516Z'
Der cryptokeyName
-Wert zeigt den für den Drittanbieterkanal verwendeten Cloud KMS-Schlüssel an.
CMEK deaktivieren
Sie können den mit einem Kanal verknüpften CMEK-Schutz deaktivieren. Die Ereignisse, die über solche Kanäle bereitgestellt werden, sind weiterhin durch von Google verwaltete Schlüssel geschützt. So löschen Sie den mit einem Kanal verknüpften CMEK-Schutz:
Console
Rufen Sie in der Google Cloud Console die Seite Eventarc > Kanäle auf.
Gehen Sie je nach Kanaltyp so vor:
Google-Kanal
- Klicken Sie auf den Kanal eines Google-Anbieters.
- Halten Sie auf der Seite Kanal bearbeiten den Mauszeiger auf die Liste CMEK-Verschlüsselungsschlüssel, um die Schaltfläche Element löschen aufzurufen.
- Klicken Sie auf Element löschen.
- Klicken Sie auf Speichern.
Kanal eines Drittanbieters
- Klicken Sie auf den Kanal eines Drittanbieters.
- Klicken Sie auf der Seite Kanaldetails auf Bearbeiten.
- Entfernen Sie auf der Seite Kanal bearbeiten das Häkchen aus dem Kästchen Vom Kunden verwalteten Verschlüsselungsschlüssel (CMEK) verwenden.
- Klicken Sie auf Speichern.
gcloud
Gehen Sie je nach Kanaltyp so vor:
Google-Kanal
gcloud eventarc google-channels \ update --clear-crypto-key
Kanal eines Drittanbieters
gcloud eventarc channels CHANNEL_NAME \ update --clear-crypto-key
Cloud KMS-Schlüssel deaktivieren und aktivieren
In einer Schlüsselversion wird das kryptografische Schlüsselmaterial gespeichert, das Sie zum Verschlüsseln, Entschlüsseln, Signieren und Prüfen von Daten verwenden. Sie können diese Schlüsselversion deaktivieren, sodass nicht mit dem Schlüssel verschlüsselte Daten aufgerufen werden können.
Wenn Eventarc nicht auf die Cloud KMS-Schlüssel zugreifen kann, schlägt die Veröffentlichung der Ereignisse mit Kanälen mit FAILED_PRECONDITION
-Fehlern fehl und die Ereignisübermittlung wird beendet. Sie können einen Schlüssel im Status Deaktiviert aktivieren, damit wieder auf die verschlüsselten Daten zugegriffen werden kann.
Cloud KMS-Schlüssel deaktivieren
So verhindern Sie, dass Eventarc den Schlüssel zum Verschlüsseln oder Entschlüsseln Ihrer Ereignisdaten verwendet:
- Wir empfehlen, die Schlüsselversion zu deaktivieren, die Sie für den Kanal konfiguriert haben. Dies betrifft nur die Eventarc-Kanäle und -Trigger, die mit dem spezifischen Schlüssel verknüpft sind.
- Widerrufen Sie die Rolle
cloudkms.cryptoKeyEncrypterDecrypter
aus dem Eventarc-Dienstkonto. Dies betrifft alle Eventarc-Kanäle und -Trigger des Projekts, die mit CMEK verschlüsselte Ereignisse unterstützen.
Obwohl keiner der Vorgänge eine sofortige Zugriffssperre bietet, werden Änderungen am Identity and Access Management (IAM) im Allgemeinen schneller übernommen. Weitere Informationen finden Sie unter Konsistenz von Cloud KMS-Ressourcen und Weitergabe von Zugriffsänderungen.
Cloud KMS-Schlüssel wieder aktivieren
Wenn Sie die Zustellung und Veröffentlichung von Ereignissen fortsetzen möchten, stellen Sie den Zugriff auf Cloud KMS wieder her.
Preise
Durch diese Einbindung entstehen keine zusätzlichen Kosten über die Schlüsselvorgänge hinaus, die Ihrem Google Cloud-Projekt in Rechnung gestellt werden. Für die Verwendung von CMEK für einen Kanal fallen Gebühren für den Zugriff auf den Cloud KMS-Dienst an, basierend auf den Pub/Sub-Preisen.
Weitere Informationen zu den aktuellen Preisen finden Sie unter Cloud KMS-Preise.