In diesem Dokument finden Sie eine Anleitung zum Konfigurieren von kundenverwalteten Verschlüsselungsschlüsseln (Customer-Managed Encryption Keys, CMEK) für Logs, die in Log-Buckets gespeichert sind. In diesem Dokument wird auch beschrieben, wie Sie diese Schlüssel verwalten und welche Einschränkungen mit der Verwendung von CMEK verbunden sind.
Für Organisationen und Ordner können Sie CMEK als Standardressourceneinstellung für Cloud Logging konfigurieren. Wenn Cloud Logging konfiguriert ist, werden alle neuen Log-Buckets in der Organisation oder im Ordner mit einem vom Kunden verwalteten Schlüssel verschlüsselt. Wenn Sie beim Erstellen eines Log-Buckets keinen Schlüssel angeben, wird der Schlüssel verwendet, der in den Standardressourceneinstellungen für Cloud Logging angegeben ist. Weitere Informationen finden Sie unter CMEK für Cloud Logging konfigurieren.
Übersicht
Cloud Logging verschlüsselt ruhende Kundeninhalte standardmäßig. Die Verschlüsselung wird von Logging übernommen. Weitere Maßnahmen Ihrerseits sind nicht erforderlich. Diese Option heißt Google-Standardverschlüsselung.
Wenn Sie Ihre Verschlüsselungsschlüssel selbst verwalten möchten, können Sie kundenverwaltete Verschlüsselungsschlüssel (CMEKs) in Cloud KMS mit CMEK-integrierten Diensten wie Logging verwenden. Mit Cloud KMS-Schlüsseln haben Sie die Kontrolle über Schutzlevel, Speicherort, Rotationszeitplan, Nutzungs- und Zugriffsberechtigungen sowie über kryptografische Grenzen. Mit Cloud KMS können Sie außerdem Audit-Logs aufrufen und den Lebenszyklus von Schlüsseln steuern. Statt es Google zu überlassen, die symmetrischen Schlüsselverschlüsselungsschlüssel (Key Encryption Keys, KEKs) zum Schutz Ihrer Daten zu besitzen und zu verwalten, können Sie diese auch über Cloud KMS steuern und verwalten.
Nachdem Sie Ihre Ressourcen mit CMEKs eingerichtet haben, ähnelt der Zugriff auf Ihre Logging-Ressourcen der Verwendung der Google-Standardverschlüsselung. Weitere Informationen zu Ihren Verschlüsselungsoptionen finden Sie unter Kundenverwaltete Verschlüsselungsschlüssel (CMEK).
Vorbereitung
Gehen Sie folgendermaßen vor:
Für die Verwendung von CMEK gelten einige Einschränkungen. Bevor Sie einen Log-Bucket mit aktiviertem CMEK erstellen, lesen Sie die Einschränkungen.
Installieren Sie die Google Cloud CLI und melden Sie sich dann mit Ihrer föderierten Identität in der gcloud CLI an. Nach der Anmeldung initialisieren Sie die Google Cloud CLI mit dem folgenden Befehl:
gcloud initKonfigurieren Sie das Cloud de Confiance -Projekt, in dem Sie Ihre Schlüssel erstellen möchten:
-
Bitten Sie Ihren Administrator, Ihnen die IAM-Rolle Cloud KMS-Administrator (
roles/cloudkms.admin) für das Projekt oder eine übergeordnete Ressource zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Erstellen von Schlüsseln benötigen. Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.Sie können die erforderlichen Berechtigungen auch über benutzerdefinierte Rollen oder andere vordefinierte Rollen erhalten.
Schlüsselbund und Schlüssel erstellen
Der Speicherort des Log-Buckets muss mit dem Speicherort des Schlüssels übereinstimmen. Informationen zu unterstützten Regionen finden Sie unter Unterstützte Regionen für Logging.
Sie können CMEK nicht für Log-Buckets aktivieren, die in der Region
globalerstellt wurden.
-
Prüfen Sie, ob Sie die folgenden Cloud Logging-Berechtigungen für dasCloud de Confiance -Projekt haben, in dem Sie Log-Buckets erstellen möchten:
logging.settings.getlogging.buckets.getlogging.buckets.listlogging.buckets.createlogging.buckets.update
CMEK aktivieren
Nachdem Sie die Voraussetzungen erfüllt haben, folgen Sie dieser Anleitung, um CMEK für einen einzelnen Log-Bucket zu aktivieren.
Dienstkonto-ID ermitteln
So ermitteln Sie die Dienstkonto-ID, die der Cloud de Confiance-Ressource zugeordnet ist, für die CMEK angewendet wird:
Führen Sie den folgenden
gcloud logging settings describe-Befehl aus:gcloud logging settings describe --project=BUCKET_PROJECT_ID
Ersetzen Sie vor dem Ausführen des vorherigen Befehls Folgendes:
- BUCKET_PROJECT_ID: Name des Cloud de Confiance Projekts, in dem Sie den Log-Bucket erstellen möchten.
Mit dem vorherigen Befehl wird ein Dienstkonto für die angegebene Ressource generiert, sofern noch keines vorhanden ist. Die ID dieses Dienstkontos wird im Feld
kmsServiceAccountIdzurückgegeben:kmsServiceAccountId: KMS_SERVICE_ACCT_NAME@gcp-sa-logging.s3ns-system.iam.gserviceaccount.com loggingServiceAccountId: SERVICE_ACCT_NAME@gcp-sa-logging.s3ns-system.iam.gserviceaccount.com name: projects/BUCKET_PROJECT_ID/settings
Im Feld
kmsServiceAccountIdwird das Dienstkonto aufgeführt, das von Cloud Logging zum Aufrufen von Cloud Key Management Service verwendet wird.
Verschlüsseler-/Entschlüsselerrolle zuweisen
Wenn Sie CMEK auf Log-Bucket-Ebene konfigurieren, erteilen Sie dem Dienstkonto die Berechtigung zur Verwendung Ihres Cloud KMS-Schlüssels, indem Sie dem Dienstkonto, das durch das Feld kmsServiceAccountId identifiziert wird, die Rolle Cloud KMS CryptoKey Encrypter/Decrypter zuweisen:
gcloud kms keys add-iam-policy-binding \ --project=KMS_PROJECT_ID \ --member=serviceAccount:KMS_SERVICE_ACCT_NAME@gcp-sa-logging.s3ns-system.iam.gserviceaccount.com \ --role=roles/cloudkms.cryptoKeyEncrypterDecrypter \ --location=KMS_KEY_LOCATION \ --keyring=KMS_KEY_RING \ KMS_KEY_NAME
Ersetzen Sie vor dem Ausführen des vorherigen Befehls Folgendes:
- KMS_PROJECT_ID: Die eindeutige alphanumerische Kennung, die sich aus dem Namen Ihres Cloud de Confiance Projekts und einer zufällig zugewiesenen Nummer zusammensetzt, des Cloud de Confiance Projekts, in dem Cloud KMS ausgeführt wird. Informationen zum Abrufen dieser Kennung finden Sie unter Projekte identifizieren.
- KMS_SERVICE_ACCT_NAME: Der Name des Dienstkontos, der im Feld
kmsServiceAccountIdder Antwort des Befehlsgcloud logging settings describeangezeigt wird. - KMS_KEY_LOCATION: Die Region des Cloud KMS-Schlüssels.
- KMS_KEY_RING: Der Name des Cloud KMS-Schlüsselbunds.
- KMS_KEY_NAME:
Der Name des Cloud KMS-Schlüssels. Das Format ist:
projects/KMS_PROJECT_ID/locations/LOCATION/keyRings/KMS_KEY_RING/cryptoKeys/KEY.
Log-Bucket erstellen und Cloud KMS-Schlüssel angeben
Führen Sie den folgenden gcloud logging buckets create-Befehl aus, um einen Log-Bucket zu erstellen und CMEK für den Log-Bucket zu aktivieren:
gcloud logging buckets create BUCKET_ID \ --location=LOCATION \ --cmek-kms-key-name=KMS_KEY_NAME \ --project=BUCKET_PROJECT_ID
Ersetzen Sie vor dem Ausführen des vorherigen Befehls Folgendes:
- BUCKET_ID: Der Name oder die ID des Log-Buckets.
- LOCATION: der Speicherort des Log-Buckets
- KMS_KEY_NAME:
Der Name des Cloud KMS-Schlüssels. Das Format ist:
projects/KMS_PROJECT_ID/locations/LOCATION/keyRings/KMS_KEY_RING/cryptoKeys/KEY. - BUCKET_PROJECT_ID: Name des Cloud de Confiance Projekts, in dem der Log-Bucket erstellt wird.
Schlüsselaktivierung prüfen
Führen Sie den folgenden gcloud logging buckets list-Befehl aus, um zu prüfen, ob Sie einen Log-Bucket mit aktivierter CMEK-Verschlüsselung erstellt haben:
gcloud logging buckets list --project=BUCKET_PROJECT_ID
Ersetzen Sie vor dem Ausführen des vorherigen Befehls Folgendes:
- BUCKET_PROJECT_ID: Name des Cloud de Confiance Projekts, in dem der Log-Bucket gespeichert ist.
In der tabellarischen Ausgabe sehen Sie eine Spalte mit der Bezeichnung CMEK. Wenn der Wert der Spalte CMEK TRUE ist, ist CMEK für den Log-Bucket aktiviert.
Führen Sie diesen Befehl aus, um die Details für einen bestimmten Log-Bucket aufzurufen, einschließlich der Details des Schlüssels:
gcloud logging buckets describe BUCKET_ID --location=LOCATION --project=BUCKET_PROJECT_ID
Cloud KMS-Schlüssel verwalten
In den folgenden Abschnitten wird beschrieben, wie Sie einen Log-Bucket aktualisieren, damit er die neueste Primärschlüsselversion eines Cloud KMS-Schlüssels verwendet. Außerdem wird beschrieben, wie Sie Ihren Cloud KMS-Schlüssel ändern, den Zugriff darauf widerrufen und ihn deaktivieren.
Cloud KMS-Schlüssel rotieren
Wenn Sie einen Cloud KMS-Schlüssel erstellen, können Sie einen Rotationszeitraum konfigurieren. Sie können einen Cloud KMS-Schlüssel auch manuell rotieren. Bei jeder Schlüsselrotation wird eine neue Version des Schlüssels erstellt.
Wenn Sie einen Cloud KMS-Schlüssel rotieren, gilt die neue Schlüsselversion nur für Log-Buckets, die nach der Schlüsselrotation erstellt wurden. Wenn der Schlüssel von einem vorhandenen Log-Bucket verwendet wird, ändert sich durch das Rotieren des Schlüssels nicht, wie das Log-Bucket seine Daten schützt.
Angenommen, Sie erstellen einen Log-Bucket und aktivieren CMEK. Anschließend rotieren Sie den Cloud KMS-Schlüssel. Der von Ihnen erstellte Log-Bucket verwendet nicht die neue Schlüsselversion, sondern schützt seine Daten weiterhin mit der Schlüsselversion, die beim Erstellen des Log-Buckets als primär markiert war.
So aktualisieren Sie einen Log-Bucket, damit er die aktuelle primäre Schlüsselversion eines Cloud KMS-Schlüssels verwendet:
- Ermitteln Sie den aktuellen Cloud KMS-Schlüssel für den Log-Bucket. Weitere Informationen finden Sie unter Schlüsselaktivierung überprüfen.
- Suchen Sie einen anderen Cloud KMS-Schlüssel, den Sie verwenden können. Wenn Ihr Schlüsselbund nur einen Schlüssel enthält, erstellen Sie einen Schlüssel.
- Ändern Sie den Cloud KMS-Schlüssel für den Log-Bucket in den Cloud KMS-Schlüssel, der im vorherigen Schritt erstellt wurde.
- Ändern Sie den Cloud KMS-Schlüssel für den Log-Bucket in den ursprünglichen Cloud KMS-Schlüssel.
Cloud KMS-Schlüssel ändern
Wenn Sie den Cloud KMS-Schlüssel ändern möchten, der Ihrem Log-Bucket zugeordnet ist, erstellen Sie einen Schlüssel und aktualisieren Sie die CMEK-Einstellungen für den Log-Bucket:
gcloud logging buckets update BUCKET_ID --location=LOCATION \ --cmek-kms-key-name=NEW_KMS_KEY_NAME --project=BUCKET_PROJECT_ID
- BUCKET_ID: Der Name oder die ID des Log-Buckets.
- LOCATION: der Speicherort des Log-Buckets
- NEW_KMS_KEY_NAME: Name des neuen Schlüssels.
- BUCKET_PROJECT_ID: Name des Cloud de Confiance Projekts, in dem der Log-Bucket gespeichert ist.
Zugriff auf den Cloud KMS-Schlüssel widerrufen
Wenn Sie den Zugriff von Logging auf den Cloud KMS-Schlüssel widerrufen möchten, entfernen Sie die konfigurierten IAM-Berechtigung des Dienstkontos für diesen Schlüssel.
Wenn Sie Logging den Zugriff auf einen Schlüssel entziehen, kann es bis zu einer Stunde dauern, bis die Änderung wirksam wird.
Weitere Informationen zu den Auswirkungen des Widerrufs des Zugriffs finden Sie unter Einschränkungen.
Führen Sie den folgenden Befehl aus, um den Zugriff von Logging auf einen Schlüssel zu entfernen:
gcloud kms keys remove-iam-policy-binding \ --project=KMS_PROJECT_ID \ --member=serviceAccount:KMS_SERVICE_ACCT_NAME@gcp-sa-logging.s3ns-system.iam.gserviceaccount.com \ --role=roles/cloudkms.cryptoKeyEncrypterDecrypter \ --location=KMS_KEY_LOCATION \ --keyring=KMS_KEY_RING \ KMS_KEY_NAME
Ersetzen Sie vor dem Ausführen des vorherigen Befehls Folgendes:
- KMS_PROJECT_ID: Die eindeutige alphanumerische Kennung, die sich aus dem Namen Ihres Cloud de Confiance Projekts und einer zufällig zugewiesenen Nummer zusammensetzt, des Cloud de Confiance Projekts, in dem Cloud KMS ausgeführt wird. Informationen zum Abrufen dieser Kennung finden Sie unter Projekte identifizieren.
- KMS_SERVICE_ACCT_NAME: Der Name des Dienstkontos, der im Feld
kmsServiceAccountIdder Antwort des Befehlsgcloud logging settings describeangezeigt wird. - KMS_KEY_LOCATION: Die Region des Cloud KMS-Schlüssels.
- KMS_KEY_RING: Der Name des Cloud KMS-Schlüsselbunds.
- KMS_KEY_NAME:
Der Name des Cloud KMS-Schlüssels. Das Format ist:
projects/KMS_PROJECT_ID/locations/LOCATION/keyRings/KMS_KEY_RING/cryptoKeys/KEY.
Beschränkungen
Es gelten die folgenden bekannten Einschränkungen.
CMEK kann nicht aus Log-Buckets entfernt werden
Sie können Log-Buckets nicht neu konfigurieren, um CMEK zu ändern oder zu entfernen.
Leistungseinbußen aufgrund der Nichtverfügbarkeit von Cloud KMS-Schlüsseln
Ein Cloud KMS-Schlüssel gilt als für Logging verfügbar und zugänglich, wenn die beiden folgenden Bedingungen zutreffen:
- Der Schlüssel ist aktiviert.
- Das Logging-Dienstkonto hat Berechtigungen zum Verschlüsseln und Entschlüsseln für den Schlüssel.
Beim Logging wird dringend empfohlen, dafür zu sorgen, dass alle Schlüssel richtig konfiguriert und immer verfügbar sind.
Verlust der Notfallwiederherstellung
Bei kritischen Fehlern im primären Speicher von Cloud Logging werden die Logging-Daten in Dateien für die Notfallwiederherstellung gespiegelt. Wenn CMEK für eine Ressource wie eine Cloud de Confiance Organisation aktiviert ist, werden Logs, die zu dieser Ressource gehören, durch den konfigurierten CMEK-Schlüssel geschützt. Wenn der CMEK-Schlüssel nicht zugänglich ist, können die Dateien für die Notfallwiederherstellung für diese Ressource nicht geschrieben werden.
Der Verlust von Dateien für die Notfallwiederherstellung hat keine Auswirkungen auf den normalen Logging-Vorgang. Im Falle einer Speicherkatastrophe kann Cloud Logging jedoch möglicherweise keine Logs von Ressourcen wiederherstellen, deren CMEK nicht richtig konfiguriert ist.
Beeinträchtigte Abfrageleistung
Wenn ein kundenverwalteter Verschlüsselungsschlüssel nicht zugänglich ist, verschlüsselt Cloud Logging Ihre Daten weiterhin und speichert sie in Log-Buckets. Cloud Logging kann jedoch keine Hintergrundoptimierungen für diese Daten durchführen. Wenn der Schlüsselzugriff wiederhergestellt wird, sind die Daten wieder verfügbar. Die Daten werden jedoch anfangs in einem nicht optimierten Zustand gespeichert und die Abfrageleistung kann beeinträchtigt sein.
Leistungseinbußen aufgrund der Nichtverfügbarkeit von Cloud EKM-Schlüsseln
Wenn Sie einen Cloud EKM-Schlüssel verwenden,hat Cloud de Confiance by S3NS keine Kontrolle über die Verfügbarkeit Ihres extern verwalteten Schlüssels im Partnersystem für die externe Schlüsselverwaltung. Wenn ein extern verwalteter Schlüssel für CMEK auf Bucket-Ebene nicht verfügbar ist, werden Logs weiterhin in Log-Buckets gespeichert, aber Nutzer können nicht auf diese Logs zugreifen.
Weitere Überlegungen und mögliche Alternativen bei der Verwendung externer Schlüssel finden Sie in der Cloud External Key Manager-Dokumentation.
Regionalität
Wenn Sie einen Log-Bucket erstellen und CMEK aktivieren, müssen Sie einen Schlüssel verwenden, dessen Region dem regionalen Bereich Ihrer Daten entspricht.
Verfügbarkeit der Clientbibliothek
Logging-Clientbibliotheken bieten keine Methoden zum Konfigurieren von CMEK.
Kontingente
Wenn Sie CMEK in Logging verwenden, können Ihre Projekte Kontingente für kryptografische Cloud KMS-Anfragen verbrauchen. Wenn Sie beispielsweise CMEK für einen Log-Bucket aktivieren, können diese Kontingente aufgebraucht werden. Ver- und Entschlüsselungsvorgänge über CMEK-Schlüssel wirken sich nur dann auf Cloud KMS-Kontingente aus, wenn Sie externe Schlüssel (Cloud EKM) verwenden. Weitere Informationen finden Sie unter Cloud KMS-Kontingente.
Ausführliche Informationen zu den Nutzungslimits für Logging finden Sie unter Kontingente und Limits.
Konfigurationsfehler beheben
Informationen zur Fehlerbehebung bei CMEK-Konfigurationsfehlern finden Sie unter Fehlerbehebung bei CMEK- und Organisationseinstellungen.