Standardmäßig werden alle inaktiven Daten in Cloud Firestore mit MongoDB-Kompatibilität mit der Standardverschlüsselung von Google verschlüsselt. Diese Verschlüsselung wird von Cloud Firestore mit MongoDB-Kompatibilität 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 mit MongoDB-Kompatibilität 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 MongoDB-Kompatibilität 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 mit MongoDB-Kompatibilität 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 Cloud Firestore mit MongoDB-Kompatibilität 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 mit MongoDB-Kompatibilität verwendet wird, rotieren, deaktivieren und löschen.
- Leistung: CMEK hat keine Auswirkungen auf die Cloud Firestore-SLA.
- Nachvollziehbarkeit: Wenn Sie 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 CMEK-Einschränkungen für Organisationsrichtlinien können Sie Anforderungen für die Verschlüsselungscompliance für Cloud Firestore mit MongoDB-Kompatibilitätsdatenbanken 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 mit MongoDB-Kompatibilität den Cloud KMS-Schlüssel anweist, einen Verschlüsselungs- oder Entschlüsselungsvorgang durchzuführen. Die Ver- oder 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 erwarteten kryptografischen Vorgänge, die von Cloud Firestore mit MongoDB-Kompatibilität generiert werden, gering ist. Die Kosten für Cloud-Audit-Logs sind eine zusätzliche Ausgabe, die jedoch aufgrund der erwarteten Anzahl kryptografischer Vorgänge voraussichtlich gering sein wird.
Für die Verwendung einer CMEK-geschützten Datenbank fallen keine zusätzlichen Kosten für Cloud Firestore mit MongoDB-Kompatibilität an. Die Preisgestaltung für Cloud Firestore mit MongoDB-Kompatibilität gilt weiterhin.
Wenn Sie den 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. Bis die Datenbank gelöscht wird oder der Schlüssel wieder verfügbar ist, fallen weiterhin Speicherkosten für diese Datenbankgröße an.
Mit CMEK geschützte Inhalte
Wenn Sie eine CMEK-geschützte Cloud Firestore-Datenbank mit MongoDB-Kompatibilität erstellen, wird Ihr Cloud KMS-Schlüssel verwendet, um inaktive Daten zu schützen. Dazu gehören Daten, die Sie auf einem Laufwerk oder einem USB-Laufwerk speichern, einschließlich Indexe und Sicherungen. Es gelten einige Ausnahmen. Die folgenden Datentypen werden mit der Google-Standardverschlüsselung 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 mit MongoDB-Kompatibilitätssystem 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 erkennt, dass der Schlüssel nicht verfügbar ist, geben alle nachfolgenden Aufrufe der Cloud Firestore mit MongoDB-Kompatibilitätsdatenbank, einschließlich Lese-, Schreib- und Abfragevorgängen, innerhalb von 10 Minuten den Fehler INVALID_ARGUMENT
mit der folgenden Meldung zurück:
The customer-managed encryption key required by the requested
resource is not accessible.
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 nach TTL verzögert, bis der Schlüssel wiederhergestellt wird. Wenn in der Datenbank lange laufende Vorgänge ausgeführt werden, sind sie folgendermaßen betroffen:
- Index-Build-Vorgänge und Vorgänge zum Aktivieren neuer TTL-Richtlinien werden nicht mehr ausgeführt. Die angehaltenen Vorgänge werden wiederholt, wenn der Schlüssel reaktiviert wird.
Schlüssel gelten als nicht verfügbar, wenn der Zugriff auf den Schlüssel durch Cloud Firestore mit MongoDB-Kompatibilität absichtlich nicht zugelassen wird. Dazu zählen:
- Die verwendete Schlüsselversion deaktivieren oder löschen. 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 über das Cloud Firestore-Dienstkonto mit MongoDB-Kompatibilität.
Wenn der Schlüssel reaktiviert wird, erkennt der Polling-Vorgang, dass der Schlüssel wieder verfügbar ist. Der Zugriff wird in der Regel innerhalb weniger Minuten wieder aktiviert. In seltenen Fällen kann es jedoch auch einige Stunden dauern. Einige Vorgänge für Cloud KMS-Schlüssel, z. B. das Deaktivieren oder Löschen eines Schlüssels, können bis zu 3 Stunden dauern. Cloud Firestore mit MongoDB-Kompatibilität erkennt Änderungen erst, nachdem sie in Cloud KMS wirksam geworden sind.
Die Reaktivierung eines Schlüssels umfasst je nach Situation Folgendes:
- Reaktivieren einer deaktivierten Schlüsselversion.
- Wiederherstellen einer gelöschten Schlüsselversion. Bevor eine Schlüsselversion dauerhaft 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 dauerhaft gelöscht wurde, kann nicht wiederhergestellt werden.
- Erteilen Sie die Berechtigung für den Cloud Firestore-Dienst-Agent, auf den Schlüssel zuzugreifen, noch einmal.
Wichtige Überlegungen zur Schlüsselrotation
Wenn Sie den CMEK-Schlüssel rotieren, verschlüsselt Cloud Firestore mit MongoDB-Kompatibilität die Datenbank mit der neuesten primären Version des CMEK-Schlüssels neu. Halten Sie während der Neuverschlüsselung sowohl die frühere 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 früheren Versionen des CMEK-Schlüssels deaktivieren oder löschen, da die Datenbank 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 mit MongoDB-Kompatibilität weiterhin vollständige Datenbankvorgänge mithilfe einer im Cache gespeicherten Version des Schlüssels bis zu einer Stunde.
Wenn Cloud Firestore mit MongoDB-Kompatibilität nach einer Stunde immer noch keine Verbindung zu Cloud KMS herstellen kann, schaltet Cloud Firestore mit MongoDB-Kompatibilität als Sicherheitsmaßnahme die Datenbank offline. Aufrufe an die Datenbank schlagen mit dem Fehler INVALID_ARGUMENT
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 sie erstellt haben. Wenn für eine CMEK-geschützte Cloud Firestore-Datenbank mit MongoDB-Kompatibilität eine Sicherung erstellt wird, wird die Sicherung mit der primären Schlüsselversion verschlüsselt, die zum Zeitpunkt der Sicherungserstellung verwendet wurde.
Bei Cloud Firestore mit MongoDB-Kompatibilität wird die erste Sicherung einer CMEK-Datenbank 24 Stunden nach dem Aktivieren von Sicherungszeitplänen erstellt.
Weitere Informationen zu Cloud Firestore mit MongoDB-Kompatibilitäts-Back-ups 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 einen anderen Verschlüsselungstyp auf eine der folgenden Arten 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.
- Stellen Sie die Datenbank in einer Datenbank wieder her, die dieselbe Verschlüsselung wie die Sicherung verwendet.
Weitere Informationen zum Wiederherstellen einer Cloud Firestore mit MongoDB-Kompatibilität-Datenbank aus einer Sicherung finden Sie unter Daten aus einer Datenbanksicherung wiederherstellen. Weitere Informationen zum Wiederherstellen einer CMEK-geschützten Cloud Firestore-Datenbank mit MongoDB-Kompatibilität aus einer Sicherung finden Sie unter CMEK-geschützte Datenbank wiederherstellen.
Klonen
Standardmäßig verwendet eine aus einer anderen Datenbank geklonte Datenbank denselben Verschlüsselungsmechanismus wie die Quelldatenbank. Wenn Sie eine Datenbank klonen, können Sie auf eine der folgenden Arten einen anderen Verschlüsselungstyp angeben:
- Klonen in eine CMEK-Datenbank mit einem neu angegebenen Schlüssel.
- Klonen in eine Nicht-CMEK-Datenbank, die die Standardverschlüsselung von Google verwendet.
- (Standard) Klonen in eine Datenbank, die dieselbe Verschlüsselung wie die Quelldatenbank verwendet.
Weitere Informationen zum Klonen einer Cloud Firestore-Datenbank mit MongoDB-Kompatibilität finden Sie unter Datenbank klonen. Weitere Informationen zum Klonen einer CMEK-geschützten Cloud Firestore-Datenbank mit MongoDB-Kompatibilität finden Sie unter CMEK-geschützte Datenbank klonen.
Schlüssel-Tracking
Mit der Schlüsselverfolgung können Sie Ressourcen wie Cloud Firestore mit MongoDB-Kompatibilitätsdatenbanken 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, kann es in Datenbanken mit aktiviertem CMEK zu folgenden Verhaltensweisen kommen:
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 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 400
INVALID_ARGUMENT
fehl.
Beschränkungen
Sie können einen Schlüssel für eine CMEK-geschützte Datenbank nicht ändern. Sie können Schlüssel rotieren, aktivieren und deaktivieren.
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 in einer vorhandenen Datenbank ohne CMEK zu einer CMEK-geschützten Datenbank migrieren möchten, exportieren Sie Ihre 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 Datenbank mit CMEK wiederherstellen oder klonen.
Cloud Firestore unterstützt eine begrenzte Anzahl von CMEK-geschützten Datenbanken.