Vom Kunden verwaltete Verschlüsselungsschlüssel (CMEK)

Standardmäßig werden alle inaktiven Daten in Firestore mit der Standardverschlüsselung von Google verschlüsselt. Firestore verarbeitet und verarbeitet verwaltet diese Verschlüsselung für Sie, ohne dass Sie etwas tun müssen.

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

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

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

Features

  • Datenkontrolle: Mit CMEK können Sie den KMS-Schlüssel verwalten. Sie können den Schlüssel, mit dem die ruhenden Daten in Ihrer Firestore-Datenbank verschlüsselt werden, rotieren, deaktivieren und löschen.
  • Leistung: CMEK wirkt sich nicht auf den Firestore-SLA.
  • Nachvollziehbarkeit: Wenn Sie Audit-Logging für Cloud KMS aktivieren werden alle Vorgänge für den Schlüssel protokolliert und sind in Cloud Logging einsehbar.
  • Einschränkungen für Organisationsrichtlinien: Sie können Folgendes verwenden: Einschränkungen für CMEK-Organisationsrichtlinien zum Festlegen von Compliance-Anforderungen an die Verschlüsselung für Firestore-Datenbanken in Ihrer Organisation.

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.

Ihnen werden die Vorgangskosten in Rechnung gestellt, wenn Firestore nach dem Cloud KMS-Schlüssel, um einen Verschlüsselungs- oder Entschlüsselungsvorgang auszuführen. Verschlüsselung/Entschlüsselungsvorgang mit dem vom Kunden verwalteten Schlüssel alle fünf Minuten und wird nicht mit Datenbankanfragen synchronisiert. Die Kosten sind in der Regel gering, da die Anzahl der kryptografischen Vorgänge, die von Firestore generiert werden, erwartet wird. Die Kosten für Cloud-Audit-Logs sind zwar zusätzliche Ausgaben, aber aufgrund 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 Firestore-Kosten an. Die Firestore-Preise gelten weiterhin.

Wenn Sie Ihren Schlüssel für eine Datenbank widerrufen, werden Speicherkosten auf Basis der des letzten Tages, an dem der Schlüssel verfügbar war. Ihnen werden weiterhin Speicherkosten für diese Datenbankgröße in Rechnung gestellt, bis die Datenbank gelöscht wird oder der Schlüssel wieder verfügbar ist.

Mit CMEK geschützte Inhalte

Wenn Sie eine Firestore-CMEK-geschützte Datenbank erstellen, Der Cloud KMS-Schlüssel wird zum Schutz inaktiver Daten verwendet. Dazu gehören auch Daten, die Sie auf einem Laufwerk oder einem USB-Speicher speichern, einschließlich Indexe und Sicherungen. Einige es gelten Ausnahmen. Die folgenden Datentypen werden mit der Standardeinstellung von Google verschlüsselt Verschlüsselung und nicht nach dem CMEK-Schlüssel:

  • 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 Firestore-System Cloud KMS alle 5 Minuten ab, um zu prüfen, ob der Schlüssel noch verfügbar ist. Ist das der Fall, werden Verschlüsselungs- und Entschlüsselungsvorgänge ausgeführt.

Wenn das System feststellt, dass der Schlüssel nicht verfügbar ist, geben alle nachfolgenden Aufrufe der Firestore-Datenbank innerhalb von 10 Minuten den Fehler FAILED_PRECONDITION mit der Meldung The customer-managed encryption key required by the requested resource is not accessible zurück.

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 der Parameter in der Datenbank lang andauernde Vorgänge laufen, sind sie betroffen, folgt:

  • Import- oder Exportvorgänge von Daten kommen nicht mehr voran und werden als Failed gekennzeichnet. Die fehlgeschlagenen Vorgänge werden nicht falls der Schlüssel wiederhergestellt wird.
  • Vorgänge zur Indexerstellung und Vorgänge, die neue TTL aktivieren und Richtlinien keine Fortschritte mehr. Die angehaltenen Vorgänge werden wiederholt, wenn der Schlüssel reaktiviert wird.

Schlüssel gelten in allen Situationen als nicht verfügbar, in denen die Verwendung Firestore nicht auf den Schlüssel zugreifen kann. Dazu zählen:

Wenn der Schlüssel reaktiviert wird, erkennt der Abfragevorgang, dass der Schlüssel wieder verfügbar sind. Der Zugriff wird in der Regel innerhalb weniger Minuten reaktiviert. In seltenen Fällen kann es jedoch auch bis zu ein paar 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. Firestore unterstützt Änderungen erst dann zu erkennen, wenn sie in Cloud KMS wirksam werden.

Zur Reaktivierung eines Schlüssels sind je nach Situation folgende Schritte erforderlich:

Wichtige Überlegungen zur Schlüsselrotation

Wenn Sie den CMEK-Schlüssel rotieren, verschlüsselt Firestore die Datenbank mit der neuesten primären Version des CMEK-Schlüssels neu. 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 Schlüssel anzeigen in verwenden.

Ü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ützen vollständige Datenbankvorgänge mit einer im Cache gespeicherten Version des Schlüssels für bis zu einer Stunde.

Wenn Firestore nach einer Stunde immer noch keine Verbindung zu Cloud KMS herstellen kann, stellt Firestore als Sicherheitsmaß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 eine CMEK-geschützte Firestore-Datenbank ein wird die Sicherung mit der Primärschlüsselversion verschlüsselt, die zum Zeitpunkt der Sicherung erstellt werden.

Firestore erstellt die erste Sicherung einer CMEK-Datenbank 24 Stunden nach der Aktivierung der Sicherungszeitpläne.

Weitere Informationen zu Firestore-Sicherungen finden Sie unter Sicherung und Daten 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:

  • Wiederherstellung in einer CMEK-Datenbank mit einem neu angegebenen Schlüssel.
  • Wiederherstellung in einer nicht CMEK-Datenbank, 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 Firestore-Datenbank aus einer Sicherung finden Sie unter Daten aus einer Datenbanksicherung wiederherstellen. Weitere Informationen zum Wiederherstellen einer CMEK-geschützten Firestore-Datenbank aus einer Sicherung finden Sie unter CMEK-geschützte Datenbank wiederherstellen.

Schlüssel-Tracking

Mit dem Schlüssel-Tracking können Sie sich Ressourcen ansehen, z. B. Firestore-Datenbanken, 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, beachten Sie die folgenden Verhaltensweisen, die in CMEK-fähigen Datenbanken auftreten können:

  • Sie können die Einstellungen für die 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 löschen, die nicht verfügbare Schlüssel enthält.
  • Wenn Sie eine CMEK-fähige 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 Fehler FAILED_PRECONDITION 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 Sie können auch Daten aus einer Nicht-CMEK-Datenbank in einer CMEK-Datenbank wiederherstellen.
  • Firestore unterstützt eine begrenzte Anzahl von CMEK-geschützten Datenbanken.

Nächste Schritte