Tous les produits
Search
Centre de documentation

ApsaraDB RDS:Bonnes pratiques pour TDE

Dernière mise à jour :Aug 08, 2026

Transparent Data Encryption (TDE) chiffre vos bases de données ApsaraDB RDS pour SQL Server au repos, protégeant ainsi les fichiers de données et les sauvegardes contre tout accès non autorisé, même en cas de compromission du stockage sous-jacent. Cette rubrique explique le fonctionnement de TDE, la procédure d'activation et de désactivation, ainsi que la restauration de sauvegardes chiffrées par TDE vers un serveur SQL Server local. Les scénarios couvrent l'utilisation de clés managées par Alibaba Cloud et l'utilisation de vos propres clés (BYOK).

Avertissement

Les fichiers de sauvegarde créés lorsque TDE est activé sont chiffrés avec la clé de chiffrement de base de données (DEK). Un certificat stocké dans la base de données master protège la DEK. Si le certificat TDE est absent de la base de données master, la DEK reste indéchiffrable et la restauration des fichiers de sauvegarde de la base concernée est impossible. Sauvegardez votre certificat et votre clé privée après l'activation de TDE.

Fonctionnement de TDE

TDE protège les données au niveau du stockage sans nécessiter de modification du code applicatif ni de la logique de connexion. Les applications et utilisateurs authentifiés lisent les données en clair comme d'habitude ; le chiffrement et le déchiffrement s'opèrent de manière transparente dans le chemin d'E/S de SQL Server.

TDE repose sur une hiérarchie de clés à plusieurs niveaux. Chaque niveau chiffre le niveau inférieur :

OS layer
└── Data Protection API (DPAPI)          — Windows built-in API; root of the hierarchy
    └── Service Master Key (SMK)         — root key for the SQL Server engine; generated at instance creation
        └── Database Master Key (DMK)    — symmetric key stored in the master database
            └── Certificate              — stored in the master database; created from the DMK
                └── Database Encryption Key (DEK)  — stored in the user database; encrypts data files

La base de données master stocke la DMK et le certificat. Les bases de données utilisateur stockent la DEK, chiffrée par le certificat. Lors de la lecture ou de l'écriture de données, SQL Server utilise la clé privée du certificat pour déchiffrer la DEK en mémoire, puis exploite cette DEK pour chiffrer ou déchiffrer les fichiers de données en temps réel.

En cas d'absence du certificat dans la base de données master, la DEK reste indéchiffrable. Les fichiers de sauvegarde de la base concernée deviennent alors inaccessibles.

Considérations sur les performances

Selon les références officielles Microsoft, TDE réduit les performances globales de la base de données d'environ 3 % à 5 % sous des charges de travail typiques. En cas d'utilisation élevée du CPU, l'impact peut atteindre environ 28 %.

Facteur Impact
Données résidentes en mémoire Minimal — les données déjà présentes dans le pool de tampons ne sont pas rechiffrées à chaque lecture
CPU Élevé — les opérations de chiffrement et de déchiffrement ajoutent une surcharge à chaque chemin d'E/S
Charges intensives en E/S et légères en CPU Impact plus faible que les charges limitées par le CPU

Prérequis

Avant d'activer TDE, vérifiez que les conditions suivantes sont remplies :

  • L'instance RDS appartient à la famille d'instances general-purpose ou dedicated. Les instances partagées ne sont pas prises en charge. Consultez la rubrique Familles d'instances.

  • La méthode de facturation est subscription ou pay-as-you-go. Les instances ApsaraDB RDS Serverless ne sont pas prises en charge. Consultez la rubrique Instances ApsaraDB RDS pour SQL Server Serverless.

  • L'instance exécute l'une des versions suivantes de SQL Server : SQL Server 2019 SE, SQL Server 2022 SE ou SQL Server EE.

  • Votre compte Alibaba Cloud a autorisé l'instance RDS à accéder à Key Management Service (KMS). Consultez la rubrique Autoriser ApsaraDB RDS à accéder à KMS.

  • (BYOK uniquement) Obtenez le fichier de certificat, le fichier de clé privée et le mot de passe avant de commencer.

Les instances en lecture seule ne prennent pas en charge TDE.

Limites

Limite Détails
Restauration locale avec une clé Alibaba Cloud Impossible d'utiliser directement les fichiers de sauvegarde pour restaurer les données sur un appareil local. Consultez la section Restauration locale : clé Alibaba Cloud pour la procédure de contournement.
Reconstruction de l'instance RDS Impossible de reconstruire l'instance RDS à partir des fichiers de sauvegarde lorsque TDE est activé. Consultez la rubrique Reconstruire une instance RDS.
Mises à niveau de version et mises à jour mineures du moteur Lorsque TDE est activé, la mise à niveau d'une instance RDS avec des disques locaux de SQL Server 2008 R2 vers SQL Server 2012 ou SQL Server 2016, ainsi que la mise à jour de la version mineure du moteur, sont impossibles. Consultez les rubriques Mettre à niveau SQL Server 2008 R2 et Mettre à jour la version mineure du moteur.

Activer ou désactiver TDE

Activer TDE

  1. Accédez à la page Instances. Dans la barre de navigation supérieure, sélectionnez la région dans laquelle se trouve l'instance RDS. Recherchez l'instance et cliquez sur son ID.

  2. Dans le volet de navigation de gauche, cliquez sur Data Security.

  3. Dans l'onglet TDE, activez le commutateur situé en regard de Disabled.

  4. Dans la boîte de dialogue, sélectionnez un type de clé et cliquez sur OK.

Utiliser une clé managée 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.

TDE settings

Utiliser votre propre clé SQL Server (BYOK)

  1. Importez le fichier de certificat et le fichier de clé privée dans un bucket OSS. Consultez la rubrique Importer des objets.

    Upload files to OSS

  2. Cliquez sur Next step et configurez les paramètres suivants.

    Paramètre Description
    OSS Bucket Bucket OSS contenant les fichiers de certificat et de clé privée.
    Certificate Fichier de certificat importé dans le bucket OSS.
    Private key Fichier de clé privée importé dans le bucket OSS.
    Password Mot de passe de votre clé SQL Server.

    Select your own key

  3. Cliquez sur Next step pour passer à 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.

    Authorize databases

Désactiver TDE

La désactivation de TDE déchiffre toutes les données des bases sélectionnées. Cette opération est gourmande en ressources — elle consomme du CPU, de la mémoire et des E/S en quantité importante — et sa durée est proportionnelle au volume de données. Pour une base contenant environ 200 Go de données, la désactivation de TDE peut prendre plus de 40 minutes.

Pour désactiver TDE sur une ou plusieurs bases de données, retirez ces bases de la section Selected Databases. Pour désactiver TDE sur l'ensemble de l'instance RDS, retirez toutes les bases de la section Selected Databases.
  1. Accédez à la page Instances. Dans la barre de navigation supérieure, sélectionnez la région dans laquelle se trouve l'instance RDS. Recherchez l'instance et cliquez sur son ID.

  2. Dans le volet de navigation de gauche, cliquez sur Data Security.

  3. Dans l'onglet TDE, cliquez sur TDE Settings.

  4. 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.

    Disable TDE

Suivre la progression du déchiffrement

Après la désactivation de TDE, exécutez la requête suivante pour vérifier la progression du déchiffrement :

SELECT
    db_name(database_id) AS DatabaseName,
    encryption_state,
    percent_complete
FROM
    sys.dm_database_encryption_keys;

Restauration locale : clé Alibaba Cloud

Suivez cette procédure si TDE a été activé avec une clé de service managée par Alibaba Cloud. Étant donné que la clé de service est gérée par Alibaba Cloud et n'est pas exportable, les fichiers de sauvegarde chiffrés ne peuvent pas être utilisés directement. La procédure de contournement consiste à désactiver TDE au préalable, puis à créer une nouvelle sauvegarde complète.

Étape 1 : Désactiver TDE

Suivez les étapes de la section Désactiver TDE pour retirer toutes les bases de données de la section Selected Databases.

Après la désactivation de TDE, certains journaux de transactions chiffrés peuvent encore exister. Téléchargez la sauvegarde uniquement après avoir créé la sauvegarde complète à l'étape suivante.

Étape 2 : Créer une sauvegarde complète

Une fois TDE désactivé, créez une sauvegarde complète. Pour en savoir plus, consultez la rubrique Configurer les sauvegardes manuelles.

Lors de la création d'une sauvegarde manuelle, vous pouvez sauvegarder l'ensemble de l'instance RDS ou des bases de données spécifiques. La sauvegarde de bases de données spécifiques nécessite la méthode de sauvegarde physique.

Étape 3 : Télécharger la sauvegarde et restaurer les données

Sur la page Backup and Restoration, téléchargez le fichier de sauvegarde complète le plus récent. Utilisez le fichier .bak du package téléchargé pour restaurer les données sur votre serveur SQL Server local. Consultez la rubrique Télécharger les fichiers de sauvegarde de données et les fichiers de sauvegarde de journaux.

Restauration locale : BYOK

Si TDE a été activé avec votre propre clé SQL Server (BYOK), vous pouvez restaurer la sauvegarde chiffrée sur un serveur SQL Server local à l'aide de votre propre certificat et de votre propre clé privée.

Vous pouvez également suivre la procédure avec clé Alibaba Cloud en appliquant l'approche « désactiver puis sauvegarder ».

Connectez-vous à votre instance RDS à l'aide d'un client SQL Server avant d'exécuter les instructions suivantes. Consultez la rubrique Se connecter à une instance ApsaraDB RDS pour SQL Server .

Étape 1 : Créer une clé de chiffrement master

Exécutez l'instruction suivante sur la base de données master de votre instance RDS pour créer une clé de chiffrement master (MEK). Si une MEK existe déjà, passez directement à l'étape 2.

USE master;
GO
IF NOT EXISTS (
    SELECT * FROM sys.symmetric_keys WHERE symmetric_key_id = 101
)
BEGIN
    CREATE MASTER KEY ENCRYPTION BY PASSWORD = '<your-mek-password>'; -- Replace with your custom password.
END;

Le mot de passe peut différer de celui utilisé pour créer la MEK sur le serveur sur lequel votre base de données SQL Server auto-gérée est créée.

Étape 2 : Créer un certificat à partir de vos fichiers BYOK

Importez le certificat et la clé privée utilisés lors de l'activation de TDE sur l'instance RDS.

USE master;
GO
CREATE CERTIFICATE TDE_Certificate
FROM FILE = 'C:\cert\tde_cert.cer'         -- Replace with the actual path to your certificate file.
WITH PRIVATE KEY (
    FILE = 'C:\cert\tde_privatekey.pvk',   -- Replace with the actual path to your private key file.
    DECRYPTION BY PASSWORD = '<your-tde-password>'  -- Replace with the password used when enabling TDE.
);
Paramètre fictif Description
<your-mek-password> Mot de passe pour protéger la MEK sur le serveur local.
C:\cert\tde_cert.cer Chemin vers le fichier de certificat utilisé lors de l'activation de TDE.
C:\cert\tde_privatekey.pvk Chemin vers le fichier de clé privée utilisé lors de l'activation de TDE.
<your-tde-password> Mot de passe spécifié lors de l'activation de TDE avec BYOK.

Étape 3 : Télécharger la sauvegarde et restaurer les données

Sur la page Backup and Restoration de l'instance RDS, recherchez le jeu de sauvegarde souhaité, téléchargez-le et utilisez le fichier .bak pour restaurer les données sur le serveur SQL Server local. Consultez la rubrique Télécharger les fichiers de sauvegarde de données et les fichiers de sauvegarde de journaux.

Compatibilité des versions : Si la restauration échoue avec l'erreur The media family on device '<backup file name>' is incorrectly formed. SQL Server cannot process this media family., cela signifie que la version mineure du moteur SQL Server local est antérieure à celle de l'instance RDS. Pour résoudre ce problème, assurez-vous que les versions majeure et mineure du moteur de la base locale correspondent à celles de l'instance RDS. Vérifiez la version du moteur sur la page Basic Information de l'instance dans la console. Consultez la rubrique KB5014298 pour plus de détails.

Étapes suivantes

Pour découvrir les autres options de chiffrement des données disponibles dans ApsaraDB RDS pour SQL Server, consultez la rubrique Sécurité des données et chiffrement.