Kundenverwaltete Verschlüsselungsschlüssel verwenden

Mit Sammlungen den Überblick behalten Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.

Sie können vom Kunden verwaltete Verschlüsselungsschlüssel (CMEK) verwenden, um Eventarc und zugehörige inaktive Daten zu schützen. Solche Schlüssel werden über den Cloud Key Management Service (Cloud KMS) erstellt und verwaltet und als Softwareschlüssel in einem Cloud HSM-Cluster oder extern über den Cloud External Key Manager gespeichert.

Durch das Aktivieren eines Kanals mit einem CMEK werden die damit verknüpften Daten durch einen Verschlüsselungsschlüssel geschützt, auf den nur Sie zugreifen können. Mit dieser Art der Verschlüsselung können Sie Complianceanforderungen in bestimmten Branchen wie Finanzdienstleistungen erfüllen. Da Ihnen der Schlüssel gehört und nicht von Google gesteuert wird, kann niemand (einschließlich Sie) auf die Daten zugreifen, die durch diese Verschlüsselungsschlüssel geschützt sind, wenn die Schlüssel deaktiviert oder gelöscht werden.

Cloud KMS erstellt Cloud-Audit-Logs, wenn Schlüssel aktiviert, deaktiviert oder von Eventarc-Kanalressourcen zum Verschlüsseln und Entschlüsseln von Nachrichten verwendet werden. Weitere Informationen finden Sie unter Audit-Logging-Informationen in Cloud KMS.

Vorbereitung

Bevor Sie diese Funktion in Eventarc verwenden, sollten Sie Folgendes tun:

Console

  1. Cloud KMS and Eventarc APIs aktivieren.

    Aktivieren Sie die APIs

  2. Erstellen Sie einen Schlüsselbund und fügen Sie ihm einen neuen Schlüssel hinzu.

gcloud

  1. Aktualisieren Sie die gcloud-Komponenten:
    gcloud components update
    
  2. Aktivieren Sie die Cloud KMS API und die Eventarc API für das Projekt, in dem Ihre Verschlüsselungsschlüssel gespeichert werden.
    gcloud services enable cloudkms.googleapis.com eventarc.googleapis.com
    
  3. Erstellen Sie einen Schlüsselbund und fügen Sie ihm einen neuen Schlüssel hinzu.

Weitere Informationen finden Sie unter Symmetrische Verschlüsselungsschlüssel erstellen.

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

Sie werden aufgefordert, dem Dienstkonto über die Console die Rolle Cloud KMS CryptoKey Verschlüsseler/Entschlüsseler zu gewähren, wenn Sie CMEK für einen Google- oder Drittanbieter-Kanal aktivieren. Weitere Informationen in diesem Dokument finden Sie unter „CMEK für einen Google-Kanal oder einen Drittanbieterkanal 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 Rolle eventarc.serviceAgent.

    Beispiel: service-PROJECT_NUMBER@gcp-sa-eventarc.iam.gserviceaccount.com Weitere Informationen finden Sie unter Dienst-Agents.

CMEK für einen Google-Kanal aktivieren

Ein Google-Kanal ist eine Ressource, über die Google Cloud-Quellen mit Zielen interagieren können. Weitere Informationen finden Sie unter Ereignisanbieter auflisten.

So aktivieren Sie CMEK für einen Google-Kanal:

Console

  1. Rufen Sie in der Console die Seite Eventarc > Kanäle auf.
    Zu Eventarc
  2. Klicken Sie auf einen Kanal mit einem Google-Anbieter.
  3. Klicken Sie auf der Seite Kanal bearbeiten das Kästchen Vom Kunden verwalteten Verschlüsselungsschlüssel (CMEK) verwenden an.
  4. Klicken Sie auf Verschlüsselungsschlüssel hinzufügen.
  5. 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.
  6. Klicken Sie zur manuellen Eingabe des Ressourcennamens des Schlüssels in der Liste der CMEK-Verschlüsselungsschlüssel auf Ihr Schlüssel wird nicht angezeigt? Geben Sie den Namen der Schlüsselressource und den Schlüsselnamen im angegebenen Format ein.
  7. Wenn Sie dazu aufgefordert werden, weisen Sie dem Eventarc-Dienstkonto die Rolle cloudkms.cyptoKeyEncrypterDecrypter mit der Rolle eventarc.serviceAgent zu.
  8. 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 Format projects/PROJECT_NAME/locations/LOCATION/keyRings/RING_NAME/cryptoKeys/KEY_NAME.

Wenn Sie Pub/Sub-Trigger mit Ihren eigenen vorhandenen Themen erstellen, sollten Sie für einen umfassenden CMEK-Schutz erwägen, 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

  1. Rufen Sie in der Console die Seite Eventarc > Trigger auf.
    Zu Eventarc
  2. Klicken Sie auf einen Trigger, der eine Google Cloud-Quelle als Ereignisanbieter und eine Region auflistet, die Sie mit CMEK geschützt haben.
  3. Auf der Seite Triggerdetails wird im Status Verschlüsselung die 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'

cryptokeyName zeigt den für den Google-Kanal verwendeten Cloud KMS-Schlüssel.

CMEK für einen Drittanbieterkanal aktivieren

Ein Eventarc-Kanal ist eine Ressource, über die Nicht-Google Cloud-Entitäten, die eine Eventarc-Quelle anbieten, mit Zielen interagieren können.

So aktivieren Sie CMEK für den Drittanbieterkanal:

Console

  1. Rufen Sie in der Console die Seite Eventarc > Kanäle auf.
    Zu Eventarc
  2. Klicken Sie auf den Kanal eines Drittanbieters.
  3. Klicken Sie auf der Seite Kanaldetails auf Bearbeiten.
  4. Klicken Sie auf der Seite Kanal bearbeiten das Kästchen Vom Kunden verwalteten Verschlüsselungsschlüssel (CMEK) verwenden an.
  5. Wählen Sie in der Liste CMEK-Verschlüsselungsschlüssel einen Schlüsselbund aus, den Sie für die Region erstellt haben.
  6. 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 Ihr Schlüssel wird nicht angezeigt? Geben Sie den Namen der Schlüsselressource ein und geben Sie den Schlüsselnamen im angegebenen Format ein.
  7. Wenn Sie dazu aufgefordert werden, weisen Sie dem Eventarc-Dienstkonto die Rolle cloudkms.cyptoKeyEncrypterDecrypter mit der Rolle eventarc.serviceAgent zu.
  8. 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 Format projects/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

  1. Rufen Sie in der Console die Seite Eventarc > Trigger auf.
    Zu Eventarc
  2. Klicken Sie auf einen Trigger mit einer Drittanbieterquelle als Ereignisanbieter und einer Region, die Sie durch CMEK geschützt haben.
  3. Auf der Seite Triggerdetails wird im Status Verschlüsselung die Meldung Events encrypted using Customer-managed encryption keys angezeigt.

gcloud

gcloud eventarc channels describe CHANNEL \
--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'

cryptokeyName zeigt den für den Drittanbieterkanal verwendeten Cloud KMS-Schlüssel an.

Cloud KMS deaktivieren

So verhindern Sie, dass Eventarc Ihre Ereignisdaten entschlüsselt:

  • Deaktivieren Sie die Schlüsselversion, 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.
  • Löschen Sie den CMEK-Schutz, der einer Region zugeordnet ist:
    1. Rufen Sie in der Console die Seite Eventarc > Kanäle auf.
      Zu Eventarc
    2. Gehen Sie je nach Kanaltyp so vor:

      Google-Kanal

      1. Klicken Sie auf einen Kanal mit einem Google-Anbieter.
      2. Halten Sie auf der Seite Kanal bearbeiten den Mauszeiger auf das Listenfeld CMEK-Verschlüsselungsschlüssel, um die Schaltfläche Element löschen aufzurufen.
      3. Klicken Sie auf Element löschen.
      4. Klicken Sie auf Speichern.

      Kanal eines Drittanbieters

      1. Klicken Sie auf den Kanal eines Drittanbieters.
      2. Klicken Sie auf der Seite Kanaldetails auf Bearbeiten.
      3. Entfernen Sie auf der Seite Kanal bearbeiten das Häkchen aus dem Kästchen Vom Kunden verwalteten Verschlüsselungsschlüssel (CMEK) verwenden.
      4. Klicken Sie auf Speichern.

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 Cloud KMS-Ressourcenkonsistenz und Häufig gestellte Fragen zu IAM.

Cloud KMS wieder aktivieren

Wenn Eventarc nicht auf Cloud KMS zugreifen kann, schlägt die Veröffentlichung der Ereignisse mit Kanälen mit FAILED_PRECONDITION-Fehlern fehl und die Ereignisübermittlung wird beendet. 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. Bei Verwendung von CMEK für einen Kanal fallen Kosten 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.

Nächste Schritte