Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
S'applique à :SQL Server
Cet article explique comment faire pivoter manuellement la clé asymétrique utilisée par Transparent Data Encryption (TDE) avec EKM (Extensible Key Management) et Azure Key Vault.
Utilisez cette procédure après avoir configuré TDE avec Azure Key Vault. Pour obtenir des instructions de configuration initiales, consultez Configurer Transparent Data Encryption avec Azure Key Vault pour SQL Server.
Important
SQL Server ne fait pas pivoter automatiquement la clé asymétrique utilisée pour TDE. La rotation est une opération manuelle.
La rotation du protecteur TDE logique est une opération en ligne et se termine généralement rapidement, car SQL Server chiffre uniquement la clé de chiffrement de base de données (DEK), et non la base de données entière.
Ne supprimez pas les versions de clés précédentes après la rotation. Les versions antérieures peuvent toujours être nécessaires pour restaurer des sauvegardes plus anciennes, des journaux des transactions ou d’autres artefacts de récupération.
Avant de commencer
- Terminez la configuration EKM et TDE initiale.
- Vérifiez que SQL Server peut actuellement accéder au coffre de clés.
- Vérifiez que vous disposez des autorisations nécessaires pour créer des informations d’identification, des connexions et des clés asymétriques dans SQL Server.
- Vérifiez que votre modèle d’authentification est toujours valide :
- Service principal : l’enregistrement de l’application et le secret client sont valides.
- Identité managée : l’identité managée SQL Server est toujours activée et dispose des autorisations de clé requises.
Faire pivoter la clé
Choisissez votre modèle d’authentification et suivez les étapes correspondantes.
Dans Azure Key Vault ou Managed HSM, faites pivoter la clé :
- Créez une nouvelle version portant le même nom de clé, ou
- Créez un nom de clé.
Dans SQL Server, créez des informations d’identification pour l’opération de rotation si nécessaire.
CREATE CREDENTIAL <new_credential_name> WITH IDENTITY = <key_vault_name_or_uri_without_https>, SECRET = '<client_id_without_hyphens><client_secret>' FOR CRYPTOGRAPHIC PROVIDER AzureKeyVault_EKM;Ajoutez les informations d’identification au principal de configuration qui crée la clé asymétrique suivante.
ALTER LOGIN [<domain>\<login>] ADD CREDENTIAL [<new_credential_name>];Créez la nouvelle clé asymétrique SQL Server à partir de Azure Key Vault.
Note
Pour la rotation manuelle, SQL Server prend en charge à la fois un nom de clé sans version et une référence de clé avec version :
- Sans version : utilisez
<key_name>pour permettre SQL Server utiliser la version de clé la plus élevée disponible dans Azure Key Vault. - Versionnée : utilisez
<key_name>/<version>pour associer les opérations de chiffrement à une version spécifique de clé.
Vous n’avez pas besoin de créer un autre nom de clé AKV pour effectuer la rotation. Faites pivoter les clés en créant une version de clé, puis en créant une nouvelle clé asymétrique SQL Server qui référence le formulaire sans version ou versionné.
Utilisez un nom de clé sans version ou une version de clé spécifique :
CREATE ASYMMETRIC KEY <new_ekm_key_name> FROM PROVIDER [AzureKeyVault_EKM] WITH PROVIDER_KEY_NAME = '<key_name_or_key_name/version>', CREATION_DISPOSITION = OPEN_EXISTING;- Sans version : utilisez
Créez une connexion à partir de la nouvelle clé asymétrique.
CREATE LOGIN <new_login_name> FROM ASYMMETRIC KEY <new_ekm_key_name>;Déplacez le mappage des identifiants de la connexion de configuration vers la nouvelle connexion à clé asymétrique.
ALTER LOGIN [<domain>\<login>] DROP CREDENTIAL [<new_credential_name>]; ALTER LOGIN <new_login_name> ADD CREDENTIAL [<new_credential_name>];Chiffrez à nouveau la clé de chiffrement de base de données (DEK) à l’aide de la nouvelle clé asymétrique.
USE [<database_name>]; GO ALTER DATABASE ENCRYPTION KEY ENCRYPTION BY SERVER ASYMMETRIC KEY <new_ekm_key_name>;
Vérifier la rotation
Vérifiez les métadonnées de chiffrement de la base de données.
SELECT encryptor_type, encryption_state_desc, encryptor_thumbprint FROM sys.dm_database_encryption_keys WHERE database_id = DB_ID('<database_name>');Vérifiez l’empreinte de la clé asymétrique SQL Server.
SELECT name, algorithm_desc, thumbprint FROM sys.asymmetric_keys WHERE name = '<new_ekm_key_name>';Vérifiez que les empreintes numériques concordent.