Auf dieser Seite werden vom Kunden verwaltete Verschlüsselungsschlüssel (CMEK) für AlloyDB for PostgreSQL beschrieben.
Weitere Informationen zu CMEK und deren Aktivierung finden Sie in der Cloud KMS-Dokumentation.
Eine detaillierte Anleitung zur Verwendung von CMEK mit AlloyDB finden Sie unter CMEK verwenden.
Eine selbstverwaltete Alternative zur von Google verwalteten Verschlüsselung
Standardmäßig sind alle inaktiven Daten in Google Cloud, einschließlich der Daten in AlloyDB, mit der von Google verwalteten Standardverschlüsselung geschützt. Google Cloudübernimmt die Verarbeitung und Verwaltung dieser Standardverschlüsselung für Sie, ohne dass Sie etwas tun müssen.
Wenn Sie bestimmte Compliance- oder behördliche Anforderungen in Bezug auf die Schlüssel zum Schutz Ihrer Daten haben, können Sie stattdessen CMEK verwenden. Bei CMEK wird Ihr AlloyDB-Cluster mit einem Schlüssel geschützt, den Sie im Cloud Key Management Service (KMS) steuern und verwalten. Ihr CMEK-Schlüssel kann ein symmetrischer Schlüssel oder ein Cloud HSM-Schlüssel sein.
Features
- Datenzugriffssteuerung: Administratoren können den Schlüssel, der zum Schutz inaktiver Daten in AlloyDB verwendet wird, rotieren, den Zugriff darauf verwalten und den zum Schutz inaktiver Daten in AlloyDB verwendeten Schlüssel deaktivieren oder löschen.
- Nachvollziehbarkeit: Wenn Sie in Ihrem Projekt das Audit-Logging für die Cloud KMS API aktivieren, werden alle Aktionen am Schlüssel, einschließlich der von AlloyDB ausgeführten Aktionen, protokolliert und in Cloud Logging angezeigt.
- Leistung: Die Verwendung von CMEK hat keine Auswirkungen auf die AlloyDB-Leistung.
Preise
AlloyDB berechnet für einen CMEK-fähigen Cluster wie für jeden anderen Cluster. Es fallen keine zusätzlichen AlloyDB-Kosten an. Weitere Informationen finden Sie unter Preise für AlloyDB for PostgreSQL.
Ihnen werden von Cloud KMS die Kosten für den Schlüssel sowie die Kosten für Verschlüsselungs- und Entschlüsselungsvorgänge in Rechnung gestellt, wenn AlloyDB den Schlüssel verwendet. Weitere Informationen finden Sie unter Cloud Key Management Service – Preise.
Mit CMEK geschützte Inhalte
AlloyDB verwendet Ihren Cloud KMS-Schlüssel, um ruhende Daten auf folgende Weise zu schützen:
- Wenn Sie CMEK für einen Cluster aktivieren, verschlüsselt AlloyDB alle Daten Ihres Clusters im Speicher mit Ihrem Schlüssel.
- Wenn Sie beim Erstellen einer On-Demand-Sicherung eine CMEK-Konfiguration angeben, verschlüsselt AlloyDB diese Sicherung mit Ihrem Schlüssel.
- Wenn Sie CMEK mit der Konfiguration für kontinuierliche oder automatische Sicherungen Ihres Clusters aktivieren, verwendet AlloyDB Ihren Schlüssel, um die laufenden Sicherungen zu verschlüsseln.
Unabhängig davon, ob Sie einen Google-owned and Google-managed encryption keys oder einen CMEK verwenden, bietet AlloyDB drei Verschlüsselungsebenen:
In AlloyDB werden ruhende Daten zur Speicherung in Blöcke zerlegt und jeder Block mit einem individuellen Verschlüsselungsschlüssel verschlüsselt. Der Schlüssel, mit dem die Daten in einem Block verschlüsselt werden, wird als Datenverschlüsselungsschlüssel (Data Encryption Key, DEK) bezeichnet.
Aufgrund der hohen Anzahl von Schlüsseln bei Google und der Notwendigkeit einer geringen Latenz und hohen Verfügbarkeit speichert AlloyDB jeden DEK in der Nähe der Daten, die er verschlüsselt.
AlloyDB verschlüsselt jeden DEK mit einem Schlüsselverschlüsselungsschlüssel (Key Encryption Key, KEK), der vom Cluster gehalten wird.
Schließlich verschlüsselt AlloyDB den KEK mit dem Cloud Key Management Service-basierten Verschlüsselungsschlüssel Ihres Clusters, der entweder ein Google-owned and Google-managed encryption key- oder ein CMEK-Schlüssel ist.
Sie können auch die Schlüsselversionen aufrufen, die zum Schutz eines Clusters verwendet werden.
CMEK aktivieren
Wenn Sie CMEK für einen AlloyDB-Cluster verwenden möchten, müssen Sie den Cloud KMS-Schlüssel zum Zeitpunkt der Clustererstellung angeben.
AlloyDB kann in Ihrem Namen auf den Schlüssel zugreifen, nachdem Sie einem AlloyDB-Dienst-Agent die Rolle Cloud KMS CryptoKey-Verschlüsseler/Entschlüsseler (roles/cloudkms.cryptoKeyEncrypterDecrypter
) zugewiesen haben.
Eine ausführliche Anleitung finden Sie unter CMEK verwenden.
Schlüssel verwalten
Verwenden Sie Cloud KMS für alle Vorgänge zur Schlüsselverwaltung. AlloyDB kann Schlüsseländerungen erst erkennen oder darauf reagieren, wenn sie von Cloud KMS weitergegeben wurden. Bei einigen Vorgängen, z. B. beim Deaktivieren oder Löschen eines Schlüssels, kann es bis zu drei Stunden dauern, bis Änderungen wirksam werden. Änderungen an den Berechtigungen eines Schlüssels erfolgen normalerweise schneller.
Nachdem der Cluster erstellt wurde, ruft AlloyDB etwa alle fünf Minuten Cloud KMS auf, um sicherzustellen, dass der Schlüssel noch gültig ist.
Wenn AlloyDB erkennt, dass Ihr Cloud KMS-Schlüssel deaktiviert oder gelöscht wurde, beginnt der Vorgang, damit die Daten Ihres Clusters nicht mehr zugänglich sind, sofort. Wenn AlloyDB-Aufrufe an Cloud KMS erkennen, dass ein zuvor deaktivierter Schlüssel wieder aktiviert wurde, stellt Cloud KMS den Zugriff automatisch wieder her.
Externe Schlüssel verwenden und verwalten
Alternativ zu Schlüsseln in Cloud KMS können Sie Schlüssel verwenden, die bei einem unterstützten Partner für die externe Schlüsselverwaltung gespeichert sind. Verwenden Sie dazu Cloud External Key Manager (Cloud EKM), um externe Schlüssel zu erstellen und zu verwalten. Das sind Verweise auf Schlüssel, die sich außerhalb von Google Cloudbefinden. Weitere Informationen finden Sie unter Cloud External Key Manager.
Nachdem Sie einen externen Schlüssel mit Cloud EKM erstellt haben, können Sie ihn auf einen neuen AlloyDB-Cluster anwenden. Geben Sie dazu beim Erstellen des Clusters die ID dieses Schlüssels an. Das Verfahren entspricht dem Anwenden eines Cloud KMS-Schlüssels auf einen neuen Cluster.
Sie können Key Access Justifications (KAJ) als Teil von Cloud EKM verwenden. Mit Key Access Justifications können Sie den Grund für jede Cloud EKM-Anfrage aufrufen. Basierend auf der Begründung können Sie eine Anfrage außerdem automatisch genehmigen oder ablehnen. Weitere Informationen finden Sie unter Übersicht.
Google hat keine Kontrolle über die Verfügbarkeit von Schlüsseln in einem Partnersystem für die externe Schlüsselverwaltung.
Nicht verfügbarer Schlüssel
Wenn Sie den Cloud KMS-Schlüssel deaktivieren, mit dem ein AlloyDB-Cluster verschlüsselt wird, kommt es innerhalb von 30 Minuten zu einer Ausfallzeit für die zu diesem Cluster gehörenden AlloyDB-Instanzen. Wenn Sie den Schlüssel wieder aktivieren, werden die Instanzen wieder gestartet.
In seltenen Fällen, z. B. wenn Cloud KMS nicht verfügbar ist, kann AlloyDB den Status Ihres Schlüssels nicht aus Cloud KMS abrufen. In diesem Szenario unterstützt AlloyDB den vollständigen Clusterbetrieb auf Best-Effort-Basis für einen Zeitraum von bis zu 30 Minuten, um die Auswirkungen vorübergehender Ausfälle auf Ihre Arbeitslast zu minimieren.
Wenn AlloyDB nach 30 Minuten immer noch keine Verbindung zu Cloud KMS herstellen kann, stellt AlloyDB als Schutzmaßnahme den Cluster offline. Die Daten in Ihrem AlloyDB-Cluster bleiben so lange unzugänglich, bis der Cluster wieder eine Verbindung zu Cloud KMS herstellen kann und Cloud KMS antwortet, dass der Schlüssel aktiv ist.
Sicherungen und Wiederherstellung
AlloyDB schützt auch Sicherungen entweder mit CMEK oder der standardmäßigen von Google verwalteten Verschlüsselung. Wenn eine Sicherung CMEK-fähig ist, wird sie zum Zeitpunkt der Sicherung mit der primären Version des KMS-Schlüssels verschlüsselt. Nachdem eine Sicherung erstellt wurde, können Schlüssel und Schlüsselversion nicht mehr geändert werden, auch nicht, wenn der KMS-Schlüssel rotiert wird. Weitere Informationen finden Sie unter Cluster sichern.
Wenn Sie einen Cluster aus einem Back-up wiederherstellen, wird für den wiederhergestellten Cluster standardmäßig die von Google verwaltete Verschlüsselung verwendet. Sie können aber stattdessen einen CMEK-Schlüssel angeben. Zum Wiederherstellen einer CMEK-fähigen Sicherung müssen sowohl der Schlüssel als auch die Schlüsselversion verfügbar sein, die zum Verschlüsseln der Sicherung verwendet wurde.
Logging
Sie können die Anfragen prüfen, die AlloyDB in Ihrem Namen an Cloud KMS sendet, in Cloud Logging, wenn Sie für Ihr Projekt die Audit-Logging-Funktion aktiviert haben. Diese Cloud KMS-Logeinträge sind in Cloud Logging sichtbar. Weitere Informationen finden Sie unter Audit-Logs für einen Cloud KMS-Schlüssel aufrufen.