CMEK für Cloud Logging konfigurieren

In diesem Dokument wird beschrieben, wie Sie vom Kunden verwaltete Verschlüsselungsschlüssel (CMEK) für Cloud Logging konfigurieren und verwalten, um die Complianceanforderungen Ihrer Organisation zu erfüllen. Sie können CMEK als Standardressourceneinstellung für eine Organisation, einen Ordner oder für beides konfigurieren. Nach der 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. Diese werden 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. Anstatt die Verschlüsselungsschlüssel, die Ihre Daten schützen, von Google zu verwalten, können Sie CMEK so konfigurieren, dass Ihre eigene Verschlüsselung gesteuert und verwaltet wird, um die Anforderungen Ihrer Organisation zu erfüllen.

Spezifische Informationen zu CMEK einschließlich der Vor- und Nachteile finden Sie unter Vom Kunden verwaltete Verschlüsselungsschlüssel.

Wenn Sie CMEK als Standardressourceneinstellung 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

    In diesem Leitfaden finden Sie eine Anleitung zur Verwendung der Google Cloud CLI.

  3. Suchen Sie die Kennzeichnungen der Organisation oder des Ordners, 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 ID 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-Administrator (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. Sie benötigen die folgenden Cloud Logging-Berechtigungen für die Organisation:

    • 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 einer beliebigen 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 anhand der Schritte in diesem Dokument als Standardressourceneinstellung für Logging konfigurieren, werden neue Log-Buckets, die in der Organisation oder dem Ordner erstellt wurden, automatisch für CMEK konfiguriert. Da der Speicherort eines Log-Buckets mit dem Standort des Schlüssels übereinstimmen muss, können Sie nach dem Konfigurieren von CMEK als Standardressourceneinstellung außerdem keine Log-Buckets in der Region global erstellen.

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

    • KMS_PROJECT_ID ist die eindeutige alphanumerische Kennung aus dem Namen des 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 ID 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 der Organisation oder des Ordners zu ermitteln, für die der CMEK gilt:

ORDNER

 gcloud logging settings describe --folder=FOLDER_ID

ORGANISATION

gcloud logging settings describe --organization=ORGANIZATION_ID

Durch die Ausführung des vorherigen Befehls wird ein Dienstkonto für die Organisation oder den Ordner generiert, falls noch keines vorhanden ist. Die ID wird 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 beträgt der Wert von SERVICE_ACCT_NAME cmek-p12345.

Führen Sie den Bereitstellungsprozess nur einmal pro Ressource aus. Wenn Sie den Befehl describe mehrmals ausführen, wird für das Feld kmsServiceAccountId derselbe Wert 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, für die der CMEK-Schutz erforderlich ist. Außerdem lässt sich einschränken, welche Cloud KMS-CryptoKeys für den CMEK-Schutz verwendet werden können:

  • Wenn logging.googleapis.com in der Richtlinienliste Deny für die Einschränkung constraints/gcp.restrictNonCmekServices enthalten ist, werden in Logging keine neuen benutzerdefinierten Buckets erstellt, die nicht CMEK-geschützt sind. Diese Einschränkung hindert Cloud Logging jedoch nicht daran, die Log-Buckets _Required und _Default zu erstellen, die zusammen mit einem Google Cloud-Projekt 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 die Standardeinstellungen für Ressourcen ändern möchten, sollten Sie außerdem die Organisationsrichtlinien prüfen und gegebenenfalls aktualisieren, bevor Sie die Standardressourceneinstellungen aktualisieren.

So können Sie Organisationsrichtlinien aufrufen oder konfigurieren:

  1. Wählen Sie im Navigationsbereich der Google Cloud Console IAM und Verwaltung und dann Organisationsrichtlinien aus:

    Zu den Organisationsrichtlinien

  2. Wählen Sie Ihre Organisation aus.
  3. Überprü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 Standardressourceneinstellung 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 so, dass Informationen zum Cloud KMS-Schlüssel gespeichert werden. Achten Sie darauf, dass der Standardspeicherort für den Ordner auf den Wert von KMS_KEY_LOCATION festgelegt ist. Wenn Sie den Standardspeicherort nicht festgelegt haben oder der Wert dieses Standorts nicht mit dem Wert von KMS_KEY_LOCATION übereinstimmt, hängen Sie an den vorherigen Befehl Folgendes 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 so, dass Informationen zum Cloud KMS-Schlüssel gespeichert werden. Achten Sie darauf, dass der Standardspeicherort für die Organisation auf den Wert von KMS_KEY_LOCATION festgelegt ist. Wenn Sie den Standardspeicherort nicht festgelegt haben oder der Wert dieses Standorts nicht mit dem Wert von KMS_KEY_LOCATION übereinstimmt, hängen Sie an den vorherigen Befehl Folgendes an:

--storage-location = KMS_KEY_LOCATION

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

Nachdem der Schlüssel angewendet wurde, 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 in der Region global keine Log-Buckets 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 CMEK für eine Organisation oder einen Ordner erfolgreich aktiviert wurde:

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 Standardressourceneinstellung für eine Organisation oder einen Ordner konfigurieren, verwenden neue Log-Buckets in der Organisation oder im 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 verwenden.

    Informationen zu CMEK für Log-Buckets, einschließlich des Änderns von Schlüsseln und Einschränkungen, wenn Sie CMEK für einen Log-Bucket aktivieren, 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 aufgrund der Nichtverfügbarkeit von Schlüsseln Daten verloren gehen, können Sie Logs rückwirkend im Bulk nach Cloud Storage kopieren, wenn diese Logs auch in einem Log-Bucket gespeichert werden. 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 den Standardspeicherort nicht festgelegt haben oder der Wert dieses Standorts nicht mit dem Wert von KMS_KEY_LOCATION übereinstimmt, hängen Sie an den vorherigen Befehl Folgendes 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 den Standardspeicherort nicht festgelegt haben oder der Wert dieses Standorts nicht mit dem Wert von KMS_KEY_LOCATION übereinstimmt, hängen Sie an den vorherigen Befehl Folgendes 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, indem Sie die IAM-Berechtigung des konfigurierten Dienstkontos für diesen Schlüssel entfernen.

Wenn Sie Logging den Zugriff auf einen Schlüssel entziehen, 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 CMEK für eine Organisation oder einen Ordner deaktivieren, wird die Erzwingung der CMEK-Richtlinie nur für zukünftige Vorgänge entfernt. 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 Standardressourceneinstellung 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

Folgende Einschränkungen sind bekannt, wenn Sie CMEK als Standardressourceneinstellung für Logging konfigurieren.

Nichtverfügbarkeit der Datei zur Notfallwiederherstellung

Ein Cloud KMS-Schlüssel wird von Logging als verfügbar und zugänglich angesehen, 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. Außerdem funktionieren Abfragen 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 zur Erleichterung des Routings 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.

Verschlechterung aufgrund der Nichtverfügbarkeit des Cloud EKM-Schlüssels

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 Standardressourceneinstellung 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. Cloud Logging puffert außerdem die eingehenden Logdaten bis zu einer Stunde. Wenn Cloud Logging nach einer Stunde immer noch nicht auf den extern verwalteten Schlüssel zugreifen kann, beginnt Cloud Logging mit dem Löschen der Daten.

Wenn CMEK auf einen Log-Bucket angewendet wird und ein extern verwalteter Schlüssel nicht verfügbar ist, speichert Cloud Logging weiterhin Logs in Log-Buckets. Nutzer können jedoch 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

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 Fehlerbehebung bei CMEK und Fehlern bei der Standardeinstellung.