Kunden-verwaltete Verschlüsselungsschlüssel (CMEK)

Standardmäßig werden alle ruhenden 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 es aktiviert werden sollte, 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 ruhenden 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 CMEK-Organisationsrichtlinien 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- oder 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, werden aber aufgrund der erwarteten Anzahl kryptografischer Vorgänge ebenfalls als gering eingeschätzt.

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

Wenn Sie den Schlüssel für eine Datenbank widerrufen, werden die Speicherkosten basierend auf der Größe der Datenbank am letzten Tag 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 ruhende Daten zu schützen. Dazu gehören Daten, die Sie auf einer Festplatte oder einem Flash-Laufwerk speichern, einschließlich Indexe und Sicherungen. Es gibt 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 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 Ver- 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, 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 (Time-to-Live, TTL) hat und Ablaufzeiten überschritten werden, während der Schlüssel nicht verfügbar ist, das Löschen von Daten durch TTL verzögert wird, bis der Schlüssel wiederhergestellt wird. Wenn in der Datenbank lange laufende Vorgänge ausgeführt werden, sind sie wie folgt betroffen:

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

Wenn der Schlüssel wiederhergestellt wird, erkennt der Abrufvorgang, dass der Schlüssel wieder verfügbar ist. Der Zugriff wird in der Regel innerhalb weniger Minuten wieder aktiviert, kann aber in seltenen Fällen bis zu einigen Stunden dauern. Beachten Sie, dass es bei einigen Vorgängen für Cloud KMS-Schlüssel, z. B. beim Deaktivieren oder Löschen eines Schlüssels, bis zu 3 Stunden dauern kann, bis Änderungen wirksam 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-Agenten 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 frühere 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 früheren Versionen des CMEK-Schlüssels deaktivieren oder löschen, da die Datenbank 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, unterstützt Cloud Firestore weiterhin vollständige Datenbankvorgänge mithilfe einer im Cache gespeicherten Version des Schlüssels 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 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 für weitere Überlegungen.

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:

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üsselungsmechanismus 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 Quelldatenbank 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 aufrufen, 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 löschen, die nicht verfügbare Schlüssel hat.

  • Wenn Sie eine Datenbank mit aktiviertem CMEK erstellen, werden deaktivierte Schlüssel in der Google Cloud Console nicht in der Liste der verfügbaren Schlüssel angezeigt. Wenn Sie manuell einen deaktivierten Schlüssel eingeben, schlägt die Datenbankerstellung mit dem Fehler INVALID_ARGUMENT 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.

  • 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ützte 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.

Nächste Schritte