Informationen zu CMEK

Wenn Sie die Verschlüsselungsschlüssel, die Ihre ruhenden Daten in AlloyDB for PostgreSQL-Clustern und -Sicherungen schützen, selbst steuern und verwalten möchten, können Sie kundenverwaltete Verschlüsselungsschlüssel (CMEK) in Cloud Key Management Service (Cloud KMS) verwenden.

Weitere Informationen zu CMEK und deren Aktivierung finden Sie in der Cloud KMS-Dokumentation.

AlloyDB for PostgreSQL verschlüsselt ruhende Kundeninhalte standardmäßig. Die Verschlüsselung wird von AlloyDB übernommen. Weitere Maßnahmen Ihrerseits sind nicht erforderlich. Diese Option heißt Google-Standardverschlüsselung.

Wenn Sie Ihre Verschlüsselungsschlüssel selbst verwalten möchten, können Sie kundenverwaltete Verschlüsselungsschlüssel (CMEKs, Customer-Managed Encryption Keys) in Cloud KMS mit CMEK-integrierten Diensten wie AlloyDB verwenden. Mit Cloud KMS-Schlüsseln haben Sie die Kontrolle über Schutzlevel, Speicherort, Rotationszeitplan, Nutzungs- und Zugriffsberechtigungen sowie über kryptografische Grenzen. Mit Cloud KMS können Sie außerdem Audit-Logs aufrufen und den Lebenszyklus von Schlüsseln steuern. Statt es Google zu überlassen, die symmetrischen Schlüsselverschlüsselungsschlüssel (Key Encryption Keys, KEKs) zum Schutz Ihrer Daten zu besitzen und zu verwalten, können Sie diese auch über Cloud KMS steuern und verwalten.

Nachdem Sie Ihre Ressourcen mit CMEKs eingerichtet haben, ähnelt der Zugriff auf Ihre AlloyDB-Ressourcen der Verwendung der Google-Standardverschlüsselung. Weitere Informationen zu Ihren Verschlüsselungsoptionen finden Sie unter Kundenverwaltete Verschlüsselungsschlüssel (CMEK).

Informationen zum Schutz Ihrer AlloyDB-Ressourcen mit manuell erstellten CMEKs finden Sie unter CMEK verwenden.

CMEK mit Cloud KMS Autokey

Sie können CMEKs manuell erstellen, um Ihre AlloyDB-Ressourcen zu schützen, oder dazu Cloud KMS Autokey verwenden. Mit Autokey werden Schlüsselbunde und Schlüssel bei der Ressourcenerstellung in AlloyDB auf Anfrage generiert. Dienst-Agents, die die Schlüssel für Verschlüsselungs- und Entschlüsselungsvorgänge verwenden, werden erstellt, falls sie noch nicht vorhanden sind, und erhalten dann die erforderlichen IAM-Rollen (Identity and Access Management). Weitere Informationen finden Sie unter Übersicht: Autokey.

Features

  • Datenzugriffssteuerung: Administratoren können den Schlüssel, den Sie zum Schutz ruhender Daten in AlloyDB verwendet haben, rotieren, den Zugriff darauf verwalten und ihn deaktivieren oder löschen.

    Die Schlüsselverwaltung wird von Cloud KMS übernommen. Cluster werden nach der Rotation nicht automatisch mit der neueren Schlüsselversion neu verschlüsselt. Cluster werden zum Zeitpunkt der Clustererstellung mit der primären Version des CMEK verschlüsselt. Wenn Sie die Clusterverschlüsselung rotieren möchten, erstellen Sie eine Sicherung und stellen Sie den Cluster mit einer neueren Schlüsselversion wieder her. Weitere Informationen zu Sicherungen und Wiederherstellungen finden Sie unter Datensicherung und -wiederherstellung – Übersicht.

  • Prüfbarkeit: Wenn Sie das Audit-Logging für die Cloud KMS API in Ihrem Projekt aktivieren, werden alle Aktionen für den Schlüssel, einschließlich der von AlloyDB ausgeführten, protokolliert und sind in Cloud Logging sichtbar.

  • Leistung: Die Verwendung von CMEK führt zu keinen Änderungen der AlloyDB-Leistung.

Preise

AlloyDB stellt einen CMEK-fähigen Cluster wie jeden anderen Cluster in Rechnung, ohne zusätzliche AlloyDB-Gebühren. Weitere Informationen finden Sie unter Preise für AlloyDB for PostgreSQL.

Cloud KMS stellt Ihnen die Kosten für den Schlüssel sowie für Verschlüsselungs- und Entschlüsselungsvorgänge in Rechnung, 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 so zu schützen:

  • Wenn Sie CMEK für einen Cluster aktivieren, verwendet AlloyDB Ihren Schlüssel, um alle Daten Ihres Clusters im Speicher zu verschlüsseln.
  • Wenn Sie beim Erstellen einer On-Demand-Sicherung eine CMEK-Konfiguration angeben, verwendet AlloyDB Ihren Schlüssel, um diese Sicherung zu verschlüsseln.
  • Wenn Sie CMEK mit der Konfiguration für kontinuierliche oder automatische Sicherungen Ihres Clusters aktivieren, verwendet AlloyDB Ihren Schlüssel, um Ihre laufenden Sicherungen zu verschlüsseln.

Unabhängig davon, ob Sie Google-owned and Google-managed encryption keys oder CMEK verwenden, bietet AlloyDB drei Verschlüsselungsebenen:

  1. AlloyDB teilt inaktive Daten zur Speicherung in Blöcke auf und verschlüsselt jeden Block mit einem individuellen Verschlüsselungsschlüssel. Der Schlüssel, der zum Verschlüsseln der Daten in einem Block verwendet wird, 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 Hochverfügbarkeit speichert AlloyDB jeden DEK in der Nähe der Daten, die er verschlüsselt.

  2. AlloyDB verschlüsselt jeden DEK mit einem Schlüsselverschlüsselungsschlüssel (Key Encryption Key, KEK), der vom Cluster gespeichert wird.

  3. Schließlich verschlüsselt AlloyDB den KEK mit dem Cloud KMS-basierten Verschlüsselungsschlüssel Ihres Clusters, der entweder einGoogle-owned and Google-managed encryption key - oder ein CMEK-Schlüssel ist.

Sie können auch die Schlüsselversionen ansehen, die zum Schutz eines Clusters verwendet werden.

CMEK aktivieren

Damit ein AlloyDB-Cluster CMEK verwenden kann, müssen Sie den Cloud KMS-Schlüssel bei der Clustererstellung angeben.

AlloyDB kann in Ihrem Namen auf den Schlüssel zugreifen, nachdem Sie dem AlloyDB-Dienst-Agenten die Rolle Cloud KMS CryptoKey Encrypter/Decrypter (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 Berechtigungen werden in der Regel viel schneller übernommen.

Nachdem der Cluster erstellt wurde, ruft AlloyDB etwa alle fünf Minuten Cloud KMS auf, um zu prüfen, ob der Schlüssel noch gültig ist.

Wenn AlloyDB erkennt, dass Ihr Cloud KMS-Schlüssel deaktiviert oder gelöscht wurde, startet AlloyDB einen Vorgang, um die Daten Ihres Clusters unzugänglich zu machen. Wenn AlloyDB-Aufrufe an Cloud KMS erkennen, dass ein zuvor deaktivierter Schlüssel wieder aktiviert wurde, wird der Zugriff automatisch wiederhergestellt.

Externe Schlüssel verwenden und verwalten

Als Alternative zu Schlüsseln, die sich in Cloud KMS befinden, können Sie Schlüssel verwenden, die sich bei einem unterstützten Partner für die externe Schlüsselverwaltung befinden. Verwenden Sie dazu Cloud External Key Manager (Cloud EKM), um externe Schlüssel zu erstellen und zu verwalten. Diese 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, indem Sie die ID dieses Schlüssels beim Erstellen des Clusters angeben. Dieses Verfahren ist dasselbe wie das 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.

Nichtverfügbarkeit von Schlüsseln

Wenn Sie den Cloud KMS-Schlüssel deaktivieren, der zum Verschlüsseln eines AlloyDB-Clusters verwendet wird, kommt es bei AlloyDB-Instanzen, die zu diesem Cluster gehören, innerhalb von 30 Minuten zu einer Ausfallzeit. Wenn Sie den Schlüssel wieder aktivieren, werden die Instanzen wieder hochgefahren.

In seltenen Fällen, z. B. wenn Cloud KMS nicht verfügbar ist, kann AlloyDB den Status Ihres Schlüssels möglicherweise nicht von Cloud KMS abrufen. In diesem Szenario unterstützt AlloyDB weiterhin 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 den Cluster als Schutzmaßnahme offline. Die Daten in Ihrem AlloyDB-Cluster bleiben so lange unzugänglich, bis Ihr 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 für eine Sicherung CMEK aktiviert ist, wird sie mit der primären Version des Cloud KMS-Schlüssels zum Zeitpunkt der Sicherungserstellung verschlüsselt. Nachdem eine Sicherung erstellt wurde, können der Schlüssel und die Schlüsselversion nicht mehr geändert werden, auch wenn der Cloud KMS-Schlüssel rotiert wird. Weitere Informationen zum Verschlüsseln von Sicherungen mit CMEK finden Sie unter Cluster sichern.

Wenn Sie einen Cluster aus einer Sicherung wiederherstellen, verwendet der wiederhergestellte Cluster standardmäßig die von Google verwaltete Verschlüsselung. Sie können jedoch 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 wurden.

Regionsübergreifende Replikation

Da Cloud KMS-Schlüssel regionale Ressourcen sind, müssen ein primärer Cluster und ein regionenübergreifender sekundärer Cluster unterschiedliche Cloud KMS-Schlüssel verwenden, die sich in ihren jeweiligen Regionen befinden. Die Verschlüsselungskonfigurationen eines primären Clusters und seines sekundären Clusters sind voneinander unabhängig. Wenn Sie beide Cluster mit CMEK schützen möchten, erstellen Sie einen Cloud KMS-Schlüssel in der Region des primären Clusters und einen separaten Cloud KMS-Schlüssel in der Region des sekundären Clusters.

Logging

Sie können die Anfragen, die AlloyDB in Ihrem Namen an Cloud KMS sendet, in Cloud Logging prüfen, wenn Sie in Ihrem Projekt Audit-Logging für die Cloud KMS API 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 ansehen.

Nächste Schritte