Vom Kunden verwaltete Verschlüsselungsschlüssel (CMEK)

Alle inaktiven Daten in Google Cloud, einschließlich der Daten in Cloud Spanner, sind standardmäßig mit der von Google verwalteten Standardverschlüsselung geschützt. Google Cloud verarbeitet und verwaltet diese Standardverschlüsselung, sodass von Ihrer Seite keine weiteren Maßnahmen erforderlich sind.

Wenn Sie bestimmte Compliance- oder behördlichen Anforderungen in Bezug auf die Schlüssel zum Schutz Ihrer Daten haben, können Sie für Cloud Spanner vom Kunden verwaltete Verschlüsselungsschlüssel (Customer-Managed Encryption Keys, CMEK) verwenden. Statt Google die Verschlüsselungsschlüssel zum Schutz Ihrer Daten zu verwalten, ist Ihre Cloud Spanner-Datenbank mit einem Schlüssel geschützt, den Sie im Cloud Key Management Service (KMS) verwalten und verwalten.

Auf dieser Seite wird CMEK für Cloud Spanner beschrieben. Weitere allgemeine Informationen zu CMEK einschließlich ihrer Aktivierung finden Sie in der Cloud KMS-Dokumentation.

Features

  • Datenzugriffssteuerung:Administratoren können den Schlüssel zum Schutz inaktiver Daten in Cloud Spanner rotieren, verwalten und löschen.
  • Prüfung:Wenn Sie in Ihrem Projekt Audit-Logging für die Cloud KMS API aktivieren, werden alle Aktionen auf dem Schlüssel ausgeführt, einschließlich der von Cloud Spanner ausgeführten Vorgänge. ) werden in Cloud Logging protokolliert und können eingesehen werden.
  • Leistung: Die Leistung von Cloud Spanner und das Service Level Agreement sind unverändert.

Preise

Cloud Spanner berechnet CMEK-fähige Datenbanken wie jede andere Datenbank. Es fallen keine weiteren Cloud Spanner-Kosten an. Weitere Informationen finden Sie unter Cloud Spanner-Preise.

Cloud KMS wird sowohl die Kosten für den Schlüssel als auch die kryptografischen Vorgänge auf diesem Schlüssel in Rechnung gestellt (wenn Cloud Spanner den Schlüssel für die Verschlüsselung/Entschlüsselung verwendet). Wir gehen davon aus, dass diese Kosten minimal basierend auf der erwarteten Anzahl kryptografischer Vorgänge sind, die von Cloud Spanner generiert werden. Weitere Informationen finden Sie unter Cloud KMS – Preise.

Was ist mit CMEK geschützt?

In einer CMEK-fähigen Datenbank verwendet Cloud Spanner Ihren Cloud KMS-Schlüssel, um inaktive Daten zu schützen. Dies schließt Daten in eine Datenbank ein, die auf dem Laufwerk oder Flash gespeichert ist.

Es gelten Ausnahmen. Die folgenden Datentypen werden durch die standardmäßige Google-Verschlüsselung inaktiver Daten und nicht vom CMEK-Schlüssel geschützt:

  • Eine Teilmenge von Zeilenschlüsseln, die Bereichsgrenzen markieren
  • Debugging von Daten, einschließlich Kern-Dumps und Betriebslogs
  • Daten bei der Übertragung oder im Speicher
  • Datenbankmetadaten

In Cloud Spanner gibt es drei Verschlüsselungsebenen. Inaktive Daten werden zur Speicherung in Unterdateiblöcke zerlegt. Jeder Block wird auf Speicherebene mit einem individuellen Verschlüsselungsschlüssel verschlüsselt. Zum Verschlüsseln von Daten in einem Block verwendete Schlüssel werden Datenverschlüsselungsschlüssel (Data Encryption Keys, DEKs) genannt. Aufgrund der hohen Anzahl von Schlüsseln bei Google und der Notwendigkeit einer geringen Latenz und hohen Verfügbarkeit werden diese Schlüssel in der Nähe der Daten gespeichert, die sie verschlüsseln. Die DEKs werden mit einem Schlüsselverschlüsselungsschlüssel (Key Encryption Key, KEK) verschlüsselt (bzw. "verpackt"). Schließlich wird jeder KEK mit Ihrem vom Kunden verwalteten Verschlüsselungsschlüssel verschlüsselt.

Wenn Sie den CMEK-Schlüssel rotieren, verschlüsselt Cloud Spanner nur die Zwischen-KEKs mit der neuesten primären Version des CMEK-Schlüssels neu. Sobald die Neuverschlüsselung abgeschlossen ist, kann der Zugriff auf die Datenbank nicht mehr deaktiviert oder gelöscht werden, indem die alten Versionen des CMEK-Schlüssels deaktiviert werden. Sie können auch die Schlüsselversionen aufrufen, die zum Schutz einer Datenbank verwendet werden.

Mit CMEK

"Abbildung zur Verschlüsselung mit einem vom Kunden verwalteten Verschlüsselungsschlüssel"

Ohne CMEK

"Abbildung zur Verschlüsselung mit einem von Google verwalteten Verschlüsselungsschlüssel"

CMEK aktivieren

Zur Verwendung von CMEK für Cloud Spanner-Datenbanken müssen Sie eine neue Datenbank erstellen und den Cloud KMS-Schlüssel zum Erstellen der Datenbank angeben.

Cloud Spanner kann in Ihrem Namen auf den Schlüssel zugreifen, nachdem Sie denCloud KMS CryptoKey-Verschlüsseler/Entschlüsseler (roles/cloudkms.cryptoKeyEncrypterDecrypter ) zu einer von Google verwaltetenCloud Spanner-Dienstkonto auf.

Eine ausführliche Anleitung finden Sie unter CMEK verwenden.

Die APIs für den Datenzugriff von Cloud Spanner, z. B. solche, die zum Verwalten von Sitzungen und Ausführen von Transaktionen für Daten verwendet werden, sind sowohl für CMEK-fähige als auch von Google verwaltete Datenbanken identisch. Anwendungen müssen beim Lesen oder Schreiben von Daten keine Schlüssel oder Verschlüsselungskonfigurationen angeben. Die gesamte Verschlüsselung erfolgt vom Dienst.

Schlüsselverwaltung

Schlüsselverwaltungsvorgänge werden mit Cloud KMS ausgeführt. Cloud Spanner kann keine Schlüsseländerungen erkennen oder darauf reagieren, bis diese von Cloud KMS übernommen werden. Manche Vorgänge wie das Deaktivieren oder Löschen eines Schlüssels können bis zu drei Stunden dauern. Änderungen an Berechtigungen werden in der Regel viel schneller umgesetzt.

Sobald die Datenbank erstellt ist, ruft Cloud Spanner etwa alle fünf Minuten Cloud KMS auf, um sicherzustellen, dass der Schlüssel noch gültig ist.

Wenn Cloud Spanner feststellt, dass Ihr Cloud KMS-Schlüssel deaktiviert oder gelöscht wurde, beginnt ein Vorgang, der Ihre Datenbank sofort zugänglich macht. Alle nachfolgenden Aufrufe der Datenbank, einschließlich Sitzungen, Lesevorgänge und Schreibvorgänge, geben den Fehler FAILED_PRECONDITION zurück: KMS key required by the Spanner resource is not accessible.

Wenn Cloud Spanner-Aufrufe an Cloud KMS feststellen, dass ein zuvor deaktivierter Schlüssel wieder aktiviert wurde, stellt Cloud KMS den Zugriff auf die Cloud Spanner-Datenbank automatisch wieder her.

Umgang mit einem nicht verfügbaren Schlüsselstatus

In seltenen Fällen, z. B. in Zeiträumen, in denen Cloud KMS nicht verfügbar ist, kann Cloud Spanner den Status Ihres Schlüssels möglicherweise nicht aus Cloud KMS abrufen.

Wenn Ihre Cloud Spanner-Datenbank durch einen Schlüssel geschützt ist, der zu dem Zeitpunkt aktiviert ist, an dem Cloud Spanner nicht mit Cloud KMS kommunizieren kann, unterstützt Cloud Spanner weiterhin vollständige Datenbankvorgänge auf einer bis zu einer Stunde vergangen sind, um die Auswirkungen eines solchen Vorfalls auf die Arbeitslast zu minimieren.

Wenn Cloud Spanner nach einer Stunde immer noch keine Verbindung zu Cloud KMS herstellen kann, beginnt Cloud Spanner damit, die Datenbank als Schutzmaßnahme offline zu schalten. Die Daten in der Cloud Spanner-Datenbank bleiben zugänglich, bis die Datenbank wieder eine Verbindung zu Cloud KMS herstellen kann. Cloud KMS gibt dann an, dass der Schlüssel aktiv ist.

Wenn Ihre Cloud Spanner-Datenbank jedoch durch einen Schlüssel geschützt ist, der zum Zeitpunkt der ersten Kommunikation von Cloud Spanner mit Cloud KMS deaktiviert ist, bleibt Ihre Datenbank so lange zugänglich, bis sie wieder eine Verbindung herstellen kann. Cloud KMS verwenden und Sie Ihren Schlüssel wieder aktiviert haben

Sichern und wiederherstellen

Cloud Spanner-Sicherungen wie Datenbanken können durch CMEK oder von Google verwaltete Verschlüsselung geschützt werden. Standardmäßig verwendet eine Sicherung dieselbe Verschlüsselungskonfiguration wie die Datenbank, Sie können dieses Verhalten jedoch überschreiben, wenn Sie beim Erstellen der Sicherung eine andere Verschlüsselungskonfiguration angeben. Wenn CMEK für die Sicherung aktiviert ist, wird sie mit der primären Version des KMS-Schlüssels zum Zeitpunkt der Sicherung verschlüsselt. Nachdem die Sicherung erstellt wurde, können der Schlüssel und die Schlüsselversion nicht mehr geändert werden, auch wenn der KMS-Schlüssel rotiert wird. Weitere Informationen finden Sie unter Datenbank sichern.

Wenn Sie eine Datenbank aus einer Sicherung wiederherstellen, verwendet die wiederhergestellte Datenbank standardmäßig dieselbe Verschlüsselungskonfiguration wie die Sicherung. Sie können dieses Verhalten überschreiben, indem Sie beim Wiederherstellen der Datenbank eine andere Verschlüsselungskonfiguration angeben. Wenn Sie eine CMEK-fähige Sicherung wiederherstellen möchten, müssen sowohl der Schlüssel als auch die Schlüsselversion, die zum Verschlüsseln der Sicherung verwendet wurde, verfügbar sein. Weitere Informationen finden Sie unter Daten aus einer Sicherung wiederherstellen.

Logging

Wenn Sie in Ihrem Projekt das Audit-Logging für die Cloud KMS API in Ihrem Projekt aktiviert haben, können Sie die Anfragen prüfen, die Cloud Spanner in Ihrem Namen an Cloud KMS sendet. Diese Cloud KMS-Logeinträge sind in Cloud Logging sichtbar.