Transparente Datenverschlüsselung für AlloyDB Omni

Wählen Sie eine Dokumentationsversion aus:

Um vertrauliche Informationen zu schützen und strenge Complianceanforderungen zu erfüllen, ohne den Anwendungscode zu ändern, verwenden Sie die transparente Datenverschlüsselung (Transparent Data Encryption, TDE), um inaktive Daten in AlloyDB Omni zu schützen. In dieser Übersicht wird erläutert, wie TDE Datenbankdateien, Logs und Caches automatisch verschlüsselt, bevor sie auf das Laufwerk geschrieben werden. So wird eine umfassende Sicherheit mit minimalem Betriebsaufwand gewährleistet.

Schlüsselhierarchie

AlloyDB Omni implementiert eine zweistufige Schlüsselhierarchie, die eine strikte Funktionstrennung zwischen der Datenbank und der vom Nutzer verwalteten Sicherheitsinfrastruktur aufrechterhält.

  • Datenverschlüsselungsschlüssel (Data Encryption Keys, DEKs): Schlüssel, die von AlloyDB Omni generiert werden und deren Inhaber AlloyDB Omni ist. Diese Schlüssel verschlüsseln die eigentlichen Datendateien, WAL, und temporären Dateien. AlloyDB Omni speichert DEKs auf dem Laufwerk, verpackt sie aber mit Ihrem Schlüsselverschlüsselungsschlüssel (Key Encryption Key, KEK).
  • 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, um die DEKs zu verschlüsseln. AlloyDB Omni greift nur beim Start auf diesen Schlüssel zu, um die DEKs zu entpacken. Ihr KEK wird niemals dauerhaft auf dem Datenbanklaufwerk gespeichert.
    • Der Speicherort und die Zugriffsparameter des KEK werden über Umgebungsvariablen und das --tde-kek-url Initialisierungs Flag angegeben.

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 integriert 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. Sie authentifiziert sich mit einem JSON Web Token (JWT) für HashiCorp Vault oder mit Anmeldedaten für Nutzername und Passwort für Thales CipherTrust Manager und ruft den KEK ab.
  • Entpacken der DEKs: AlloyDB Omni verwendet Ihren KEK, um die DEKs zu entpacken, die im verpackten Zustand im lokalen Speicher gespeichert sind. Anschließend werden diese DEKs in den Arbeitsspeicher geladen.
  • Transparente Datenvorgänge:
    • Auf das Laufwerk schreiben: Wenn die Datenbank Datenblöcke, WAL-Einträge oder temporäre Dateien auf das physische Laufwerk schreibt, werden die Daten automatisch mit AES-256-Algorithmen verschlüsselt, bevor sie geschrieben werden.
    • Vom Laufwerk lesen: Wenn die Datenbank Daten in den Arbeitsspeicher lesen muss, werden die Blöcke automatisch mit den DEKs entschlüsselt, die im Arbeitsspeicher gespeichert sind.
    • Cacheverschlüsselung: TDE unterstützt auch den Datenträger-Cache, einschließlich der im Cache gespeicherten Informationen zur spaltenbasierten Engine. Daten, die in die Chill-Cache-Speicherebene geschrieben werden, werden verschlüsselt. Daten, die in den SSD-Cache der spaltenbasierten Engine ausgelagert werden, werden verschlüsselt, bevor sie auf die SSD geschrieben werden, und beim Lesen entschlüsselt.
  • Leistungsoptimierungen: TDE enthält Optimierungen, um eine hohe Leistung zu gewährleisten und gleichzeitig Daten zu schützen. Es verwendet einen optimierten AES-256-XTS-Schutz für Datenblöcke und Caches sowie synchrone Schreiboptimierungen, um die Latenz auf schnellen Pfaden zu minimieren.

  • Sicherheitsgrenzen: Ihr KEK wird niemals auf dem lokalen Datenbanklaufwerk gespeichert. So bleiben die Daten auch dann unlesbar, wenn physische Speichermedien kompromittiert werden, da ohne autorisierten Zugriff auf das externe KMS kein Zugriff auf die Daten möglich ist.

Verschlüsselungsumfang und -spezifikationen

AlloyDB Omni verwendet branchenübliche AES-256-Algorithmen, 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.
  • Schlüsselverpackung:AES-256-KWP.

Sicherung und Hochverfügbarkeit

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

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

Bei HA-Einrichtungen muss die Wiederherstellungsumgebung mit denselben KMS-Umgebungsvariablen initialisiert werden. Die KMS-Umgebungsvariablen müssen auf allen beteiligten Hosts verfügbar sein.

Unterstützte KMS und Authentifizierung

AlloyDB Omni unterstützt die folgenden externen KMS-Anbieter und Authentifizierungsmethoden:

  • HashiCorp Vault: Unterstützt die Secrets-Engine KV-V2 mit JSON Web Token (jwt) zur Authentifizierung.
  • **Thales CipherTrust Manager**: Unterstützt die Geheimnisverwaltung mit der Authentifizierung über Nutzername und Passwort (password) .

Kompatibilität mit PostgreSQL-Tools

Cluster mit aktivierter TDE 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 aktivierter TDE erstellen.

Beschränkungen

  • Sie können TDE nicht in vorhandenen Clustern aktivieren.
  • Nachdem TDE aktiviert wurde, kann sie nicht mehr deaktiviert werden.
  • Upgrades der Hauptversion werden für Cluster mit aktivierter TDE 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 mit der Strategie FILE_COPY keine Datenbank (CREATE DATABASE) erstellen.
  • In Clustern mit aktivierter TDE unterstützen Barman-Sicherungen nur den Modus rsync. Die Sicherungsmethode postgres wird nicht unterstützt.

Nächste Schritte