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.
Mit CMEK geschützte Inhalte
Sie können CMEK so konfigurieren, dass die Ereignisnachrichten verschlüsselt werden, die über die folgenden Ressourcen gesendet werden:
MessageBus
– ein Eventarc Advanced-BusPipeline
– eine Eventarc Advanced-PipelineGoogleApiSource
: Eine Ressource, die ein Abo für Google API-Ereignisse für einen bestimmten Bus darstellt
Weitere Informationen finden Sie in der Übersicht zu Eventarc Advanced.
Wenn Sie CMEK für eine Ressource aktivieren, werden die mit der Ressource verknüpften Daten in dieser Region mit einem Verschlüsselungsschlüssel geschützt, auf den nur Sie zugreifen können.
Cloud KMS und Eventarc sind regionale Dienste. Die Region für den Cloud KMS-Schlüssel und die geschützte Eventarc Advanced-Ressource muss identisch sein.
Hinweise
Bevor Sie diese Funktion in Eventarc verwenden können, müssen 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.
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 Bus oder eine Pipeline über die Google Cloud 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 einen Bus aktivieren oder CMEK für eine Pipeline aktivieren.
gcloud
gcloud kms keys add-iam-policy-binding KEY_NAME \ --keyring KEY_RING \ --location REGION \ --member serviceAccount:SERVICE_AGENT_EMAIL \ --role roles/cloudkms.cryptoKeyEncrypterDecrypter
Ersetzen Sie Folgendes:
KEY_NAME
: der Name des Schlüssels, z. B.my-key
KEY_RING
: der Name des Schlüsselbunds, z. B.my-keyring
REGION
: der Speicherort des Schlüssels, z. B.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 einen Bus aktivieren
Wenn Sie CMEK für einen Eventarc Advanced-Bus aktivieren, werden alle Nachrichten, die durch den Bus geleitet werden, vollständig mit diesem CMEK-Schlüssel verschlüsselt.
Console
Rufen Sie in der Google Cloud Console die Seite Eventarc > Bus auf.
Sie können einen Bus erstellen oder, wenn Sie einen Bus aktualisieren möchten, auf den Namen des Busses klicken.
Klicken Sie auf der Seite Busdetails auf
und dann auf Bearbeiten.Wählen Sie auf der Seite Bus bearbeiten unter Verschlüsselung die Option Cloud KMS-Schlüssel aus.
Wählen Sie in der Liste Schlüsseltyp eine Methode zum Verwalten Ihrer Schlüssel aus.
Sie können Ihre Schlüssel manuell verwalten oder Autokey verwenden, mit dem Sie Schlüsselringe und Schlüssel auf Abruf generieren können. Wenn die Option „Autokey“ deaktiviert ist, wurde sie noch nicht in den aktuellen Ressourcentyp eingebunden.
Wählen Sie einen vom Kunden verwalteten Schlüssel aus.
Optional: Sie können den Ressourcennamen des Schlüssels, den Sie verwenden möchten, manuell in die Liste Wählen Sie einen vom Kunden verwalteten Schlüssel aus eingeben. Klicken Sie dazu auf Schlüssel manuell eingeben und geben Sie den Schlüsselnamen im angegebenen Format ein.
Wenn Sie dazu aufgefordert werden, weisen Sie dem Eventarc-Dienst-Agent die Rolle
cloudkms.cryptoKeyEncrypterDecrypter
zu.Klicken Sie auf Speichern.
gcloud
Verwenden Sie den Befehl gcloud beta eventarc message-buses update
, um CMEK für Ihren Bus zu aktivieren:
gcloud beta eventarc message-buses update BUS_NAME \ --location=REGION \ --crypto-key=KEY
Ersetzen Sie Folgendes:
BUS_NAME
: die ID oder voll qualifizierte Kennzeichnung Ihres BussesREGION
: ein unterstützter Standort für Eventarc AdvancedKEY
: der vollständig qualifizierte Cloud KMS-Schlüsselname im Formatprojects/PROJECT_NAME/locations/REGION/keyRings/RING_NAME/cryptoKeys/KEY_NAME
Die
REGION
des Schlüssels muss mit dem Speicherort des zu schützenden Busses übereinstimmen.
Cloud KMS-Nutzung prüfen
Prüfen Sie, ob der Bus jetzt CMEK-kompatibel ist.
Console
Rufen Sie in der Google Cloud Console die Seite Eventarc > Bus auf.
Klicken Sie auf den Namen des Busses, den Sie mit CMEK geschützt haben.
Auf der Seite Busdetails wird im Status Verschlüsselung die Nachricht
Event messages encrypted using customer-managed encryption keys
angezeigt.
gcloud
Verwenden Sie den Befehl gcloud beta eventarc message-buses describe
, um den Bus zu beschreiben:
gcloud beta eventarc message-buses describe BUS_NAME \ --location=REGION
Die Ausgabe sollte in etwa so aussehen:
cryptoKeyName: projects/PROJECT_ID/locations/REGION/keyRings/RING_NAME/cryptoKeys/KEY_NAME name: projects/PROJECT_ID/locations/REGION/messageBuses/BUS_NAME updateTime: '2022-06-28T17:24:56.365866104Z'
Der cryptokeyName
-Wert zeigt den für den Bus verwendeten Cloud KMS-Schlüssel an.
CMEK für einen Bus deaktivieren
Sie können den mit einem Bus verknüpften CMEK-Schutz deaktivieren. Die über den Bus gesendeten Ereignisse sind weiterhin durch Google-eigene und von Google verwaltete Schlüssel geschützt.
Console
Rufen Sie in der Google Cloud Console die Seite Eventarc > Bus auf.
Klicken Sie auf den Namen des Busses.
Klicken Sie auf der Seite Busdetails auf
und dann auf Bearbeiten.Entfernen Sie auf der Seite Bus bearbeiten das Häkchen aus dem Kästchen Vom Kunden verwalteten Verschlüsselungsschlüssel (CMEK) verwenden.
Klicken Sie auf Speichern.
gcloud
Verwenden Sie den Befehl gcloud beta eventarc message-buses update
, um CMEK für Ihren Bus zu deaktivieren:
gcloud beta eventarc message-buses update BUS_NAME \ --location=REGION \ --clear-crypto-key
CMEK für eine Pipeline aktivieren
Wenn Sie CMEK für eine Eventarc Advanced-Pipeline aktivieren, werden alle Nachrichten, die durch die Pipeline geleitet werden, vollständig mit diesem CMEK-Schlüssel verschlüsselt.
Console
Rufen Sie in der Google Cloud Console die Seite Eventarc > Pipelines auf.
Sie können eine Pipeline erstellen oder, wenn Sie eine Pipeline aktualisieren möchten, auf den Namen der Pipeline klicken.
Klicken Sie auf der Seite Pipelinedetails auf
Bearbeiten.Wählen Sie auf der Seite Pipeline bearbeiten unter Verschlüsselung die Option Cloud KMS-Schlüssel aus.
Wählen Sie in der Liste Schlüsseltyp eine Methode zum Verwalten Ihrer Schlüssel aus.
Sie können Ihre Schlüssel manuell verwalten oder Autokey verwenden, mit dem Sie Schlüsselringe und Schlüssel bei Bedarf generieren können. Wenn die Autokey-Option deaktiviert ist, wurde sie noch nicht in den aktuellen Ressourcentyp eingebunden.
Wählen Sie einen vom Kunden verwalteten Schlüssel aus.
Optional: Sie können den Ressourcennamen des Schlüssels, den Sie verwenden möchten, manuell in die Liste Wählen Sie einen vom Kunden verwalteten Schlüssel aus eingeben. Klicken Sie dazu auf Schlüssel manuell eingeben und geben Sie den Schlüsselnamen im angegebenen Format ein.
Wenn Sie dazu aufgefordert werden, weisen Sie dem Eventarc-Dienst-Agent die Rolle
cloudkms.cryptoKeyEncrypterDecrypter
zu.Klicken Sie auf Speichern.
gcloud
Verwenden Sie den Befehl gcloud beta eventarc pipelines update
, um CMEK für eine Pipeline zu aktivieren:
gcloud beta eventarc pipelines update PIPELINE_NAME \ --location=REGION \ --crypto-key=KEY
Ersetzen Sie Folgendes:
PIPELINE_NAME
: ID oder voll qualifizierte Kennzeichnung Ihrer PipelineREGION
: ein unterstützter Standort für Eventarc AdvancedKEY
: der vollständig qualifizierte Cloud KMS-Schlüsselname im Formatprojects/PROJECT_NAME/locations/REGION/keyRings/RING_NAME/cryptoKeys/KEY_NAME
Die
REGION
des Schlüssels muss mit dem Speicherort der zu schützenden Pipeline übereinstimmen.
Cloud KMS-Nutzung prüfen
Prüfen Sie, ob die Pipeline jetzt CMEK-kompatibel ist.
Console
Rufen Sie in der Google Cloud Console die Seite Eventarc > Pipelines auf.
Klicken Sie auf den Namen der Pipeline, die Sie mit CMEK geschützt haben.
Auf der Seite Pipeline-Details wird im Status Verschlüsselung die Nachricht
Event messages encrypted using customer-managed encryption keys
angezeigt.
gcloud
Verwenden Sie den Befehl gcloud beta eventarc pipelines describe
, um CMEK für Ihre Pipeline zu prüfen:
gcloud beta eventarc pipelines describe PIPELINE_NAME \ --location=REGION
Die Ausgabe sollte in etwa so aussehen:
createTime: '2022-06-28T18:05:52.403999904Z' cryptoKeyName: projects/PROJECT_ID/locations/REGION/keyRings/RING_NAME/cryptoKeys/KEY_NAME destinations: ... name: projects/PROJECT_ID/locations/REGION/pipelines/PIPELINE_NAME uid: 5ea277f9-b4b7-4e7f-a8e0-6ca9d7204fa3 updateTime: '2022-06-28T18:09:18.650727516Z'
Der cryptokeyName
-Wert zeigt den für die Pipeline verwendeten Cloud KMS-Schlüssel an.
CMEK für eine Pipeline deaktivieren
Sie können den mit einer Pipeline verknüpften CMEK-Schutz deaktivieren. Die Ereignisse, die über die Pipeline gesendet werden, sind weiterhin durch Google-eigene und von Google verwaltete Schlüssel geschützt.
Console
Rufen Sie in der Google Cloud Console die Seite Eventarc > Pipelines auf.
Klicken Sie auf den Namen der Pipeline.
Klicken Sie auf der Seite Pipelinedetails auf
Bearbeiten.Entfernen Sie auf der Seite Pipeline bearbeiten das Häkchen aus dem Kästchen Vom Kunden verwalteten Verschlüsselungsschlüssel (CMEK) verwenden.
Klicken Sie auf Speichern.
gcloud
Verwenden Sie den Befehl gcloud beta eventarc pipelines update
, um CMEK für Ihre Pipeline zu deaktivieren:
gcloud beta eventarc pipelines update PIPELINE_NAME \ --location=REGION \ --clear-crypto-key
CMEK für Google API-Quellen aktivieren
Wenn Sie CMEK für eine GoogleApiSource
-Ressource aktivieren, werden alle Nachrichten, die für diese Ressource erfasst werden, vollständig mit dem CMEK-Schlüssel verschlüsselt.
Console
Rufen Sie in der Google Cloud Console die Seite Eventarc > Bus auf.
Sie können einen Bus erstellen oder, wenn Sie einen Bus aktualisieren möchten, auf den Namen des Busses klicken.
Klicken Sie auf der Seite Busdetails auf
und dann auf Bearbeiten.Wenn Sie eine Nachrichtenquelle hinzufügen möchten, klicken Sie auf
Quelle hinzufügen.Wenn bereits eine Nachrichtenquelle vorhanden ist, müssen Sie sie zuerst löschen und dann eine neue hinzufügen.
Akzeptieren Sie im Bereich Nachrichtenquelle hinzufügen für den Google API-Nachrichtenanbieter die Standardeinstellung
google-api-source
.Wählen Sie unter Verschlüsselung die Option Cloud KMS-Schlüssel aus und gehen Sie so vor:
Wählen Sie in der Liste Schlüsseltyp eine Methode zum Verwalten Ihrer Schlüssel aus.
Sie können Ihre Schlüssel manuell verwalten oder Autokey verwenden, mit dem Sie Schlüsselringe und Schlüssel bei Bedarf generieren können. Wenn die Option „Autokey“ deaktiviert ist, wurde sie noch nicht in den aktuellen Ressourcentyp eingebunden.
Wählen Sie unter Vom Kunden verwalteten Schlüssel auswählen einen Schlüssel aus.
Sie müssen eine Region auswählen, bevor Sie Ihre vom Kunden verwalteten Schlüssel aufrufen können.
Optional: Sie können den Ressourcennamen des Schlüssels, den Sie verwenden möchten, manuell in die Liste Wählen Sie einen vom Kunden verwalteten Schlüssel aus eingeben. Klicken Sie dazu auf Schlüssel manuell eingeben und geben Sie den Schlüsselnamen im angegebenen Format ein.
Wenn Sie dazu aufgefordert werden, weisen Sie dem Eventarc-Dienst-Agent die Rolle
cloudkms.cryptoKeyEncrypterDecrypter
zu.
Klicken Sie auf Erstellen.
So können Ereignisse, die direkt aus Google-Quellen stammen, automatisch erfasst werden. Alle Ereignisnachrichten werden vollständig mit dem CMEK-Schlüssel verschlüsselt.
Es werden nur Ereignisse aus Ressourcen im selben Google Cloud-Projekt wie die
GoogleApiSource
veröffentlicht. Weitere Informationen finden Sie unter Ereignisse aus Google-Quellen veröffentlichen.Klicken Sie auf Speichern.
gcloud
Verwenden Sie den Befehl gcloud beta eventarc google-api-sources update
, um CMEK für Ihre GoogleApiSource
-Ressource zu aktivieren:
gcloud beta eventarc google-api-sources update GOOGLE_API_SOURCE_NAME \ --location=REGION \ --crypto-key=KEY
Ersetzen Sie Folgendes:
GOOGLE_API_SOURCE_NAME
: Die ID oder voll qualifizierte Kennzeichnung IhrerGoogleApiSource
-RessourceREGION
: ein unterstützter Standort für Eventarc AdvancedKEY
: der vollständig qualifizierte Cloud KMS-Schlüsselname im Formatprojects/PROJECT_NAME/locations/REGION/keyRings/RING_NAME/cryptoKeys/KEY_NAME
Die
REGION
des Schlüssels muss mit dem Speicherort der zu schützenden Ressource übereinstimmen.
Cloud KMS-Nutzung prüfen
Prüfen Sie, ob die Ressource jetzt CMEK-kompatibel ist.
Console
Rufen Sie in der Google Cloud Console die Seite Eventarc > Bus auf.
Klicken Sie auf den Namen des Busses, dessen Nachrichtenquelle Sie mit einem Cloud KMS-Schlüssel geschützt haben.
Klicken Sie auf der Seite Busdetails auf
und dann auf Bearbeiten.Der Schlüssel, mit dem Ihre Nachrichtenquelle verschlüsselt wird, sollte aufgeführt sein.
gcloud
Verwenden Sie den Befehl gcloud beta eventarc google-api-sources describe
, um CMEK für Ihre GoogleApiSource
-Ressource zu prüfen:
gcloud beta eventarc google-api-sources describe GOOGLE_API_SOURCE_NAME \ --location=REGION
Die Ausgabe sollte in etwa so aussehen:
createTime: '2022-06-28T18:05:52.403999904Z' cryptoKeyName: projects/PROJECT_ID/locations/REGION/keyRings/RING_NAME/cryptoKeys/KEY_NAME destination: projects/PROJECT_ID/locations/REGION/messageBuses/BUS_NAME name: projects/PROJECT_ID/locations/REGION/googleApiSources/GOOGLE_API_SOURCE_NAME uid: 5ea277f9-b4b7-4e7f-a8e0-6ca9d7204fa3 updateTime: '2022-06-28T18:09:18.650727516Z'
Der cryptokeyName
-Wert zeigt den für die Pipeline verwendeten Cloud KMS-Schlüssel an.
CMEK für Google API-Quellen deaktivieren
Sie können den mit Google API-Quellen verknüpften CMEK-Schutz deaktivieren. Die über die GoogleApiSource
-Ressource erfassten Ereignisse sind weiterhin durch Google-eigene und von Google verwaltete Schlüssel geschützt.
Console
Rufen Sie in der Google Cloud Console die Seite Eventarc > Bus auf.
Klicken Sie auf den Namen des Busses, dessen Nachrichtenquelle Sie mit CMEK geschützt haben.
Klicken Sie auf der Seite Busdetails auf
und dann auf Bearbeiten.Wenn Sie die Nachrichtenquelle löschen möchten, die mit einem Cloud KMS-Schlüssel verschlüsselt ist, klicken Sie auf
Ressource löschen.Fügen Sie die Nachrichtenquelle gegebenenfalls wieder hinzu.
gcloud
Verwenden Sie den Befehl gcloud beta eventarc google-api-sources update
, um CMEK für Ihre GoogleApiSource
-Ressource zu deaktivieren:
gcloud beta eventarc google-api-sources update GOOGLE_API_SOURCE_NAME \ --location=REGION \ --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 Ereignisweiterleitung 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 Bus oder die Pipeline konfiguriert haben. Dies betrifft nur den Eventarc Advanced-Bus oder die Eventarc Advanced-Pipeline, die mit dem jeweiligen Schlüssel verknüpft ist.
- Widerrufen Sie die Rolle
cloudkms.cryptoKeyEncrypterDecrypter
aus dem Eventarc-Dienstkonto. Dies betrifft alle Eventarc-Ressourcen 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 Weiterleitung von Ereignissen fortsetzen möchten, stellen Sie den Zugriff auf Cloud KMS wieder her.
Audit-Logging und Fehlerbehebung
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.
Informationen zur Behebung von Problemen bei der Verwendung extern verwalteter Schlüssel über Cloud External Key Manager (Cloud EKM) finden Sie unter Cloud EKM-Fehlerreferenz.
Preise
Durch die Busintegration 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 eine Pipeline 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.