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-urlInitialisierungs Flag angegeben.
-
Der Speicherort und die Zugriffsparameter des KEK werden über
Umgebungsvariablen und das
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.
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 voninitdb, 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_COPYkeine Datenbank (CREATE DATABASE) erstellen. - In Clustern mit aktivierter TDE unterstützen Barman-Sicherungen nur den Modus
rsync. Die Sicherungsmethodepostgreswird nicht unterstützt.
Nächste Schritte
- Cluster mit aktivierter TDE erstellen
- Fehlerbehebung bei der transparenten Datenverschlüsselung.