Chiffrement transparent des données pour AlloyDB Omni

Sélectionnez une version de la documentation :

Le chiffrement transparent des données (TDE, Transparent Data Encryption) vous permet de sécuriser toutes les données au repos dans vos clusters AlloyDB Omni sans modifier le code de votre application. En activant cette fonctionnalité, vous vous assurez que les tables, les index et les journaux WAL (Write-Ahead Logging) sont automatiquement chiffrés avant d'être écrits sur le disque. Cela vous permet de respecter les exigences de conformité et de protéger les informations sensibles.

Le chiffrement est transparent, car les requêtes SQL, les opérations LDD et les opérations LMD fonctionnent normalement sans nécessiter de modifications de l'application. Les données sont automatiquement chiffrées avant d'être écrites sur le disque et déchiffrées lorsqu'elles sont lues en mémoire.

Hiérarchie des clés

AlloyDB Omni met en œuvre une hiérarchie de clés à deux niveaux qui maintient une séparation stricte des tâches entre la base de données et l'infrastructure de sécurité gérée par l'utilisateur.

  • Clés de chiffrement des données (DEK) : générées et détenues par AlloyDB Omni. Ces clés chiffrent les fichiers de données réels, les fichiers WAL et les fichiers temporaires. AlloyDB Omni stocke les DEK sur le disque, mais les encapsule avec votre KEK.
  • Clé de chiffrement de clé (KEK) : clé principale que vous gérez dans un service de gestion des clés (KMS) externe. AlloyDB Omni utilise votre KEK pour chiffrer les DEK. AlloyDB Omni n'accède à cette clé qu'au démarrage pour déballer les DEK. Votre KEK n'est jamais stockée de manière persistante sur le disque de la base de données.

Fonctionnement du TDE avec AlloyDB Omni

Lorsque le TDE est activé, AlloyDB Omni sécurise vos données à l'aide d'un modèle de chiffrement multicouche qui s'intègre à un KMS externe.

  • Initialisation et récupération de la clé : lors de la phase de démarrage ou d'initialisation du cluster, le moteur AlloyDB Omni établit une connexion sécurisée à votre KMS. Il s'authentifie à l'aide d'un jeton Web JSON (JWT) et récupère la KEK.
  • Désencapsuler les DEK : AlloyDB Omni utilise votre KEK pour désencapsuler les DEK, qui sont stockées sur l'espace de stockage local dans un état encapsulé. Ensuite, ces DEK sont chargées en mémoire.
  • Opérations de données transparentes :
    • Écriture sur le disque : lorsque la base de données écrit des blocs de données, des enregistrements WAL ou des fichiers temporaires sur le disque physique, elle chiffre automatiquement les données à l'aide d'algorithmes AES-256 avant de les écrire sur le disque physique.
    • Lecture à partir du disque : lorsque la base de données doit lire des données en mémoire, elle déchiffre automatiquement les blocs à l'aide des DEK stockées en mémoire.
  • Limites de sécurité : votre KEK n'est jamais stockée sur le disque de la base de données locale. Ainsi, même si le support de stockage physique est compromis, les données restent illisibles sans accès autorisé au coffre externe.

Champ d'application et spécifications du chiffrement

AlloyDB Omni utilise des algorithmes AES-256 standards pour sécuriser vos données.

  • Fichiers de données (tables et index) : AES-256-XTS.
  • Journaux WAL (write-ahead logs) : AES-256-CTR.
  • Fichiers temporaires : AES-256-XTS ou AES-256-CTR, selon le type de données temporaires.
  • Encapsulation de clé : AES-256-KWP.

Sauvegarde et haute disponibilité

Lorsque le TDE est activé, les sauvegardes créées à l'aide de pgBackRest héritent de la configuration de chiffrement du cluster source. Cela garantit que vos données de sauvegarde restent protégées avec le même niveau de sécurité que votre base de données principale.

KMS et authentification compatibles

AlloyDB Omni est compatible avec HashiCorp Vault en tant que fournisseur KMS externe. AlloyDB Omni n'est compatible qu'avec le moteur de secrets KV-V2, et la seule méthode d'authentification compatible est JWT.

Remarque : AlloyDB Omni est compatible avec le service de gestion de clés basé sur des fichiers. Toutefois, nous vous recommandons de ne l'utiliser qu'à des fins de test, et non dans des charges de travail de production.

Compatibilité avec les outils PostgreSQL

Les clusters sur lesquels le TDE est activé sont compatibles avec tous les outils PostgreSQL intégrés, à l'exception de initdb, de manière transparente via des variables d'environnement. Si vous utilisez initdb, veillez à transmettre l'URL de la KEK. Pour en savoir plus, consultez Créer un cluster avec TDE activé.

Limites

  • Vous ne pouvez pas activer le TDE sur des clusters existants.
  • Une fois le TDE activé, vous ne pouvez plus le désactiver.
  • Les mises à niveau de version majeure ne sont pas compatibles avec les clusters pour lesquels le TDE est activé.
  • Vous ne pouvez pas restaurer des sauvegardes chiffrées sur des serveurs non chiffrés, ni des sauvegardes non chiffrées sur des serveurs chiffrés.
  • La rotation des DEK n'est pas prise en charge.
  • La rotation de la KEK est possible tant que le chemin d'accès de l'URL de la KEK reste le même.
  • La rotation des KEK n'est compatible qu'avec HashiCorp Vault en tant que fournisseur KMS externe.
  • Vous ne pouvez pas CREATE DATABASE à l'aide de la stratégie FILE_COPY.
  • Sur les clusters pour lesquels le TDE est activé, les sauvegardes Barman ne sont compatibles qu'avec le mode rsync. La méthode de sauvegarde postgres n'est pas prise en charge.

Étapes suivantes