Le chiffrement transparent des données (TDE) chiffre vos fichiers de base de données en temps réel au niveau du stockage. Les données sont chiffrées avant leur écriture sur disque et déchiffrées lors de leur chargement en mémoire. Vos applications se connectent et exécutent des requêtes normalement, sans aucune modification de code.
Fonctionnement du TDE
Le TDE utilise l'algorithme Advanced Encryption Standard (AES) avec une clé de 256 bits. Le chiffrement et le déchiffrement s'effectuent au niveau des E/S : le moteur de base de données gère ces deux opérations de manière transparente.
Alibaba Cloud Key Management Service (KMS) assure la gestion des clés. Avant d'activer le TDE, choisissez l'un des deux types de clés suivants :
| Type de clé | Gestionnaire | Coût | Cas d'usage recommandé |
|---|---|---|---|
| Clé de service | Alibaba Cloud (automatique) | Gratuit | Configuration la plus simple ; aucune exigence de conformité concernant la propriété des clés |
| Clé personnalisée | Vous-même, via KMS | Frais de clé KMS applicables | Contrôle total du cycle de vie de la clé (rotation, désactivation, suppression) ; conformité réglementaire |
Périmètre d'application
Avant de commencer, assurez-vous que :
-
Votre cluster respecte la version mineure minimale du moteur :
Impossible d'activer le TDE sur les clusters serverless exécutant MySQL 8.0.2.
Série de produit Moteur de base de données Version mineure minimale du moteur Cluster Edition MySQL 5.6 5.6.1.0.21 MySQL 5.7 5.7.1.0.3 MySQL 8.0.1, MySQL 8.0.2 8.0.1.1.1 Standard Edition MySQL 5.7 5.7.1.0.3 MySQL 8.0.1, MySQL 8.0.2 8.0.1.1.1 Multi-master Cluster (Limitless) MySQL 8.0.1 8.0.1.0.42 MySQL 8.0.2 8.0.2.0.6 -
Si vous prévoyez d'utiliser une clé personnalisée, les éléments suivants sont également requis :
Une instance Alibaba Cloud KMS active
PolarDB autorisé à accéder à KMS (Autoriser PolarDB à accéder à KMS)
Un compte Alibaba Cloud ou un utilisateur Resource Access Management (RAM) disposant de l'autorisation
AliyunSTSAssumeRoleAccess
Facturation
| Type de frais | Détails |
|---|---|
| Stockage | Le TDE n'augmente pas la taille des fichiers de données. Aucun frais de stockage supplémentaire ne s'applique. |
| Clé de service | Gratuit. |
| Clé personnalisée | Aucun frais PolarDB. Les frais de clé KMS s'appliquent. |
Limites
Prenez connaissance des limites suivantes avant d'activer le TDE :
Irréversible : Impossible de désactiver le TDE une fois activé.
Redémarrage du cluster requis : L'activation du TDE entraîne le redémarrage du cluster et provoque une brève interruption de service (environ 10 minutes). Planifiez cette opération en dehors des heures de pointe.
Impact sur les performances : Dans les scénarios à forte intensité d'E/S, le chiffrement et le déchiffrement consomment des ressources CPU et peuvent légèrement affecter les performances de la base de données.
Restriction serverless : Impossible d'activer le TDE sur les clusters serverless exécutant MySQL 8.0.2.
Risque lié aux clés personnalisées : Si votre clé personnalisée devient indisponible, le cluster le devient également lors du prochain redémarrage. Consultez la section Risque lié aux clés personnalisées pour plus de détails.
Global Database Network (GDN) : Activer le TDE sur le cluster principal l'active automatiquement sur tous les clusters secondaires. Tous les clusters du GDN partagent la même clé, située dans la région du cluster principal. Vous ne pouvez pas activer le TDE indépendamment sur un cluster secondaire ni modifier la région de la clé.
Activer le TDE
L'activation du TDE redémarre le cluster. Cette action est irréversible. Procédez avec prudence.
Connectez-vous à la console PolarDB. Dans le volet de navigation de gauche, cliquez sur Settings and Management > Security. Sous l'onglet TDE Settings, activez le commutateur TDE Status.
-
Dans la boîte de dialogue, sélectionnez un type de clé :
Service Key (Automatically Generated by Alibaba Cloud) : Cliquez sur OK. Aucune configuration supplémentaire n'est nécessaire.
Use Existing Custom Key : Sélectionnez une clé dans la liste déroulante et cliquez sur OK. Si aucune clé n'apparaît, créez d'abord une clé dans KMS.
Lors de la création d'une clé KMS pour le TDE, sélectionnez l'algorithme de chiffrement
Aliyun_AES_256ouAliyun_SM4. Le TDE prend uniquement en charge ces deux algorithmes. Patientez jusqu'à la fin de l'activation du TDE. Ce processus prend environ 10 minutes et redémarre le cluster.
(Facultatif) Chiffrer automatiquement les nouvelles tables
Pour chiffrer toutes les tables créées après l'activation du TDE, activez le commutateur Advanced Settings lors de l'activation du TDE.
Ce paramètre est disponible sur :
PolarDB for MySQL 8.0 avec la version mineure du moteur 8.0.1.1.15 ou ultérieure
PolarDB for MySQL 5.7 avec la version mineure du moteur 5.7.1.0.35 ou ultérieure
Chiffrer les tables existantes
L'activation du TDE ne chiffre pas automatiquement les tables existantes. Exécutez la commande ALTER TABLE pour les chiffrer manuellement.
La table est verrouillée en lecture et en écriture pendant l'exécution de ALTER TABLE.
| Version de la base de données | Chiffrer une table | Déchiffrer une table |
|---|---|---|
| MySQL 5.6 | ALTER TABLE <table_name> BLOCK_FORMAT=ENCRYPTED; |
ALTER TABLE <table_name> BLOCK_FORMAT=DEFAULT; |
| MySQL 5.7, MySQL 8.0 | ALTER TABLE <table_name> ENCRYPTION = 'Y'; |
ALTER TABLE <table_name> ENCRYPTION = 'N'; |
Vérifier l'état du chiffrement
Exécutez SHOW CREATE TABLE <table_name>; pour vérifier si une table est chiffrée.
MySQL 5.7, MySQL 8.0 : La table est chiffrée si la sortie contient
ENCRYPTION='Y'.MySQL 5.6 : La table est chiffrée si la sortie contient
BLOCK_FORMAT=ENCRYPTED.
Risque lié aux clés personnalisées
Avec une clé personnalisée, la disponibilité de cette clé détermine directement celle du cluster. Le cluster devient indisponible si l'un des événements suivants se produit :
La clé est désactivée dans KMS
La suppression de la clé est planifiée dans KMS
Le matériel de clé est supprimé dans KMS
L'autorisation de PolarDB à accéder à KMS est révoquée
FAQ
Quel est l'impact de l'activation du TDE sur mon activité ?
L'activation du TDE redémarre le cluster et entraîne une brève interruption de service. Planifiez cette opération en dehors des heures de pointe. Pour les charges de travail à forte intensité d'E/S, prévoyez une légère baisse de performance due aux opérations de chiffrement et de déchiffrement.
Quel problème de sécurité le TDE résout-il ?
Le TDE protège les données au repos sur le disque. Il empêche les utilisateurs non autorisés de lire directement les fichiers de base de données depuis le stockage, par exemple si un support physique est retiré ou si des fichiers de stockage sont accessibles en dehors du moteur de base de données. Cette protection est totalement transparente pour les applications.
Puis-je obliger les utilisateurs RAM à activer le TDE lors de la création d'un cluster ?
Oui. Configurez une politique RAM pour imposer l'activation du TDE lorsque les utilisateurs RAM créent un cluster via la console ou l'API.
Étapes suivantes
Référence API
| API | Description |
|---|---|
| DescribeDBClusterTDE | Interroger les paramètres TDE d'un cluster PolarDB |
| DescribeUserEncryptionKeyList | Lister les clés personnalisées d'un cluster PolarDB |
| CheckKMSAuthorized | Vérifier l'existence d'une clé KMS |
| ModifyDBClusterTDE | Activer le TDE pour un cluster PolarDB |