Partager via


Prise en charge des identités managées pour la gestion de clés extensible avec Azure Key Vault

S’applique à : SQL Server 2025 (17.x)

Cet article explique comment utiliser des identités managées pour EKM (Extensible Key Management) avec Azure Key Vault (AKV) sur SQL Server activé par Azure Arc.

Aperçu

À compter de SQL Server 2025 (17.x), les identités managées sont prises en charge pour EKM avec AKV et les modules de sécurité matériel managé (HSM) sur SQL Server activés par Azure Arc. Les identités managées sont la méthode d’authentification recommandée pour permettre à différents services Azure d’authentifier le serveur SQL Server activé par la ressource Azure Arc sans utiliser de mots de passe ou de secrets. Pour plus d’informations sur les identités managées, consultez les types d’identité managée.

Conditions préalables

Étape 1 : Ajouter une clé de Registre pour le fournisseur EKM

Avant de pouvoir créer des informations d’identification à l’aide d’une identité managée, vous devez ajouter une clé de Registre pour permettre au fournisseur EKM d’utiliser des identités managées. Cette étape doit être effectuée par l’administrateur de l’ordinateur. Pour obtenir des instructions détaillées, consultez l’étape 4 : Ajouter une clé de Registre pour prendre en charge le fournisseur EKM.

Étape 2 : Configurer la master base de données

  1. Ouvrez SQL Server Management Studio.

  2. Configurez SQL Server pour utiliser l’EKM en exécutant le script Transact-SQL suivant :

    -- Enable advanced options.
    USE master;
    GO
    
    EXECUTE sp_configure 'show advanced options', 1;
    GO
    
    RECONFIGURE;
    GO
    
    -- Enable EKM provider
    EXECUTE sp_configure 'EKM provider enabled', 1;
    GO
    
    RECONFIGURE;
    GO
    
  3. Inscrivez le connecteur SQL Server en tant que fournisseur EKM avec SQL Server.

    Créez un fournisseur de services de chiffrement à l’aide du connecteur SQL Server, qui est un fournisseur EKM pour le coffre de clés Azure Key Vault. Dans cet exemple, le nom du fournisseur est AzureKeyVault_EKM.

    CREATE CRYPTOGRAPHIC PROVIDER AzureKeyVault_EKM
    FROM FILE = 'C:\Program Files\SQL Server Connector for Microsoft Azure Key Vault\Microsoft.AzureKeyVaultService.EKM.dll';
    GO
    

    Remarque

    Le chemin d’accès ne peut pas dépasser 256 caractères.

Étape 3 : Créer des informations d’identification de serveur à l’aide d’une identité managée

L’exemple suivant montre comment créer des informations d’identification pour une identité managée à utiliser avec Azure Key Vault :

CREATE CREDENTIAL [<akv-name>.vault.azure.net]
    WITH IDENTITY = 'Managed Identity'
    FOR CRYPTOGRAPHIC PROVIDER AzureKeyVault_EKM;

Vous pouvez vérifier le nom AKV en interrogeant sys.credentials:

SELECT name, credential_identity
FROM sys.credentials;

La WITH IDENTITY = 'Managed Identity' clause nécessite une identité managée principale affectée au serveur SQL Server activé par Azure Arc.

Pour plus d’informations sur la configuration d’EKM avec AKV, consultez Configurer sql Server TDE Extensible Key Management à l’aide d’Azure Key Vault.

Créer une information d’identification à utiliser avec un module de sécurité matériel géré (HSM)

Pour créer des informations d’identification à utiliser avec azure Key Vault Managed Hardware Security Modules (HSM), utilisez la syntaxe suivante :

CREATE CREDENTIAL [<akv-name>.managedhsm.azure.net]
    WITH IDENTITY = 'Managed Identity'
    FOR CRYPTOGRAPHIC PROVIDER AzureKeyVault_EKM;

Pour plus d’informations sur la configuration d’EKM avec AKV, consultez Configurer sql Server TDE Extensible Key Management à l’aide d’Azure Key Vault.

Commandes T-SQL pour mettre à niveau la configuration EKM existante pour utiliser des identités managées

Si votre configuration actuelle utilise EKM avec AKV à l’aide d’un secret, vous devez supprimer les informations d’identification existantes et créer des informations d’identification à l’aide d’une identité managée. Les commandes T-SQL suivantes montrent comment mettre à niveau votre configuration EKM existante pour utiliser des identités managées :

  1. Créez les informations d’identification à l’aide d’une identité managée :

    CREATE CREDENTIAL [<akv-name>.vault.azure.net]
        WITH IDENTITY = 'Managed Identity'
        FOR CRYPTOGRAPHIC PROVIDER AzureKeyVault_EKM;
    
  2. S’il existe des informations d’identification à l’aide d’un secret associé à la connexion du domaine d’administration SQL Server, supprimez les informations d’identification existantes :

    ALTER LOGIN [<domain>\<login>]
    DROP CREDENTIAL [<existing-credential-name>];
    
  3. Associez les nouvelles informations d’identification à la connexion du domaine d’administration SQL Server :

    ALTER LOGIN [<domain>\<login>]
    ADD CREDENTIAL [<akv-name>.vault.azure.net];
    

Vous pouvez vérifier la vue de base de données chiffrée pour vérifier le chiffrement de la base de données à l’aide de la requête suivante :

SELECT *
FROM sys.dm_database_encryption_keys
WHERE database_id = db_id('<your-database-name>');

Pour plus d’informations sur la configuration d’EKM avec AKV, consultez Configurer sql Server TDE Extensible Key Management à l’aide d’Azure Key Vault.

Messages d’erreur

L'indicateur de trace 4675 peut être utilisé pour vérifier les informations d’identification créées avec une identité gérée. Si l’instruction CREATE CREDENTIAL a été exécutée sans indicateur de trace 4675 activé, aucun message d’erreur n’est émis si l’identité managée principale n’est pas définie pour le serveur. Pour résoudre ce scénario, les informations d’identification doivent être supprimées et recréées une fois l’indicateur de trace activé.

Limites

  • L’identité managée au niveau du serveur est prise en charge uniquement pour SQL Server 2025 activée par Azure Arc, et non sur SQL Server localement. L’identité managée au niveau du serveur n’est pas prise en charge pour Linux.
  • La prise en charge des identités gérées pour EKM avec AKV nécessite la dernière version préliminaire du connecteur SQL Server.