Transparente Datenverschlüsselung für AlloyDB Omni

Wählen Sie eine Dokumentationsversion aus:

Um vertrauliche Informationen zu schützen und strenge Compliance-Anforderungen zu erfüllen, ohne den Anwendungscode zu ändern, können Sie die transparente Datenverschlüsselung (Transparent Data Encryption, TDE) verwenden, um Daten im Ruhezustand in AlloyDB Omni zu schützen. In dieser Übersicht wird erläutert, wie TDE Datenbankdateien, Logs und Caches automatisch verschlüsselt, bevor sie auf die Festplatte geschrieben werden. So wird für umfassende Sicherheit mit minimalem Betriebsaufwand gesorgt.

Schlüsselhierarchie

In AlloyDB Omni wird eine zweistufige Schlüsselhierarchie implementiert, die eine strikte Trennung der Zuständigkeiten zwischen der Datenbank und der vom Nutzer verwalteten Sicherheitsinfrastruktur gewährleistet.

  • Datenverschlüsselungsschlüssel (Data Encryption Keys, DEKs): Schlüssel, die von AlloyDB Omni generiert werden und deren Inhaber AlloyDB Omni ist. Mit diesen Schlüsseln werden die eigentlichen Datendateien, das WAL und temporäre Dateien verschlüsselt. In AlloyDB Omni werden DEKs auf der Festplatte gespeichert, aber mit Ihrem KEK verschlüsselt.
  • Schlüsselverschlüsselungsschlüssel (Key Encryption Key, KEK): Der Hauptschlüssel, den Sie in einem externen Key Management Service (KMS) verwalten. AlloyDB Omni verwendet Ihren KEK zum Verschlüsseln der DEKs. AlloyDB Omni greift nur beim Start auf diesen Schlüssel zu, um die DEKs zu entpacken. Ihr KEK wird niemals dauerhaft auf der Datenbankfestplatte gespeichert.
    • Der Speicherort und die Zugriffsparameter des KEK werden über Umgebungsvariablen und das Initialisierungsflag --tde-kek-url bereitgestellt.

Funktionsweise von TDE mit AlloyDB Omni

Wenn TDE aktiviert ist, schützt AlloyDB Omni Ihre Daten mit einem mehrschichtigen Verschlüsselungsmodell, das in ein externes KMS eingebunden ist.

  • Initialisierung und Schlüsselabruf: Während der Start- oder Initialisierungsphase des Clusters stellt die AlloyDB Omni-Engine eine sichere Verbindung zu Ihrem KMS her. Es authentifiziert sich mit einem JSON Web Token (JWT) und ruft den KEK ab.
  • DEKs entpacken: AlloyDB Omni verwendet Ihren KEK, um die DEKs zu entpacken, die im lokalen Speicher in einem gepackten Zustand gespeichert sind. Anschließend werden diese DEKs in den Arbeitsspeicher geladen.
  • Transparente Datenvorgänge:
    • Auf die Festplatte schreiben: Wenn die Datenbank Datenblöcke, WAL-Einträge oder temporäre Dateien auf die physische Festplatte schreibt, werden die Daten automatisch mit AES‑256-Algorithmen verschlüsselt, bevor sie geschrieben werden.
    • Lesen von der Festplatte: Wenn die Datenbank Daten in den Arbeitsspeicher lesen muss, werden die Blöcke automatisch mit den DEKs entschlüsselt, die im Arbeitsspeicher gespeichert sind.
    • Cache-Verschlüsselung: TDE unterstützt auch den Datenträger-Cache, einschließlich der im Cache gespeicherten Informationen der spaltenbasierten Engine. Daten, die in die Speicherebene des Chill-Cache geschrieben werden, sind verschlüsselt. Daten, die in den SSD-Cache der spaltenorientierten Engine ausgelagert werden, werden vor dem Schreiben auf die SSD verschlüsselt und beim Lesen entschlüsselt.
  • Leistungsoptimierungen: TDE umfasst Optimierungen, um die Leistung beim Sichern von Daten aufrechtzuerhalten. Es verwendet optimierten AES-256-XTS-Schutz für Datenblöcke und Caches und bietet synchrone Schreiboptimierungen, um die Latenz auf schnellen Pfaden zu minimieren.

  • Sicherheitsgrenzen: Ihr KEK wird niemals auf der lokalen Datenbankfestplatte gespeichert. So wird sichergestellt, dass die Daten auch dann unlesbar bleiben, wenn physische Speichermedien manipuliert werden, sofern kein autorisierter Zugriff auf den externen Tresor erfolgt.

Verschlüsselungsumfang und ‑spezifikationen

AlloyDB Omni verwendet AES-256-Algorithmen, die dem Branchenstandard entsprechen, um Ihre Daten zu schützen.

  • Datendateien (Tabellen und Indexe): AES‑256‑XTS.
  • Write-Ahead-Logs (WAL): AES-256-CTR.
  • Temporäre Dateien:AES‑256‑XTS oder AES‑256‑CTR, je nach Art der temporären Daten.
  • Cache-Dateien der spaltenbasierten Engine:AES‑256‑XTS.
  • Chill-Cache-Dateien:AES‑256‑XTS.
  • Key-Wrapping:AES-256-KWP.

Sicherung und Hochverfügbarkeit

Wenn TDE aktiviert ist, übernehmen Sicherungen, die mit pgBackRest erstellt wurden, die Verschlüsselungskonfiguration des Quellclusters. So sind Ihre Sicherungsdaten mit demselben Sicherheitsniveau wie Ihre primäre Datenbank geschützt.

Sicherungen können nur in Clustern wiederhergestellt werden, in denen derselbe KEK verfügbar ist.

Bei HA-Einrichtungen muss die Wiederherstellungsumgebung mit denselben Vault-Umgebungsvariablen initialisiert werden. Die Umgebungsvariablen für das Tresor-Tool müssen auf allen beteiligten Hosts verfügbar sein.

Unterstützte KMS und Authentifizierung

AlloyDB Omni unterstützt HashiCorp Vault als externen KMS-Anbieter. AlloyDB Omni unterstützt nur die Secrets Engine KV-V2 und die einzige unterstützte Authentifizierungsmethode ist JWT.

Hinweis: AlloyDB Omni unterstützt dateibasiertes KMS. Wir empfehlen jedoch, diese Funktion nur zu Testzwecken und nicht in Produktionsarbeitslasten zu verwenden.

Kompatibilität mit PostgreSQL-Tools

TDE-fähige Cluster unterstützen alle integrierten PostgreSQL-Tools, mit Ausnahme von initdb, transparent über Umgebungsvariablen. Wenn Sie initdb verwenden, müssen Sie die KEK-URL explizit übergeben. Weitere Informationen finden Sie unter Cluster mit TDE erstellen.

Beschränkungen

  • Sie können TDE nicht für vorhandene Cluster aktivieren.
  • Nach der Aktivierung können Sie TDE nicht mehr deaktivieren.
  • Upgrades der Hauptversion werden für TDE-fähige Cluster nicht unterstützt.
  • Sie können verschlüsselte Sicherungen nicht auf unverschlüsselten Servern und unverschlüsselte Sicherungen nicht auf verschlüsselten Servern wiederherstellen.
  • Die DEK-Rotation wird nicht unterstützt.
  • Die KEK-Rotation wird unterstützt, solange der KEK-URL-Pfad gleich bleibt.
  • Sie können CREATE DATABASE nicht mit der Strategie FILE_COPY verwenden.
  • Auf TDE-fähigen Clustern unterstützen Barman-Sicherungen nur den rsync-Modus. Die Sicherungsmethode postgres wird nicht unterstützt.
  • Die Rotation von Schlüsselverschlüsselungsschlüsseln (Key Encryption Keys, KEKs) wird nur für HashiCorp Vault als Anbieter des externen Schlüsselverwaltungssystems (Key Management System, KMS) unterstützt.

Nächste Schritte