Kundenverwaltete Verschlüsselungsschlüssel verwenden

Standardmäßig verschlüsselt Google inaktive Daten. Diese Standardverschlüsselung wird von Google Cloud vorgenommen und verwaltet. Zusätzliche Maßnahmen Ihrerseits sind nicht erforderlich.

Wenn Sie bestimmte Compliance- oder behördliche Anforderungen in Bezug auf den Schutz Ihrer Daten haben, können Sie vom Kunden verwaltete Verschlüsselungsschlüssel (Customer-Managed Encryption Keys, CMEK) verwenden. Mit CMEKs können Sie Eventarc und die zugehörigen inaktiven Daten mit einem Verschlüsselungsschlüssel schützen, auf den nur Sie zugreifen können und den Sie mit Cloud Key Management Service (Cloud KMS) erstellen und verwalten können. Da Ihnen der Schlüssel gehört und nicht von Google gesteuert wird, kann niemand (einschließlich Sie) auf die durch den Schlüssel geschützten Daten zugreifen.

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-Kanalressourcen 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

  1. Cloud KMS and Eventarc APIs aktivieren.

    Aktivieren Sie die APIs

  2. Erstellen Sie einen Schlüsselbund.
  3. Schlüssel für einen bestimmten Schlüsselbund erstellen

gcloud

  1. Aktualisieren Sie die gcloud-Komponenten:
    gcloud components update
    
  2. 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
    
  3. Erstellen Sie einen Schlüsselbund.
  4. 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 Rolle eventarc.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

  1. Rufen Sie in der Google Cloud Console die Seite Eventarc > Kanäle auf.

    Zu Eventarc

  2. Klicken Sie auf den Kanal eines Google-Anbieters.

  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. Beachten Sie, dass Sie für einen Kanal nur einen einzigen Verschlüsselungsschlüssel pro Region hinzufügen können.

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

  7. Wenn Sie dazu aufgefordert werden, weisen Sie dem Eventarc-Dienstkonto die Rolle cloudkms.cyptoKeyEncrypterDecrypter mit der Rolle eventarc.serviceAgent zu.

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

  9. 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, 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

  1. Rufen Sie in der Google Cloud 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 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

  1. Rufen Sie in der Google Cloud 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. Beachten Sie, dass Sie nur einen Verschlüsselungsschlüssel pro Region für einen Kanal hinzufügen können.

  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 Schlüssel manuell eingeben und geben Sie Schlüsselnamen im angegebenen Format.

  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 Google Cloud Console die Seite Eventarc > Trigger auf.

    Zu Eventarc

  2. Klicken Sie auf den Trigger mit einer Drittanbieterquelle als Ereignisanbieter und einer Region, die Sie mit CMEK geschützt haben.

  3. 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 Verschlüsselungsschlüssel geschützt. So löschen Sie den mit einem Kanal verknüpften CMEK-Schutz:

Console

  1. Rufen Sie in der Google Cloud Console die Seite Eventarc > Kanäle auf.

    Zu Eventarc

  2. Gehen Sie je nach Kanaltyp so vor:

    Google-Kanal

    1. Klicken Sie auf den Kanal eines Google-Anbieters.
    2. Halten Sie auf der Seite Kanal bearbeiten den Mauszeiger auf die Liste 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.

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.

Nächste Schritte