Kunden-verwaltete Verschlüsselungsschlüssel (CMEK)

Standardmäßig werden alle inaktiven Daten in Cloud Firestore mit der Standardverschlüsselung von Google verschlüsselt. Diese Verschlüsselung wird von Cloud Firestore durchgeführt und verwaltet. Zusätzliche Maßnahmen Ihrerseits sind nicht erforderlich.

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

Auf dieser Seite wird CMEK für Cloud Firestore beschrieben. Weitere Informationen zu CMEK und deren Aktivierung finden Sie in der folgenden Cloud KMS-Dokumentation:

Eine Anleitung zum Ausführen von CMEK-bezogenen Aufgaben mit Cloud Firestore finden Sie unter CMEK verwenden.

Funktionen

  • Datenkontrolle: Mit CMEK können Sie den KMS-Schlüssel verwalten. Sie können den Schlüssel, der zum Verschlüsseln der inaktiven Daten in Ihrer Cloud Firestore-Datenbank verwendet wird, rotieren, deaktivieren und löschen.
  • Leistung: CMEK hat keine Auswirkungen auf das Cloud Firestore-SLA.
  • Nachvollziehbarkeit: Wenn Sie das Audit-Logging für Cloud KMS aktivieren, werden alle Vorgänge am Schlüssel protokolliert und in Cloud Logging angezeigt.
  • Einschränkungen für Organisationsrichtlinien: Mit CMEK-Organisationsrichtlinieneinschränkungen können Sie Anforderungen für die Verschlüsselungscompliance für Cloud Firestore-Datenbanken in Ihrer Organisation angeben.

Preise

Cloud KMS berechnet die Kosten für den Schlüssel und alle kryptografischen Vorgänge, die mit diesem Schlüssel ausgeführt werden. Weitere Informationen finden Sie unter Cloud KMS – Preise.

Die Betriebskosten werden Ihnen in Rechnung gestellt, wenn Cloud Firestore den Cloud KMS-Schlüssel anweist, einen Verschlüsselungs- oder Entschlüsselungsvorgang durchzuführen. Die Ver-/Entschlüsselung mit dem vom Kunden verwalteten Schlüssel erfolgt alle 5 Minuten und ist nicht mit Datenbankanfragen synchronisiert. Die Kosten sind in der Regel gering, da die Anzahl der kryptografischen Vorgänge, die von Cloud Firestore generiert werden, gering ist. Die Kosten für Cloud-Audit-Logs sind zwar ein zusätzlicher Aufwand, aber angesichts der erwarteten Anzahl kryptografischer Vorgänge werden sie in der Regel niedrig sein.

Für die Verwendung einer CMEK-geschützten Datenbank fallen keine zusätzlichen Cloud Firestore-Kosten an. Die Cloud Firestore-Preise gelten weiterhin.

Wenn Sie Ihren Schlüssel für eine Datenbank widerrufen, werden die Speicherkosten basierend auf der Größe des letzten Tages berechnet, an dem der Schlüssel verfügbar war. Für diese Datenbankgröße fallen weiterhin Speicherkosten an, bis die Datenbank gelöscht wird oder der Schlüssel wieder verfügbar ist.

Mit CMEK geschützte Inhalte

Wenn Sie eine Cloud Firestore-Datenbank mit CMEK-Schutz erstellen, wird Ihr Cloud KMS-Schlüssel zum Schutz der inaktiven Daten verwendet. Dazu gehören Daten, die Sie auf einem Laufwerk oder einem USB-Speicher speichern, einschließlich Indexe und Sicherungen. Es gelten jedoch einige Ausnahmen. Die folgenden Datentypen werden mit der Standardverschlüsselung von Google und nicht mit dem CMEK-Schlüssel verschlüsselt:

  • Daten bei der Übertragung oder im Speicher
  • Datenbankmetadaten

Umgang mit einem nicht verfügbaren Schlüsselstatus

Ver- und Entschlüsselungsvorgänge werden nicht bei jeder Datenanfrage ausgeführt. Stattdessen fragt das Cloud Firestore-System Cloud KMS alle fünf Minuten ab, ob der Schlüssel noch verfügbar ist, und führt dann Verschlüsselungs- und Entschlüsselungsvorgänge aus, wenn der Schlüssel verfügbar ist.

Wenn das System feststellt, dass der Schlüssel nicht verfügbar ist, geben alle nachfolgenden Aufrufe der Cloud Firestore-Datenbank innerhalb von 10 Minuten einen FAILED_PRECONDITION-Fehler mit der Meldung The customer-managed encryption key required by the requested resource is not accessible zurück. Dazu gehören Lese-, Schreib- und Abfragevorgänge.

Wenn die Datenbank Richtlinien zur Gültigkeitsdauer (TTL) hat und Ablaufzeiten überschritten werden, während der Schlüssel nicht verfügbar ist, wird das Löschen von Daten durch die TTL verzögert, bis der Schlüssel reaktiviert wird. Wenn in der Datenbank lange laufende Vorgänge ausgeführt werden, sind diese davon betroffen:

  • Import- oder Exportvorgänge von Daten kommen nicht mehr voran und werden als Failed gekennzeichnet. Die fehlgeschlagenen Vorgänge werden nicht wiederholt, wenn der Schlüssel reaktiviert wird.
  • Index-Builds und Vorgänge, mit denen neue TTL-Richtlinien aktiviert werden, werden nicht mehr fortgesetzt. Die angehaltenen Vorgänge werden wiederholt, wenn der Schlüssel reaktiviert wird.

Schlüssel gelten in jeder Situation als nicht verfügbar, in der Cloud Firestore absichtlich der Zugriff auf den Schlüssel verwehrt wird. Dazu zählen:

Wenn der Schlüssel reaktiviert wird, wird beim Polling erkannt, dass er wieder verfügbar ist. Der Zugriff wird in der Regel innerhalb weniger Minuten reaktiviert. In seltenen Fällen kann es jedoch auch einige Stunden dauern. Bei einigen Vorgängen für Cloud KMS-Schlüssel, z. B. beim Deaktivieren oder Löschen eines Schlüssels, kann es bis zu 3 Stunden dauern, bis Änderungen wirksam werden. Cloud Firestore erkennt Änderungen erst, nachdem sie in Cloud KMS wirksam geworden sind.

Je nach Situation sind für die Reaktivierung eines Schlüssels die folgenden Schritte erforderlich:

Wichtige Überlegungen zur Schlüsselrotation

Wenn Sie den CMEK-Schlüssel rotieren, verschlüsselt Cloud Firestore die Datenbank neu mit der neuesten primären Version des CMEK-Schlüssels. Lassen Sie während der Neuverschlüsselung sowohl die alte als auch die neue Schlüsselversion verfügbar. Nach Abschluss der erneuten Verschlüsselung wird der Zugriff auf die Datenbank nicht mehr deaktiviert, wenn Sie die alten Versionen des CMEK-Schlüssels deaktivieren oder löschen, da sie mit der neuen Primärschlüsselversion verschlüsselt ist.

Sie können auch die Schlüsselversionen aufrufen, die zum Schutz einer Datenbank verwendet werden. Weitere Informationen finden Sie unter Verwendeten Schlüssel ansehen.

Überlegungen zu externen 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 ein extern verwalteter Schlüssel nicht verfügbar ist, unterstützt Cloud Firestore weiterhin vollständige Datenbankvorgänge auf Best-Effort-Basis bis zu einer Stunde lang.

Wenn Cloud Firestore nach einer Stunde immer noch keine Verbindung zu Cloud KMS herstellen kann, stellt Cloud Firestore als Schutzmaßnahme die Datenbank offline. Aufrufe an die Datenbank schlagen mit dem Fehler FAILED_PRECONDITION fehl, der zusätzliche Details enthält.

Weitere Informationen zur Verwendung externer Schlüssel finden Sie in der Dokumentation zu Cloud External Key Manager.

Sichern und wiederherstellen

Für eine Sicherung wird derselbe Verschlüsselungsmechanismus verwendet wie für die Datenbank, aus der sie erstellt wurde. Wenn in einer CMEK-geschützten Cloud Firestore-Datenbank eine Sicherung erstellt wird, wird die Sicherung mit der Primärschlüsselversion verschlüsselt, die zum Zeitpunkt der Sicherung verwendet wurde.

Cloud Firestore erstellt die erste Sicherung einer CMEK-Datenbank nach 24 Stunden, nachdem Sie Sicherungszeitpläne aktiviert haben.

Weitere Informationen zu Cloud Firestore-Sicherungen finden Sie unter Daten sichern und wiederherstellen.

Für eine aus einer Sicherung wiederhergestellte Datenbank wird standardmäßig derselbe Verschlüsselungsmechanismus wie für die Sicherung verwendet. Wenn Sie eine Datenbank wiederherstellen, können Sie auf eine der folgenden Arten einen anderen Verschlüsselungstyp angeben:

  • Wiederherstellen in einer CMEK-Datenbank mit einem neu angegebenen Schlüssel.
  • Wiederherstellen Sie die Daten in einer Datenbank ohne CMEK, die die Standardverschlüsselung von Google verwendet.
  • Wiederherstellen Sie die Datenbank in einer Datenbank, die dieselbe Verschlüsselung wie die Sicherung verwendet.

Weitere Informationen zum Wiederherstellen einer Cloud Firestore-Datenbank aus einer Sicherung finden Sie unter Daten aus einer Datenbanksicherung wiederherstellen. Weitere Informationen zum Wiederherstellen einer CMEK-geschützten Cloud Firestore-Datenbank aus einer Sicherung finden Sie unter CMEK-geschützte Datenbank wiederherstellen.

Schlüssel-Tracking

Mit der Schlüsselverfolgung können Sie sich Ressourcen ansehen, z. B. Cloud FirestoreDatenbanken, die durch einen Schlüssel geschützt sind. Weitere Informationen zum Schlüssel-Tracking finden Sie unter Schlüsselnutzung ansehen.

CMEK und Schlüsselverfügbarkeit

Wenn Schlüssel nicht verfügbar oder deaktiviert sind, kann es in CMEK-kompatiblen Datenbanken zu folgenden Verhaltensweisen kommen:

  • Sie können die Einstellungen für die Cloud Firestore-Wiederherstellung zu einem bestimmten Zeitpunkt (Point-in-Time-Recovery, PITR) in einer CMEK-fähigen Datenbank ändern, auch wenn der Schlüssel nicht verfügbar ist. Die PITR-Einstellungen sind Datenbankmetadaten, die nicht mit CMEK verschlüsselt werden.
  • Sie können eine CMEK-Datenbank mit nicht verfügbaren Schlüsseln löschen.
  • Wenn Sie eine CMEK-kompatible Datenbank erstellen, werden deaktivierte Schlüssel nicht in der Liste der verfügbaren Schlüssel in der Google Cloud Console angezeigt. Wenn Sie einen deaktivierten Schlüssel manuell eingeben, schlägt die Datenbankerstellung mit dem FAILED_PRECONDITION-Fehler 400 fehl.

Beschränkungen

  • Sie können einen Schlüssel für eine CMEK-geschützte Datenbank nicht ändern. Sie können Schlüssel drehen, aktivieren und deaktivieren.
  • CMEK-geschützte Datenbanken unterstützen den Schlüsselvisualisierer nur für Entitäts- und Dokumentdaten, nicht für Indexdaten.
  • Sie können CMEK nicht für vorhandene Datenbanken aktivieren. Sie können CMEK nur für neue Datenbanken aktivieren und müssen dies beim Erstellen der Datenbank tun. Wenn Sie Daten aus einer vorhandenen Datenbank ohne CMEK in eine CMEK-geschützte Datenbank migrieren möchten, exportieren Sie die Daten und importieren Sie sie dann in eine neue CMEK-geschützte Datenbank. Sie können auch Daten aus einer Datenbank ohne CMEK in einer CMEK-Datenbank wiederherstellen.
  • Cloud Firestore unterstützt eine begrenzte Anzahl von CMEK-geschützten Datenbanken.
  • Der CMEK-Schutz wird bei der Einbindung von Cloud Functions (1. Generation) nicht unterstützt. Wenn Sie CMEK-Schutz benötigen, verwenden Sie Cloud Run-Funktionen für Firestore-Trigger (2. Generation).

Nächste Schritte