Le chiffrement transparent des données (TDE) chiffre les fichiers de données en temps réel lors de leur écriture sur le disque et les déchiffre lorsqu'ils sont lus en mémoire, sans nécessiter aucune modification de votre application. Utilisez le TDE lorsque vous avez besoin d'un chiffrement des données au repos pour répondre aux exigences de conformité en matière de sécurité, protéger le contenu sensible de la base de données contre un accès direct au stockage ou partager en toute sécurité des fichiers de sauvegarde avec des tiers.
Une fois le TDE activé, la taille des fichiers de données n'augmente pas.
Fonctionnement
Le TDE utilise une hiérarchie de clés en couches pour protéger vos données.
Couche du système d'exploitation — L'API de protection des données Windows (DPAPI) est une API Windows intégrée qui gère de manière transparente les clés de chiffrement et les algorithmes. La DPAPI constitue la racine de la hiérarchie des clés du TDE et protège la clé principale de service (SMK).
Couche de l'instance SQL Server — La clé principale de service (SMK) est générée lors de la création d'une instance SQL Server. Elle sert de clé de chiffrement racine pour le moteur de base de données et est protégée par la DPAPI. La SMK chiffre la clé principale de base de données (DMK).
Couche de la base de données — Le TDE fonctionne à la fois sur la base de données master et sur les bases de données utilisateur :
Base de données master : Lorsque le TDE est activé, une DMK et un certificat sont créés dans la base de données master. La DMK est une clé symétrique chiffrée par la SMK ; le certificat chiffre la clé de chiffrement de base de données (DEK) stockée dans les bases de données utilisateur.
Bases de données utilisateur : Chaque base de données utilisateur stocke une DEK chiffrée par le certificat présent dans la base de données master. Lorsque SQL Server lit ou écrit des données, il utilise la clé privée du certificat pour déchiffrer la DEK en mémoire, puis utilise la DEK pour chiffrer ou déchiffrer les fichiers de données en temps réel. Ce processus est transparent pour les applications et les utilisateurs.
Si le certificat TDE n'est pas présent dans la base de données master, SQL Server ne peut pas déchiffrer la DEK. Cela signifie que vous ne pouvez pas restaurer des fichiers de sauvegarde provenant d'une base de données avec TDE activé ni attacher la base de données à une autre instance.
Prérequis
Avant de commencer, assurez-vous que :
-
L'instance RDS remplit toutes les conditions suivantes :
L'instance appartient à la famille d'instances general-purpose ou dedicated. Les instances à performances partagées ne sont pas prises en charge. Pour plus d'informations, consultez Familles d'instances.
La méthode de facturation est subscription ou pay-as-you-go. Les instances serverless ne sont pas prises en charge. Pour plus d'informations, consultez Instances ApsaraDB RDS for SQL Server serverless.
L'instance exécute l'une des versions SQL Server suivantes : SQL Server 2019 SE, SQL Server 2022 SE, SQL Server 2025 SE ou SQL Server EE.
L'instance n'est pas une instance RDS en lecture seule.
Votre compte Alibaba Cloud a autorisé l'instance RDS à accéder au Key Management Service (KMS). Pour plus d'informations, consultez Autoriser ApsaraDB RDS à accéder à KMS.
(Requis uniquement pour Bring Your Own Key (BYOK)) Vous disposez du fichier de certificat, du fichier de clé privée et du mot de passe.
Limitations et notes d'utilisation
Limitations
Lorsque le TDE est activé sur une instance RDS :
Vous ne pouvez pas mettre à jour la version mineure du moteur de l'instance.
Si l'instance utilise des disques SSD locaux Premium et exécute SQL Server 2008 R2, vous ne pouvez pas mettre à niveau la version majeure du moteur de SQL Server 2008 R2 vers SQL Server 2012 ou SQL Server 2016.
Les fichiers de sauvegarde peuvent être utilisés pour restaurer les données sur une nouvelle instance RDS, mais ne peuvent pas être utilisés pour reconstruire l'instance RDS ni restaurer les données sur une autre instance RDS existante.
Si vous utilisez la clé de service Alibaba Cloud, les fichiers de sauvegarde générés après l'activation du TDE ne permettent pas de restaurer les données sur un appareil local.
Impact sur les performances
Le TDE est gourmand en CPU et implique des opérations d'E/S. Selon la documentation officielle de Microsoft :
Les performances globales diminuent d'environ 3 % à 5 % dans des conditions typiques.
Si la plupart des données accessibles se trouvent en mémoire, l'impact est minime.
Si l'utilisation du CPU est déjà élevée, la perte de performance peut atteindre environ 28 %.
Activer le TDE
Accédez à la page Instances. Dans la barre de navigation supérieure, sélectionnez la région où réside l'instance RDS, puis cliquez sur l'ID de l'instance.
Dans le volet de navigation de gauche, cliquez sur Data Security.
-
Sous l'onglet TDE, activez l'interrupteur situé à côté de Disabled.
Le TDE ne peut être activé que si tous les prérequis sont remplis.
Dans la boîte de dialogue, sélectionnez un type de clé et cliquez sur OK.
Utiliser la clé générée automatiquement par Alibaba Cloud
Sélectionnez les bases de données dans la section Unselected Databases, cliquez sur l'icône 
pour les déplacer vers la section Selected Databases, puis cliquez sur Confirm.
Chiffrer avec votre propre clé SQL Server (BYOK)
-
Téléchargez le fichier de certificat et le fichier de clé privée dans votre compartiment OSS. Pour plus d'informations, consultez Télécharger des objets.
Dans l'assistant Encrypt with your own SQL Server key, à l'étape Upload files to OSS, tenez compte des recommandations suivantes :
Pour un fichier unique, nous vous recommandons de le télécharger via la console OSS.
Pour plusieurs fichiers, nous vous recommandons d'utiliser le téléchargement avec reprise et d'appeler l'OpenAPI OSS.
Vous pouvez également utiliser un outil client pour télécharger des fichiers vers OSS.
-
Cliquez sur Next step et configurez les paramètres suivants.
Parameter Description OSS Bucket Le compartiment OSS dans lequel vous avez téléchargé les fichiers de certificat et de clé privée. Certificate Le fichier de certificat que vous avez téléchargé dans le compartiment OSS. Private key Le fichier de clé privée que vous avez téléchargé dans le compartiment OSS. Password Le mot de passe de votre clé SQL Server. Cliquez sur Next step pour accéder à l'étape Authorization database.
Sélectionnez les bases de données dans la section Unselected Databases, cliquez sur l'icône

pour les déplacer vers la section Selected Databases, puis cliquez sur Confirm.
Désactiver le TDE
La désactivation du TDE déchiffre toutes les données, ce qui constitue une opération gourmande en ressources consommant d'importantes quantités de CPU, de mémoire et de ressources d'E/S. Le temps de déchiffrement est proportionnel au volume de données : pour une base de données contenant environ 200 Go de données, le déchiffrement peut prendre plus de 40 minutes.
Pour désactiver le TDE pour des specific databases : retirez ces bases de données de la section Selected Databases.
Pour désactiver le TDE pour l'entire instance : retirez toutes les bases de données de la section Selected Databases. Le système désactive alors le TDE pour l'instance.
Étapes :
Accédez à la page Instances. Dans la barre de navigation supérieure, sélectionnez la région où réside l'instance RDS, puis cliquez sur l'ID de l'instance.
Dans le volet de navigation de gauche, cliquez sur Data Security.
Cliquez sur l'onglet TDE, puis cliquez sur TDE Settings.
Sélectionnez les bases de données dans la section Selected Databases, cliquez sur l'icône

pour les déplacer vers la section Unselected Databases, puis cliquez sur OK.
Pour vérifier la progression du déchiffrement après la désactivation du TDE, exécutez l'instruction SQL suivante :
SELECT
db_name(database_id) AS DatabaseName,
encryption_state,
percent_complete
FROM
sys.dm_database_encryption_keys;
Étapes suivantes
Pour activer le TDE en appelant une opération d'API, consultez ModifyDBInstanceTDE.
Pour chiffrer les connexions à l'instance RDS à l'aide de SSL, consultez Configurer la fonctionnalité de chiffrement SSL.