Schlüsselhierarchie
AlloyDB Omni implementiert eine zweistufige Schlüsselhierarchie, die eine strikte Trennung der Aufgaben 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. Mit diesen Schlüsseln werden die eigentlichen Datendateien, WAL, und temporären Dateien verschlüsselt. AlloyDB Omni speichert DEKs auf dem Laufwerk, verpackt sie aber mit Ihrem 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 nie dauerhaft auf dem Datenbanklaufwerk gespeichert.
-
Der Speicherort und die Zugriffsparameter des KEK werden über
Umgebungsvariablen und das
--tde-kek-urlInitialisierungs Flag bereitgestellt.
-
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) 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 der 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 nie auf dem lokalen Datenbanklaufwerk gespeichert. So bleiben die Daten auch dann unlesbar, wenn physische Speichermedien kompromittiert werden, sofern kein autorisierter Zugriff auf den externen Vault besteht.
Verschlüsselungsbereich 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 Vault-Umgebungsvariablen initialisiert werden. Die Vault-Umgebungsvariablen 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 KV-V2-Secrets-Engine und die einzige unterstützte Authentifizierungsmethode ist JWT.
Hinweis: AlloyDB Omni unterstützt dateibasiertes KMS. Wir empfehlen jedoch, diese Funktion nur für Testzwecke und nicht für Produktionsarbeitslasten zu verwenden.Kompatibilität mit PostgreSQL-Tools
Cluster mit aktivierter TDE unterstützen alle integrierten PostgreSQL-Tools, außerinitdb, 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.
- Nach der Aktivierung können Sie TDE nicht mehr deaktivieren.
- 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
CREATE DATABASEmit der StrategieFILE_COPYnicht verwenden. - In Clustern mit aktivierter TDE unterstützen Barman-Sicherungen nur den Modus
rsync. Die Sicherungsmethodepostgreswird nicht unterstützt. - Die Rotation des Schlüsselverschlüsselungsschlüssels (KEK) wird nur für HashiCorp Vault als externen KMS-Anbieter (Key Management System) unterstützt.
Nächste Schritte
- Informationen zum Erstellen eines Clusters mit aktivierter TDE