CMEK für Cloud Logging konfigurieren

In diesem Dokument wird beschrieben, wie Sie vom Kunden verwaltete Verschlüsselungsschlüssel (CMEKs) für Cloud Logging konfigurieren und verwalten, um die Complianceanforderungen Ihrer Organisation zu erfüllen. Sie können CMEK als Standard-Ressourceneinstellung für eine Organisation, einen Ordner oder für beide konfigurieren. Durch die Konfiguration sorgt Cloud Logging dafür, dass alle neuen Log-Buckets in der Organisation oder im Ordner mit einem vom Kunden verwalteten Schlüssel verschlüsselt werden.

Überblick

Cloud Logging verschlüsselt inaktive Kundendaten standardmäßig. Daten, die von Logging in Log-Buckets gespeichert werden, werden mit Schlüsselverschlüsselungsschlüsseln verschlüsselt. Dieser Vorgang wird als Umschlagverschlüsselung bezeichnet. Der Zugriff auf Ihre Logging-Daten erfordert den Zugriff auf diese Schlüsselverschlüsselungsschlüssel, die Google für Sie verwaltet, ohne dass Sie etwas tun müssen.

Ihre Organisation kann regulatorische, Compliance- oder erweiterte Verschlüsselungsanforderungen haben, die unsere Standardverschlüsselung inaktiver Daten nicht anspricht. Um die Anforderungen Ihrer Organisation zu erfüllen, können Sie einen CMEK konfigurieren, um Ihre eigene Verschlüsselung zu steuern und zu verwalten, anstatt die Verschlüsselungsschlüssel von Google verwalten zu lassen, die Ihre Daten schützen.

Spezifische Informationen zu CMEK, einschließlich seiner Vorteile und Einschränkungen, finden Sie unter Vom Kunden verwaltete Verschlüsselungsschlüssel.

Wenn Sie CMEK als Standard-Ressourceneinstellung für Logging konfigurieren, werden neue Log-Buckets in der Organisation oder im Ordner automatisch mit dem konfigurierten Schlüssel verschlüsselt. Sie können diesen Schlüssel jedoch ändern oder Log-Buckets erstellen und einen anderen Schlüssel angeben. Weitere Informationen finden Sie unter CMEK für Log-Buckets konfigurieren.

Vorbereitung

Führen Sie zunächst die folgenden Schritte aus:

  1. Bei der Verwendung von CMEK gibt es einige Einschränkungen. Lesen Sie die Einschränkungen, bevor Sie einen Log-Bucket mit aktiviertem CMEK erstellen.

  2. Installieren Sie die Google Cloud CLI und initialisieren Sie sie mit folgendem Befehl:

    gcloud init

    Dieser Leitfaden enthält eine Anleitung zur Verwendung der Google Cloud CLI.

  3. Suchen Sie die IDs für die Organisation oder den Ordner, für die Sie CMEK aktivieren möchten:

    • ORGANIZATION_ID ist die eindeutige numerische Kennung der Google Cloud-Organisation, für die Sie CMEK aktivieren. Sie benötigen diesen Wert nicht, wenn Sie CMEK nur für einen Ordner konfigurieren möchten. Informationen zum Abrufen dieser Kennung finden Sie unter Organisations-ID abrufen.
    • FOLDER_ID ist die eindeutige numerische Kennung des Google Cloud-Ordners, für den Sie CMEK aktivieren. Sie benötigen diesen Wert nicht, wenn Sie CMEK nur für eine Organisation konfigurieren möchten. Informationen zur Verwendung von Ordnern finden Sie unter Ordner erstellen und verwalten.
  4. Bitten Sie Ihren Administrator, Ihnen die IAM-Rolle Cloud KMS Admin (roles/cloudkms.admin) für das Projekt oder eine übergeordnete Ressource zu gewähren, um die Berechtigungen zu erhalten, die Sie zum Erstellen von Schlüsseln benötigen. Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff verwalten.

    Möglicherweise können Sie die erforderlichen Berechtigungen auch über benutzerdefinierte Rollen oder andere vordefinierte Rollen erhalten.

  5. Prüfen Sie, ob Sie die folgenden Cloud Logging-Berechtigungen für die Organisation haben:

    • logging.settings.get
    • logging.settings.update
  6. Aktivieren Sie die Cloud KMS API für das Google Cloud-Projekt, in dem Cloud KMS ausgeführt wird.

  7. Erstellen Sie einen Schlüsselbund und Schlüssel für das Google Cloud-Projekt, in dem Cloud KMS ausgeführt wird.

    Mit Cloud Logging können Sie einen Schlüssel aus jeder Region verwenden. Wenn Sie jedoch einen Log-Bucket erstellen, muss der Speicherort des Log-Buckets mit dem Speicherort des Schlüssels übereinstimmen. Informationen zu unterstützten Regionen finden Sie hier:

    Wenn Sie CMEK mithilfe der Schritte in diesem Dokument als Standardressourceneinstellung für Logging konfigurieren, werden neue Log-Buckets, die in der Organisation oder dem Ordner erstellt werden, automatisch für CMEK konfiguriert. Da der Speicherort eines Log-Buckets mit dem Speicherort des Schlüssels übereinstimmen muss, können Sie nach dem Konfigurieren von CMEK als Standardressourceneinstellung in der Region global keine Log-Buckets erstellen.

  8. Ermitteln Sie Werte für die folgenden Cloud KMS-Parameter:

    • KMS_PROJECT_ID ist die eindeutige alphanumerische Kennung aus dem Namen Ihres Google Cloud-Projekts und einer zufällig zugewiesenen Nummer des Google Cloud-Projekts, in dem Cloud KMS ausgeführt wird. Weitere Informationen zum Abrufen dieser Kennung finden Sie unter Projekte identifizieren.
    • KMS_KEY_LOCATION ist die Region des Cloud KMS-Schlüssels.
    • KMS_KEY_RING ist der Name des Cloud KMS-Schlüsselbunds.
    • KMS_KEY_NAME durch den Namen des Cloud KMS-Schlüssels. Dieser hat das folgende Format: projects/KMS_PROJECT_ID/locations/LOCATION/keyRings/KEYRING/cryptoKeys/KEY

CMEK für eine Organisation oder einen Ordner aktivieren

Nachdem Sie die erforderlichen Schritte ausgeführt haben, folgen Sie dieser Anleitung, um CMEK für Ihre Google Cloud-Organisation zu aktivieren.

Dienstkonto-ID ermitteln

Führen Sie den folgenden gcloud logging settings describe-Befehl aus, um die Dienstkonto-ID zu ermitteln, die der Organisation oder dem Ordner zugeordnet ist, für die der CMEK angewendet wird:

ORDNER

 gcloud logging settings describe --folder=FOLDER_ID

ORGANISATION

gcloud logging settings describe --organization=ORGANIZATION_ID

Wenn Sie den vorherigen Befehl ausführen, wird ein Dienstkonto für die Organisation oder den Ordner erstellt, falls noch keiner vorhanden ist, und die ID im Feld kmsServiceAccountId zurückgegeben. Im Folgenden sehen Sie eine Beispielantwort auf den vorherigen Befehl, wenn eine Organisation angegeben ist:

kmsServiceAccountId: cmek-p12345@gcp-sa-logging.iam.gserviceaccount.com
name: organizations/ORGANIZATION_ID/settings

In diesem Beispiel hat SERVICE_ACCT_NAME den Wert cmek-p12345.

Führen Sie den Bereitstellungsprozess nur einmal pro Ressource aus. Wenn Sie den Befehl describe mehrmals ausführen, wird derselbe Wert für das Feld kmsServiceAccountId zurückgegeben.

Wenn Sie die Google Cloud CLI nicht verwenden können, führen Sie die Cloud Logging API-Methode getSettings aus.

Verschlüsseler-/Entschlüsselerrolle zuweisen

Damit CMEK genutzt werden kann, müssen Sie dem Dienstkonto die Berechtigung geben, Ihren Cloud KMS zu verwenden. Weisen Sie dem Konto hierfür die Rolle Cloud KMS CryptoKey-Verschlüsseler/Entschlüsseler zu:

gcloud

gcloud kms keys add-iam-policy-binding \
--project=KMS_PROJECT_ID \
--member serviceAccount:SERVICE_ACCT_NAME@gcp-sa-logging.iam.gserviceaccount.com \
--role roles/cloudkms.cryptoKeyEncrypterDecrypter \
--location=KMS_KEY_LOCATION \
--keyring=KMS_KEY_RING \
KMS_KEY_NAME

Legen Sie die Variablen im Befehl so fest:

  • Ersetzen Sie SERVICE_ACCT_NAME durch den serviceAccountId-Wert, den Sie im vorherigen Schritt ermittelt haben.

  • Ersetzen Sie die anderen Variablen durch die Werte, die Sie in den erforderlichen Schritten ermittelt haben.

Console

  1. Öffnen Sie in der Google Cloud Console den Browser für Cloud Key Management Service-Schlüssel.
    Zum Browser für Cloud KMS-Schlüssel
  2. Klicken Sie auf den Namen des Schlüsselbunds, der den gewünschten Schlüssel enthält.

  3. Klicken Sie das Kästchen für den gewünschten Schlüssel an.

    Der Tab Berechtigungen wird verfügbar.

  4. Geben Sie im Dialogfeld Mitglieder hinzufügen die E-Mail-Adresse des Logging-Dienstkontos an, auf das Sie Zugriff gewähren.

  5. Wählen Sie im Drop-down-Menü Rolle auswählen die Option Cloud KMS CryptoKey-Verschlüsseler/Entschlüsseler aus.

  6. Klicken Sie auf Hinzufügen.

Organisationsrichtlinien konfigurieren

Logging unterstützt Organisationsrichtlinien, die einen CMEK-Schutz erfordern und einschränken können, welche Cloud KMS-CryptoKeys für den CMEK-Schutz verwendet werden können:

  • Wenn logging.googleapis.com in der Deny-Richtlinienliste der Dienste für die Einschränkung constraints/gcp.restrictNonCmekServices steht, verweigert Logging keine neuen benutzerdefinierten Buckets, die nicht CMEK-geschützt sind. Diese Einschränkung hindert Cloud Logging jedoch nicht daran, die Log-Buckets _Required und _Default zu erstellen, die beim Erstellen eines Google Cloud-Projekts erstellt werden.

  • Wenn constraints/gcp.restrictCmekCryptoKeyProjects erzwungen wird, erstellt Logging CMEK-geschützte Ressourcen, die durch einen CryptoKey aus einem zulässigen Projekt, Ordner oder einer zulässigen Organisation geschützt sind.

Weitere Informationen zu CMEK und Organisationsrichtlinien finden Sie unter CMEK-Organisationsrichtlinien.

Wenn eine Organisationsrichtlinie mit einer CMEK-Einschränkung vorhanden ist, müssen diese Einschränkungen mit den Standardressourceneinstellungen von Logging für eine Organisation oder einen Ordner übereinstimmen. Wenn Sie Ihre Standardressourceneinstellungen ändern möchten, prüfen und aktualisieren Sie gegebenenfalls die Organisationsrichtlinien, bevor Sie die Standardressourceneinstellungen aktualisieren.

So rufen Sie Organisationsrichtlinien auf oder konfigurieren sie:

  1. Rufen Sie in der Google Cloud Console die Seite Organisationsrichtlinien auf:

    Zu Organisationsrichtlinien

    Wenn Sie diese Seite über die Suchleiste finden, wählen Sie das Ergebnis mit der Zwischenüberschrift IAM und Verwaltung aus.

  2. Wählen Sie Ihre Organisation aus.
  3. Prüfen Sie die für CMEK spezifischen Einschränkungen und aktualisieren Sie sie bei Bedarf.

    Informationen zum Ändern einer Organisationsrichtlinie finden Sie unter Richtlinien erstellen und bearbeiten.

Cloud Logging mit dem Cloud KMS-Schlüssel konfigurieren

Führen Sie den folgenden gcloud logging settings update-Befehl aus, um CMEK als Standard-Ressourceneinstellung für Logging zu konfigurieren:

ORDNER

gcloud logging settings update \
    --folder=FOLDER_ID \
    --kms-location=KMS_KEY_LOCATION \
    --kms-key-name=KMS_KEY_NAME \
    --kms-keyring=KMS_KEY_RING \
    --kms-project=KMS_PROJECT_ID

Der vorherige Befehl aktualisiert die Standardressourceneinstellungen, um Informationen zum Cloud KMS-Schlüssel zu speichern. Achten Sie darauf, dass der Standardspeicherort für den Ordner auf den Wert von KMS_KEY_LOCATION festgelegt ist. Wenn Sie keinen Standardspeicherort festgelegt haben oder der Wert dieses Speicherorts nicht mit dem Wert von KMS_KEY_LOCATION übereinstimmt, fügen Sie Folgendes an den vorherigen Befehl an:

--storage-location = KMS_KEY_LOCATION

Mit dem Flag --storage-location können Sie den Standardspeicherort für den Ordner festlegen oder aktualisieren.

ORGANISATION

gcloud logging settings update \
    --organization=ORGANIZATION_ID \
    --kms-location=KMS_KEY_LOCATION \
    --kms-key-name=KMS_KEY_NAME \
    --kms-keyring=KMS_KEY_RING \
    --kms-project=KMS_PROJECT_ID

Der vorherige Befehl aktualisiert die Standardressourceneinstellungen, um Informationen zum Cloud KMS-Schlüssel zu speichern. Achten Sie darauf, dass der Standardspeicherort für die Organisation auf den Wert von KMS_KEY_LOCATION festgelegt ist. Wenn Sie keinen Standardspeicherort festgelegt haben oder der Wert dieses Speicherorts nicht mit dem Wert von KMS_KEY_LOCATION übereinstimmt, fügen Sie Folgendes an den vorherigen Befehl an:

--storage-location = KMS_KEY_LOCATION

Mit dem Flag --storage-location können Sie den Standardspeicherort für die Organisation festlegen oder aktualisieren.

Nach dem Anwenden des Schlüssels werden neue Log-Buckets in der Organisation oder im Ordner so konfiguriert, dass ihre inaktiven Daten mit diesem Schlüssel verschlüsselt werden. Sie können auch Schlüssel für einzelne Log-Buckets ändern. Sie können keine Log-Buckets in der Region global erstellen, da Sie einen Schlüssel verwenden müssen, dessen Region dem regionalen Geltungsbereich Ihrer Daten entspricht.

Wenn Sie die Google Cloud CLI nicht verwenden können, führen Sie die Cloud Logging API-Methode updateSettings aus.

Schlüsselaktivierung prüfen

Führen Sie den folgenden gcloud logging settings describe-Befehl aus, um zu prüfen, ob Sie CMEK für eine Organisation oder einen Ordner erfolgreich aktiviert haben:

ORDNER

gcloud logging settings describe --folder=FOLDER_ID

ORGANISATION

gcloud logging settings describe --organization=ORGANIZATION_ID

Der vorherige Befehl gibt den Cloud KMS-Schlüsselnamen zurück:

kmsKeyName: KMS_KEY_NAME
kmsServiceAccountId: SERVICE_ACCT_NAME@gcp-sa-logging.iam.gserviceaccount.com

Wenn das Feld kmsKeyName ausgefüllt ist, ist CMEK für die Organisation oder den Ordner aktiviert.

Logs an unterstützte Ziele weiterleiten

  • Cloud Logging-Log-Buckets können zum Verschlüsseln von Daten mit CMEK konfiguriert werden. Wenn Sie CMEK als Standard-Ressourceneinstellung für eine Organisation oder einen Ordner konfigurieren, verwenden neue Log-Buckets in der Organisation oder dem Ordner automatisch CMEK. Sie können den Schlüssel dieser Log-Buckets ändern und Log-Buckets erstellen, die einen anderen KMS-Schlüssel als den in den Standardressourceneinstellungen angegebenen Schlüssel verwenden.

    Informationen zu CMEK für Log-Buckets sowie zum Ändern von Schlüsseln und Einschränkungen beim Aktivieren von CMEK für einen Log-Bucket finden Sie unter CMEK für Log-Buckets konfigurieren.

  • Cloud Storage unterstützt CMEK für die Weiterleitung von Logs. Eine Anleitung zum Konfigurieren eines CMEK für Cloud Storage finden Sie unter Vom Kunden verwaltete Verschlüsselungsschlüssel verwenden.

    Wenn beim Routing von Logdaten an Cloud Storage Daten aufgrund der Nichtverfügbarkeit von Schlüsseln verloren gehen, können Sie Logs rückwirkend im Bulk in Cloud Storage kopieren, wenn diese Logs auch in einem Log-Bucket gespeichert sind. Weitere Informationen finden Sie unter Logeinträge kopieren.

  • BigQuery verschlüsselt inaktive Kundeninhalte standardmäßig. Weitere Informationen finden Sie unter Daten mit Cloud Key Management Service-Schlüsseln schützen.

  • Pub/Sub verschlüsselt standardmäßig inaktive Kundendaten. Weitere Informationen finden Sie unter Nachrichtenverschlüsselung konfigurieren.

Cloud KMS-Schlüssel verwalten

In folgenden Abschnitten wird erläutert, wie Sie Ihren Cloud KMS-Schlüssel ändern, den Zugriff auf ihn widerrufen oder ihn deaktivieren können.

Cloud KMS-Schlüssel ändern

Wenn Sie den mit einer Organisation oder einem Ordner verknüpften Cloud KMS-Schlüssel ändern möchten, erstellen Sie einen Schlüssel und aktualisieren Sie die CMEK-Einstellungen mit dem neuen Cloud KMS-Schlüsselnamen:

ORDNER

gcloud logging settings update \
    --folder=FOLDER_ID
    --kms-key-name=NEW_KMS_KEY_NAME
    --kms-location=NEW_KMS_KEY_LOCATION \
    --kms-keyring=NEW_KMS_KEY_RING \
    --kms-project=NEW_KMS_PROJECT_ID

Achten Sie darauf, dass der Standardspeicherort für den Ordner auf den Wert von KMS_KEY_LOCATION festgelegt ist. Wenn Sie keinen Standardspeicherort festgelegt haben oder der Wert dieses Speicherorts nicht mit dem Wert von KMS_KEY_LOCATION übereinstimmt, fügen Sie Folgendes an den vorherigen Befehl an:

--storage-location = NEW_KMS_KEY_LOCATION

ORGANISATION

gcloud logging settings update \
    --organization=ORGANIZATION_ID
    --kms-key-name=NEW_KMS_KEY_NAME
    --kms-location=NEW_KMS_KEY_LOCATION \
    --kms-keyring=NEW_KMS_KEY_RING \
    --kms-project=NEW_KMS_PROJECT_ID

Achten Sie darauf, dass der Standardspeicherort für die Organisation auf den Wert von KMS_KEY_LOCATION festgelegt ist. Wenn Sie keinen Standardspeicherort festgelegt haben oder der Wert dieses Speicherorts nicht mit dem Wert von KMS_KEY_LOCATION übereinstimmt, fügen Sie Folgendes an den vorherigen Befehl an:

--storage-location = NEW_KMS_KEY_LOCATION

Zugriff auf Cloud KMS-Schlüssel widerrufen

Sie können den Zugriff von Logging auf den Cloud KMS-Schlüssel widerrufen. Dazu entfernen Sie die IAM-Berechtigung des konfigurierten Dienstkontos für diesen Schlüssel.

Wenn Sie den Zugriff von Logging auf einen Schlüssel entfernen, kann es bis zu einer Stunde dauern, bis die Änderung wirksam wird.

Führen Sie den folgenden Google Cloud CLI-Befehl aus, um den Zugriff von Logging auf den Cloud KMS-Schlüssel zu widerrufen:

gcloud kms keys remove-iam-policy-binding \
    --project=KMS_PROJECT_ID \
    --member serviceAccount:SERVICE_ACCT_NAME@gcp-sa-logging.iam.gserviceaccount.com \
    --role roles/cloudkms.cryptoKeyEncrypterDecrypter \
    --location=KMS_KEY_LOCATION \
    --keyring=KMS_KEY_RING \
    KMS_KEY_NAME

CMEK deaktivieren

Wenn Sie den CMEK für eine Organisation oder einen Ordner deaktivieren, wird die CMEK-Richtlinienerzwingung nur für zukünftige Vorgänge aufgehoben. Alle zuvor angewendeten Konfigurationen bleiben intakt.

Führen Sie den folgenden Google Cloud CLI-Befehl aus, um CMEK für eine Ressource zu deaktivieren, für die CMEK als Standard-Ressourceneinstellung konfiguriert ist:

ORDNER

gcloud logging settings update --folder=FOLDER_ID --clear-kms-key

ORGANISATION

gcloud logging settings update --organization=ORGANIZATION_ID --clear-kms-key

Informationen zum Löschen eines Schlüssels finden Sie unter Schlüsselversionen löschen und wiederherstellen.

Überlegungen zur Cloud KMS-Schlüsselrotation

Cloud Logging rotiert den Verschlüsselungsschlüssel für temporäre Dateien zur Notfallwiederherstellung nicht automatisch, wenn der mit der Google Cloud-Organisation oder dem Google Cloud-Ordner verknüpfte Cloud KMS-Schlüssel rotiert wird. Bereits vorhandene Wiederherstellungsdateien verwenden weiterhin die Schlüsselversion, mit der sie erstellt wurden. Neue Wiederherstellungsdateien verwenden die aktuelle Primärschlüsselversion.

Beschränkungen

Die folgenden Einschränkungen gelten beim Konfigurieren eines CMEK als Standardressourceneinstellung für Logging.

Nichtverfügbarkeit der Datei zur Notfallwiederherstellung

Ein Cloud KMS-Schlüssel gilt als verfügbar und für Logging zugänglich, wenn die beiden folgenden Bedingungen zutreffen:

  • Der Schlüssel ist aktiviert.
  • Das Logging-Dienstkonto hat für den Schlüssel Berechtigungen zum Ver- und Entschlüsseln.

Wenn Logging keinen Zugriff mehr auf den Cloud KMS-Schlüssel hat, kann Logging keine temporären Dateien zur Notfallwiederherstellung schreiben und Abfragen funktionieren für Nutzer nicht mehr. Die Abfrageleistung kann auch nach Wiederherstellung des Schlüsselzugriffs beeinträchtigt bleiben.

Das Routing von Logs an Cloud Storage kann ebenfalls betroffen sein, da Logging keine temporären Dateien schreiben kann, die für das Routing erforderlich sind. Wenn beim Verschlüsseln oder Entschlüsseln von Daten ein Fehler auftritt, wird eine Benachrichtigung an das Google Cloud-Projekt gesendet, das den Cloud KMS-Schlüssel enthält.

Verfügbarkeit der Clientbibliothek

Logging-Clientbibliotheken bieten keine Methoden zum Konfigurieren von CMEK.

Beeinträchtigung aufgrund der Nichtverfügbarkeit von Cloud EKM-Schlüsseln

Wenn Sie einen Cloud EKM-Schlüssel verwenden, hat Google keine Kontrolle über die Verfügbarkeit Ihres extern verwalteten Schlüssels im Partnersystem für die externe Schlüsselverwaltung.

Wenn CMEK als Standard-Ressourceneinstellung für eine Organisation oder einen Ordner konfiguriert ist und kein extern verwalteter Schlüssel verfügbar ist, versucht Cloud Logging kontinuierlich, auf den Schlüssel zuzugreifen. Außerdem speichert Cloud Logging die eingehenden Logdaten bis zu einer Stunde lang im Zwischenspeicher. Wenn Cloud Logging nach einer Stunde immer noch nicht auf den extern verwalteten Schlüssel zugreifen kann, werden die Daten von Cloud Logging gelöscht.

Wenn ein CMEK auf einen Log-Bucket angewendet wird und ein extern verwalteter Schlüssel nicht verfügbar ist, speichert Cloud Logging Logs weiterhin in Log-Buckets, aber Nutzer können nicht auf diese Daten zugreifen.

Weitere Informationen und mögliche Alternativen bei der Verwendung externer Schlüssel finden Sie in der Dokumentation zum Cloud External Key Manager.

Einschränkungen für Log-Buckets

Informationen zu Einschränkungen bei der Verwendung von CMEK mit Log-Buckets finden Sie unter Einschränkungen.

Kontingente

Ausführliche Informationen zu den Nutzungslimits für Logging finden Sie unter Kontingente und Limits.

Konfigurationsfehler beheben

Informationen zum Beheben von CMEK-Konfigurationsfehlern finden Sie unter Fehler bei CMEK und den Standardeinstellungen beheben.