Standardmäßig werden alle inaktiven Daten in Cloud Firestore mit der Standardverschlüsselung von Google verschlüsselt. Cloud Firestore verarbeitet und verwaltet diese Verschlüsselung für Sie, ohne dass Sie etwas tun müssen.
Wenn Sie bestimmte Compliance- oder regulatorische Vorgaben in Bezug auf die Schlüssel zum Schutz Ihrer Daten haben, können Sie kundenverwaltete Verschlüsselungsschlüssel (Customer-Managed Encryption Keys, CMEK) für Cloud Firestore 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) steuern und verwalten.
Auf dieser Seite wird CMEK für Cloud Firestore beschrieben. Weitere Informationen zu CMEK im Allgemeinen, einschließlich wann und warum sie aktiviert werden sollten, 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 rotieren, deaktivieren und löschen, der zum Verschlüsseln der inaktiven Daten in Ihrer Cloud Firestore Datenbank verwendet wird.
- Leistung: CMEK hat keine Auswirkungen auf die Cloud Firestore SLA.
- Prüfbarkeit: Wenn Sie das Audit-Logging für Cloud KMS aktivieren, werden alle Vorgänge für den Schlüssel protokolliert und in Cloud Logging angezeigt.
- Einschränkungen für Organisationsrichtlinien: Mit Einschränkungen für Organisationsrichtlinien für CMEK 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 Verschlüsselung/Entschlüsselung mit dem kundenverwalteten Schlüssel erfolgt alle 5 Minuten und ist nicht mit Datenbankanfragen synchronisiert. Die Kosten sind in der Regel niedrig, da die Anzahl der erwarteten kryptografischen Vorgänge, die von Cloud Firestore generiert werden, gering ist. Die Kosten für Cloud-Audit-Logs sind eine zusätzliche Ausgabe, aber auch hier wird erwartet, dass sie aufgrund der erwarteten Anzahl kryptografischer Vorgänge im Allgemeinen niedrig sind.
Für die Verwendung einer mit CMEK geschützten Datenbank fallen keine zusätzlichen Cloud Firestore Kosten an und 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. Es fallen weiterhin Speicherkosten in Höhe der Datenbankgröße 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 mit CMEK geschützte Datenbank erstellen, wird Ihr Cloud KMS-Schlüssel verwendet, um inaktive Daten zu schützen. Dazu gehören Daten, die Sie auf einer Festplatte oder einem USB-Laufwerk speichern, einschließlich Indexe und Sicherungen. Es gelten 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
Verschlüsselungs- und Entschlüsselungsvorgänge werden nicht bei jeder Datenanfrage ausgeführt. Stattdessen fragt das Cloud Firestore System alle 5 Minuten Cloud KMS ab, um zu prüfen, ob der Schlüssel noch verfügbar ist. Wenn der Schlüssel verfügbar ist, 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 Cloud Firestore Datenbank innerhalb von 10
Minuten einen FAILED_PRECONDITION Fehler mit
der The customer-managed encryption key required by the requested
resource is not accessible Meldung zurück, einschließlich Lese-, Schreib- und Abfragevorgängen.
Wenn die Datenbank Richtlinien zur Gültigkeitsdauer (Time-to-Live, TTL) hat und Ablaufzeiten überschritten werden, während der Schlüssel nicht verfügbar ist, wird das Löschen von Daten nach TTL verzögert, bis der Schlüssel wiederhergestellt wird. Wenn in der Datenbank Vorgänge mit langer Ausführungszeit ausgeführt werden, sind sie wie folgt betroffen:
- Datenimport- oder exportvorgänge werden angehalten und als
Failedmarkiert. Die fehlgeschlagenen Vorgänge werden nicht wiederholt, wenn der Schlüssel wiederhergestellt wird. - Index-Build-Vorgänge und Vorgänge, die neue TTL -Richtlinien aktivieren, werden angehalten. Die angehaltenen Vorgänge werden wiederholt, wenn der Schlüssel wiederhergestellt 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:
- Deaktivieren oder Löschen der verwendeten Schlüsselversion. Seien Sie vorsichtig, wenn Sie eine Schlüsselversion löschen, da dies zu einem nicht wiederherstellbaren Datenverlust führen kann.
- Entfernen der Berechtigung für den Zugriff auf den Schlüssel aus dem Cloud Firestore Dienstkonto.
Wenn der Schlüssel wiederhergestellt wird, erkennt der Abrufvorgang, dass der Schlüssel wieder verfügbar ist. Der Zugriff wird in der Regel innerhalb von Minuten wieder aktiviert, kann aber in seltenen Fällen bis zu einigen Stunden dauern. Beachten Sie, dass es bis zu 3 Stunden dauern kann, bis einige Vorgänge für Cloud KMS Schlüssel, z. B. das Deaktivieren oder Löschen eines Schlüssels, übernommen werden. Cloud Firestore erkennt Änderungen erst, nachdem sie in Cloud KMS wirksam geworden sind.
Die Wiederherstellung eines Schlüssels umfasst je nach Situation Folgendes:
- Wiederaktivieren einer deaktivierten Schlüsselversion.
- Wiederherstellen einer gelöschten Schlüsselversion. Bevor eine Schlüsselversion endgültig gelöscht wird, wird sie zum Löschen vorgemerkt. Sie können einen Schlüssel nur während des Zeitraums wiederherstellen, in dem eine Schlüsselversion zum Löschen vorgemerkt ist. Ein Schlüssel, der bereits endgültig gelöscht wurde, kann nicht wiederhergestellt werden.
- Dem Cloud Firestore Dienst-Agent wird die Berechtigung für den Zugriff auf den Schlüssel wieder gewährt.
Hinweise zur Schlüsselrotation
Wenn Sie den CMEK-Schlüssel rotieren, verschlüsselt Cloud Firestore die Datenbank mit der neuesten primären Version des CMEK-Schlüssels neu. Während der erneuten Verschlüsselung müssen sowohl die alte als auch die neue Schlüsselversion verfügbar sein. 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ären Schlü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, Cloud Firestore unterstützt weiterhin vollständige Datenbankvorgänge nach besten Kräften bis zu einer Stunde.
Wenn Cloud Firestore nach einer Stunde immer noch keine Verbindung zu
Cloud KMS herstellen kann, schaltet Cloud Firestore als
Sicherheitsmaßnahme die Datenbank offline. Aufrufe der Datenbank schlagen mit einem FAILED_PRECONDITION
-Fehler 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 wie für die Datenbank verwendet, aus der sie erstellt wurde. Wenn eine mit CMEK geschützte Cloud Firestore Datenbank eine Sicherung erstellt, wird die Sicherung mit der primären Schlüsselversion verschlüsselt, die zum Zeitpunkt der Sicherung verwendet wurde.
Cloud Firestore erstellt die erste Sicherung einer CMEK-Datenbank 24 Stunden nach dem Aktivieren von Sicherungszeitplänen.
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:
- In einer CMEK-Datenbank mit einem neu angegebenen Schlüssel wiederherstellen.
- In einer Nicht-CMEK-Datenbank wiederherstellen, die die Standardverschlüsselung von Google verwendet.
- In einer Datenbank wiederherstellen, 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 mit CMEK geschützten Cloud Firestore Datenbank aus einer Sicherung finden Sie unter Mit CMEK geschützte Datenbank wiederherstellen.
Klonen
Standardmäßig verwendet eine aus einer anderen Datenbank geklonte Datenbank denselben Verschlüsselung smechanismus wie die Quelldatenbank. Wenn Sie eine Datenbank klonen, können Sie auf eine der folgenden Arten einen anderen Verschlüsselungstyp angeben:
- In einer CMEK-Datenbank mit einem neu angegebenen Schlüssel klonen.
- In einer Nicht-CMEK-Datenbank klonen, die die Standardverschlüsselung von Google verwendet.
- (Standard) In einer Datenbank klonen, die dieselbe Verschlüsselung wie die Quelle datenbank verwendet.
Weitere Informationen zum Klonen einer Cloud Firestore Datenbank finden Sie unter Datenbank klonen. Weitere Informationen zum Klonen einer mit CMEK geschützten Cloud Firestore Datenbank finden Sie unter Mit CMEK geschützte Datenbank klonen.
Schlüssel-Tracking
Mit dem Schlüssel-Tracking können Sie Ressourcen wie Cloud Firestore Datenbanken ansehen, 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, können in CMEK-fähigen Datenbanken folgende Verhaltensweisen auftreten:
- Sie können die Einstellungen für die Cloud Firestore Point-in-Time-Wiederherstellung (PITR) für eine CMEK-fähige Datenbank auch dann ändern, wenn der Schlüssel nicht verfügbar ist, da die PITR-Einstellungen Datenbankmetadaten sind, 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-fähige Datenbank erstellen, werden deaktivierte Schlüssel in der Google Cloud Console nicht in der Liste der verfügbaren Schlüssel angezeigt. Wenn Sie einen deaktivierten Schlüssel manuell eingeben, schlägt die Datenbankerstellung mit einem
FAILED_PRECONDITIONFehler 400 fehl.
Beschränkungen
- Sie können einen Schlüssel für eine mit CMEK geschützte Datenbank nicht ändern. Sie können Schlüssel rotieren, aktivieren und deaktivieren.
- Mit CMEK geschützte Datenbanken unterstützen Key Visualizer 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 es beim Erstellen der Datenbank aktivieren. Wenn Sie Daten in einer vorhandenen Nicht-CMEK-Datenbank zu einer mit CMEK geschützten Datenbank migrieren möchten, exportieren Sie die Daten und importieren Sie sie dann in eine neue mit CMEK geschützten Datenbank. Sie können Daten auch aus einer Nicht-CMEK-Datenbank in eine CMEK-Datenbank wiederherstellen oder klonen.
- Cloud Firestore unterstützt eine begrenzte Anzahl von mit CMEK geschützten Datenbanken.
- Wir unterstützen keinen CMEK-Schutz mit der Cloud Functions-Integration (1. Generation). Wenn Sie CMEK-Schutz verwenden möchten, verwenden Sie Cloud Run Functions Firestore Triggers (2. Generation).
So können Daten aus mit CMEK geschützten Datenbanken entfernt werden
Von Ihrer Anwendung kopierte Daten können von den Nutzern auf beliebige Weise gespeichert werden. Für jede Anwendung, die auf Cloud Firestore Daten zugreift, sind geeignete Sicherheitskontrollen erforderlich, um sicherzustellen, dass nur Personen mit der entsprechenden Berechtigung auf Daten zugreifen können. Weitere Informationen finden Sie unter Sicherheitsregeln und IAM.
Daten aus einer mit CMEK geschützten Datenbank können mit den Funktionen zum Sichern und Wiederherstellen, Klonen oder Importieren und Exportieren in eine Nicht-CMEK-Datenbank verschoben werden. Verwenden Sie geeignete IAM-Kontrollen, um die Berechtigung für diese Aktionen nur autorisierten Nutzern zu gewähren. Außerdem können Einschränkungen für Organisationsrichtlinien für CMEK verwendet werden, um festzulegen, dass alle Datenbanken, die durch Wiederherstellen oder Klonen erstellt wurden, und alle Cloud Storage Buckets, die für den Import verwendet werden, mit CMEK geschützt sein müssen.