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 kundenverwaltete Verschlüsselungsschlüssel (Customer-Managed Encryption Keys, CMEK) verwenden. Statt es Google zu überlassen, die Verschlüsselungsschlüssel zum Schutz Ihrer Daten zu verwalten, 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 und deren Aktivierung finden Sie in der folgenden Cloud KMS-Dokumentation:

Eine Anleitung zum Ausführen von CMEK-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.
  • Prüfbarkeit: Wenn Sie das Audit-Logging für Cloud KMS aktivieren, werden alle Vorgänge für den Schlüssel protokolliert und können in Cloud Logging angezeigt werden.
  • Einschränkungen für Organisationsrichtlinien: Sie können CMEK-Einschränkungen für Organisationsrichtlinien verwenden, um Anforderungen für die Verschlüsselungscompliance für Cloud Firestore-Datenbanken in Ihrer Organisation anzugeben.

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. Der Verschlüsselungs-/Entschlüsselungsvorgang durch den vom Kunden verwalteten Schlüssel erfolgt alle 5 Minuten und wird nicht mit Datenbankanfragen synchronisiert. Die Kosten sind in der Regel gering, da die Anzahl der erwarteten kryptografischen Vorgänge, die von Cloud Firestore generiert werden, gering ist. Die Kosten für Cloud-Audit-Logs sind zusätzliche Ausgaben, die jedoch aufgrund der erwarteten Anzahl kryptografischer Vorgänge im Allgemeinen gering sein dürften.

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 auf Grundlage der Größe am letzten Tag berechnet, 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 CMEK-geschützte Cloud Firestore-Datenbank erstellen, wird Ihr Cloud KMS-Schlüssel zum Schutz inaktiver Daten verwendet. Dazu gehören Daten, die Sie auf einem Laufwerk oder einem USB-Speicher speichern, einschließlich Indexen 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

Verschlüsselungs- und Entschlüsselungsvorgänge werden nicht bei jeder Datenanfrage ausgeführt. Stattdessen fragt das Cloud Firestore-System Cloud KMS alle 5 Minuten 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-Datenbank, einschließlich Lese-, Schreib- und Abfragevorgängen, innerhalb von 10 Minuten einen FAILED_PRECONDITION-Fehler mit der The customer-managed encryption key required by the requested resource is not accessible-Nachricht zurück.

Wenn die Datenbank TTL-Richtlinien (Time-to-Live) hat und Ablaufzeiten überschritten werden, während der Schlüssel nicht verfügbar ist, wird das Löschen von Daten per TTL verzögert, bis der Schlüssel wiederhergestellt wird. Wenn in der Datenbank Vorgänge mit langer Ausführungszeit ausgeführt werden, sind sie so betroffen:

  • Datenimport- oder -exportvorgänge werden nicht mehr fortgesetzt und als Failed markiert. Die fehlgeschlagenen Vorgänge werden nicht wiederholt, wenn der Schlüssel reaktiviert wird.
  • Index-Build-Vorgänge und Vorgänge, die neue TTL-Richtlinien aktivieren, 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 verweigert wird. Dazu zählen:

Wenn der Schlüssel reaktiviert wird, erkennt der Abrufvorgang, 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 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 die Änderungen wirksam werden. Cloud Firestore erkennt Änderungen erst, wenn sie in Cloud KMS wirksam werden.

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 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. Sie können einen Schlüssel, der bereits endgültig gelöscht wurde, nicht wiederherstellen.
  • Erneutes Gewähren der Berechtigung für den Dienst-Agenten Cloud Firestore, auf den Schlüssel zuzugreifen.

Überlegungen 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 Neuverschlüsselung wird der Zugriff auf die Datenbank durch das Deaktivieren oder Löschen der alten Versionen des CMEK-Schlüssels nicht deaktiviert, da sie mit der neuen Primärschlüsselversion verschlüsselt ist.

Sie können sich auch die Schlüsselversionen ansehen, 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 bis zu eine Stunde lang alle Datenbankvorgänge auf Best-Effort-Basis.

Wenn Cloud Firestore nach einer Stunde immer noch keine Verbindung zu Cloud KMS herstellen kann, stellt Cloud Firestore die Datenbank als Schutzmaßnahme 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

Eine Sicherung verwendet denselben Verschlüsselungsmechanismus wie die Datenbank, aus der Sie sie erstellt haben. Wenn eine CMEK-geschützte Cloud Firestore-Datenbank eine Sicherung erstellt, wird die Sicherung mit der Primärschlüsselversion verschlüsselt, die zum Zeitpunkt der Sicherungserstellung 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.

Eine aus einer Sicherung wiederhergestellte Datenbank verwendet standardmäßig denselben Verschlüsselungsmechanismus wie die Sicherung. 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.
  • Stellen Sie eine Datenbank wieder her, 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.

Klonen

Standardmäßig verwendet eine Datenbank, die aus einer anderen Datenbank geklont wurde, 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 Sie in eine CMEK-Datenbank mit einem neu angegebenen Schlüssel.
  • Klonen Sie in eine Nicht-CMEK-Datenbank, die die Standardverschlüsselung von Google verwendet.
  • (Standard) In eine 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 CMEK-geschützten Cloud Firestore-Datenbank finden Sie unter 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 CMEK-fähigen Datenbanken zu folgenden Problemen kommen:

  • Sie können die Einstellungen für die Wiederherstellung zu einem bestimmten Zeitpunkt (Point-in-Time Recovery, PITR) von Cloud Firestore in einer CMEK-fähigen Datenbank ändern, auch wenn der Schlüssel nicht verfügbar ist, da die PITR-Einstellungen Datenbankmetadaten sind, die nicht durch 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 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 rotieren, aktivieren und deaktivieren.
  • CMEK-geschützte Datenbanken unterstützen Key Visualizer nur für Entitäts- und Dokumentdaten, nicht für Indexdaten.
  • Sie können CMEK für vorhandene Datenbanken nicht 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 in eine CMEK-geschützte 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 Nicht-CMEK-Datenbank in einer CMEK-Datenbank wiederherstellen oder klonen.
  • Cloud Firestore unterstützt eine begrenzte Anzahl von CMEK-geschützten Datenbanken.
  • Wir unterstützen den CMEK-Schutz bei der Einbindung von Cloud Functions (1. Generation) nicht. Wenn Sie CMEK-Schutz wünschen, verwenden Sie Cloud Run-Funktionen für Firestore-Trigger (2. Generation).

Wie Daten aus CMEK-geschützten Datenbanken entfernt werden können

  • Daten, die von Ihrer Anwendung kopiert werden, können von den Nutzern beliebig gespeichert werden. Für alle Anwendungen, die auf Cloud Firestore-Daten zugreifen, sind angemessene Sicherheitskontrollen erforderlich, damit nur Personen mit entsprechender Autorisierung auf die Daten zugreifen können. Weitere Informationen finden Sie unter Sicherheitsregeln und IAM.

  • Daten aus einer CMEK-geschützten Datenbank können mithilfe von Sichern und Wiederherstellen, Klonen oder Importieren und Exportieren in eine Nicht-CMEK-Datenbank verschoben werden. Verwenden Sie geeignete IAM-Steuerelemente, um nur autorisierten Nutzern die Berechtigung für diese Aktionen zu erteilen. Außerdem können CMEK-Organisationsrichtlinien-Einschränkungen verwendet werden, um festzulegen, dass alle Datenbanken, die durch Wiederherstellung oder Klonen erstellt werden, und alle Cloud Storage-Buckets, die für den Import verwendet werden, CMEK-geschützt sind.

Nächste Schritte