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:
Bei der Verwendung von CMEK gibt es einige Einschränkungen. Lesen Sie die Einschränkungen, bevor Sie einen Log-Bucket mit aktiviertem CMEK erstellen.
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.
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.
-
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.
Sie benötigen die folgenden Cloud Logging-Berechtigungen für die Organisation:
logging.settings.get
logging.settings.update
Aktivieren Sie die Cloud KMS API für das Google Cloud-Projekt, in dem Cloud KMS ausgeführt wird.
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.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
- Ö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 Klicken Sie auf den Namen des Schlüsselbunds, der den gewünschten Schlüssel enthält.
Klicken Sie das Kästchen für den gewünschten Schlüssel an.
Der Tab Berechtigungen wird verfügbar.
Geben Sie im Dialogfeld Mitglieder hinzufügen die E-Mail-Adresse des Logging-Dienstkontos an, auf das Sie Zugriff gewähren.
Wählen Sie im Drop-down-Menü Rolle auswählen die Option Cloud KMS CryptoKey-Verschlüsseler/Entschlüsseler aus.
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 RichtlinienlisteDeny
für die Einschränkungconstraints/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:
-
Wählen Sie im Navigationsbereich der Google Cloud Console IAM und Verwaltung und dann Organisationsrichtlinien aus:
- Wählen Sie Ihre Organisation aus.
Ü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.