Chiffrement transparent des données pour SQL Database, SQL Managed Instance et Azure Synapse Analytics

S’applique à :Azure SQL DatabaseAzure SQL Managed InstanceAzure Synapse Analytics

Transparent Data Encryption (TDE) est une technologie de chiffrement transparent des données qui contribue à protéger Azure SQL Database, Azure SQL Managed Instance et Azure Synapse Analytics contre les menaces d’activités hors connexion malveillantes en chiffrant les données au repos. Il assure le chiffrement et le déchiffrement en temps réel de la base de données, des sauvegardes associées et des fichiers journaux des transactions au repos, sans que cela nécessite de modifier l’application. Par défaut, TDE est activé pour toutes les bases de données Azure SQL Database nouvellement déployées et il doit être activé manuellement pour les bases de données plus anciennes d’Azure SQL Database. Pour Azure SQL Managed Instance, TDE est activé au niveau de l’instance et sur les bases de données nouvellement créées. TDE doit être activé manuellement pour Azure Synapse Analytics.

Notes

Cet article s’applique à Azure SQL Database, Azure SQL Managed Instance et Azure Synapse Analytics (pools SQL dédiés (anciennement SQL DW)). Pour la documentation sur le chiffrement transparent des données pour les pools SQL dédiés à l’intérieur d’espaces de travail Synapse, consultez Chiffrement Azure Synapse Analytics.

Certains éléments considérés comme du contenu client, tels que les noms de tables, les noms d’objets et les noms d’index, peuvent être transmis dans les fichiers journaux pour le support et la résolution des problèmes par Microsoft.

TDE effectue le chiffrement et le déchiffrement des données d’E/S en temps réel au niveau de la page. Chaque page est déchiffrée lorsqu’elle est lue en mémoire, puis chiffrée avant d’être écrite sur le disque. TDE chiffre le stockage d’une base de données entière à l’aide d’une clé symétrique appelée clé de chiffrement de la base de données (« clé DEK »). Au démarrage de la base de données, la clé DEK chiffrée est déchiffrée, puis elle est utilisée pour déchiffrer et rechiffrer les fichiers de la base de données dans le processus du moteur de base de données SQL Server. La clé de chiffrement DEK est protégée par le protecteur TDE. Le protecteur TDE est soit un certificat géré par le service (chiffrement transparent des données géré par le service), soit une clé asymétrique stockée dans Azure Key Vault (chiffrement transparent des données géré par le client).

Pour Azure SQL Database et Azure Synapse, le protecteur TDE est défini au niveau du serveur logique SQL et est hérité par toutes les bases de données associées à ce serveur. Pour Azure SQL Managed Instance, le protecteur TDE est défini au niveau de l’instance et hérité par toutes les bases de données chiffrées sur cette instance. Le terme serveur fait référence à la fois au serveur et à l’instance tout au long de ce document, sauf indication contraire.

Important

Toutes les bases de données SQL nouvellement créées sont chiffrées par défaut à l’aide du chiffrement transparent des données géré par le service. Lorsque la source de base de données est chiffrée, les bases de données cibles créées par le biais de la restauration, de la géoréplication et de la copie de base de données sont chiffrées par défaut. Toutefois, lorsque la source de base de données n’est pas chiffrée, les bases de données cibles créées par le biais de la restauration, de la géoréplication et de la copie de base de données ne sont pas chiffrées par défaut. Les bases de données SQL Managed Instance existantes créées avant mai 2017 et les bases de données SQL Managed Instance existantes créées avant février 2019 ne sont pas chiffrées par défaut. Les bases de données SQL Managed Instance créées par le biais de la restauration héritent de l’état de chiffrement de la source. Pour restaurer une base de données chiffrée par TDE existante, le certificat TDE requis doit d’abord être importé dans l’instance gérée SQL. Pour connaître l’état du chiffrement d’une base de données, exécutez une requête sélection dans la DMV sys.dm_database_encryption_keys et vérifiez l’état de la colonne encryption_state_desc.

Remarque

TDE ne peut pas être utilisé pour chiffrer des bases de données système, telle la base de données master, dans Azure SQL Database et Azure SQL Managed Instance. La base de données master contient les objets nécessaires à l’exécution d’opérations TDE sur des bases de données utilisateur. Il est recommandé de ne pas stocker de données sensibles dans des bases de données système. L’exception est tempdb, qui est toujours chiffré avec TDE pour protéger les données qui y sont stockées.

Chiffrement transparent des données géré par le service

Dans Azure, la configuration par défaut de TDE spécifie que la clé de chiffrement de la base de données (DEK) est protégée par un certificat de serveur intégré. Le certificat de serveur intégré est unique pour chaque serveur et l’algorithme de chiffrement utilisé est AES 256. Si une base de données figure dans une relation de géoréplication, la base de données primaire et les base de données géo-secondaires sont protégées par la clé du serveur parent de la base de données primaire. Si deux bases de données sont connectées au même serveur, elles partagent également le même certificat intégré. Microsoft fait alterner automatiquement ces certificats conformément à la stratégie de sécurité interne et la clé racine est protégée par un magasin des secrets interne Microsoft. Les clients peuvent vérifier la conformité de SQL Database et SQL Managed Instance avec des stratégies de sécurité internes, dans des rapports d’audit tiers indépendants disponibles dans le Centre de gestion de la confidentialité Microsoft.

En outre, Microsoft déplace et gère en toute transparence les clés en fonction des besoins en matière de géoréplication et de restaurations.

Chiffrement transparent des données géré par le client - Bring Your Own Key

Le chiffrement TDE géré par le client est également appelé prise en charge de Bring Your Own Key (BYOK) pour TDE. Dans ce scénario, le protecteur TDE qui chiffre la clé DEK est une clé asymétrique managée par le client, stockée dans une solution Azure Key Vault du client, qui la gère (système d'administration de clés externe d’Azure) et il ne quitte jamais le coffre de clés. Le protecteur TDE peut être généré par le coffre de clés ou transféré vers le coffre de clés à partir d’un appareil HSM local d’un module de sécurité matériel. SQL Database, SQL Managed Instance et Azure Synapse doivent être autorisés à déchiffrer et chiffrer la DEK dans le coffre de clés appartenant au client. Si des autorisations d’accès du serveur au coffre de clés sont supprimées, une base de données devient inaccessible alors que toutes les données sont chiffrées.

Avec l’intégration de TDE à Azure Key Vault, les utilisateurs peuvent contrôler les tâches de gestion de clés, y compris les rotations de clés, les autorisations de coffre de clés, les sauvegardes de clés, ainsi que l’audit et le rapport sur tous les protecteurs TDE à l’aide de la fonctionnalité Azure Key Vault. Key Vault centralise la gestion des clés, utilise des modules de sécurité matériels étroitement surveillés (HSM) et permet la séparation des responsabilités entre la gestion de clés et des données pour aider à répondre aux exigences des stratégies de sécurité. Pour en savoir plus sur BYOK pour Azure SQL Database et Azure Synapse, consultez Chiffrement transparent des données avec l’intégration d’Azure Key Vault.

Pour commencer à utiliser TDE avec l’intégration d’Azure Key Vault, consultez le guide pratique Activer le chiffrement transparent des données avec votre propre clé Key Vault.

Déplacer une base de données protégée par le chiffrement transparent des données

Vous n’avez pas besoin de déchiffrer les bases de données pour leur appliquer des opérations dans Azure. La base de données cible hérite de façon transparente des paramètres de TDE sur la base de données source ou sur la base de données principale. Les opérations incluses sont les suivantes :

  • La géorestauration
  • Restauration à un moment donné en libre-service
  • Restauration d’une base de données supprimée
  • La géoréplication active
  • Création d’une copie de base de données
  • Restauration du fichier de sauvegarde vers Azure SQL Managed Instance

Important

La sauvegarde manuelle COPY-ONLY d’une base de données chiffrée par un TDE géré par le service n’est pas prise en charge dans Azure SQL Managed Instance, car le certificat utilisé pour le chiffrement n’est pas accessible. Utilisez la fonctionnalité de restauration dans le temps pour déplacer ce type de base de données vers un autre service SQL Managed Instance ou basculer vers une clé gérée par le client.

Quand vous exportez une base de données protégée par TDE, le contenu exporté de la base de données n’est pas chiffré. Ce contenu exporté est stocké dans des fichiers BACPAC non chiffrés. Vous devez donc protéger les fichiers BACPAC de façon appropriée et activer TDE après avoir terminé l’importation de la nouvelle base de données.

Par exemple, si le fichier BACPAC est exporté à partir d’une instance SQL Server, le contenu importé de la nouvelle base de données n’est pas chiffré automatiquement. De même, si le fichier BACPAC est exporté vers une instance SQL Server, la nouvelle base de données n’est pas chiffrée automatiquement.

La seule exception survient lorsque vous procédez à une exportation de base de données à destination ou en provenance de SQL Database. TDE est activé dans la nouvelle base de données, mais le fichier BACPAC proprement dit n’est toujours pas chiffré.

Gérer Transparent Data Encryption

Gérer TDE dans le portail Azure.

Pour configurer TDE par le biais du portail Azure, vous devez être connecté en tant que Propriétaire, Collaborateur ou Gestionnaire de sécurité SQL Azure.

Activez et désactivez TDE au niveau de la base de données. Pour Azure SQL Managed Instance, utilisez Transact-SQL (T-SQL) pour activer et désactiver TDE sur une base de données. Pour Azure SQL Database et Azure Synapse, vous pouvez gérer TDE pour la base de données dans le portail Azure après vous être connecté avec le compte administrateur ou contributeur Azure. Accédez aux paramètres TDE pour votre base de données utilisateur. Par défaut, la clé de chiffrement au niveau du serveur est utilisée. Un certificat TDE est automatiquement généré pour le serveur qui contient la base de données.

Service-managed transparent data encryption

Vous définissez la clé principale TDE, également appelée protecteur TDE, au niveau du serveur ou de l’instance. Pour utiliser TDE avec BYOK et protéger vos bases de données à l’aide d’une clé fournie par Azure Key Vault, ouvrez les paramètres TDE définis pour votre serveur ou Managed Instance.

Transparent data encryption with Bring Your Own Key support

Vous pouvez également utiliser une clé gérée par le client pour TDE au niveau de la base de données pour Azure SQL Database. Pour plus d’informations, consultez Transparent Data Encryption (TDE) avec des clés gérées par le client au niveau de la base de données.

Étapes suivantes

En savoir plus sur les concepts associés dans les articles suivants :