Partager via


Amélioration : Prise en charge des identités managées Microsoft Entra pour les opérations de sauvegarde et de restauration de base de données et pour EKM avec AKV dans SQL Server sur des machines virtuelles Azure

Symptômes

L’instance SQL Server peut cesser de répondre si vous exécutez une opération de sauvegarde ou de restauration de base de données sur Stockage Azure ou utilisez EKM (Extensible Key Management) avec Azure Key Vault (AKV) à l’aide d’informations d’identification au niveau du serveur avec des identités managées. Bien que cette opération ne soit pas prise en charge pour SQL Server 2022, la syntaxe T-SQL actuelle l’autorise.

Résolution

Ce problème est résolu dans la mise à jour cumulative suivante pour SQL Server sur des machines virtuelles Azure :

Mise à jour cumulative 17 pour SQL Server 2022

Dans sql Server 2022 CU17 et versions ultérieures, l’authentification d’identité managée Microsoft Entra avec SQL Server sur Azure Windows prend uniquement en charge les informations d’identification au niveau du serveur pour les opérations de sauvegarde et de restauration de base de données sur Stockage Azure et pour EKM avec AKV.

Pour activer la prise en charge des identités managées pour les opérations de sauvegarde ou de restauration de base de données pour SQL Server sur des machines virtuelles Windows Azure, les étapes suivantes sont requises :

  1. Attribuez l’identité managée principale pour SQL Server sur les machines virtuelles Windows Azure.
  2. Créez ou utilisez Stockage Azure avec un conteneur d’objets blob.
  3. Attribuez des rôles de contrôle d’accès en fonction du rôle (RBAC) pour l’identité managée principale pour accéder au Stockage Azure.
  4. Exécutez la commande CREATE CREDENTIAL T-SQL avec la WITH IDENTITY = 'Managed Identity' clause en utilisant l’URL Stockage Azure comme nom d’informations d’identification.
  5. Exécutez la commande BACKUP DATABASE T-SQL ou RESTORE DATABASE utilisez l’URL de Stockage Azure.
-- Create credential with managed identity and credential name set to
-- URL= https://<storageaccountname>.blob.core.windows.net/<container>   
CREATE CREDENTIAL [https://<storageaccountname>.blob.core.windows.net/<container>]  
 WITH IDENTITY = 'Managed Identity'  
-- Backup the database mydb to URL 
BACKUP DATABASE mydb 
 TO URL = 'https://<storageaccount>.blob.core.windows.net/<container>/mydb.bak'  
-- Restore the database mydb1 from URL
RESTORE DATABASE mydb1  
 FROM URL ='https://<storageaccount>.blob.core.windows.net/<container>/mydb.bak'  

Pour plus d’informations, consultez Sauvegarde et restauration vers l’URL à l’aide d’identités managées.

Pour activer la prise en charge des identités managées pour EKM avec AKV pour SQL Server sur des machines virtuelles Windows Azure, les étapes suivantes sont requises :

  1. Attribuez l’identité managée principale pour SQL Server sur les machines virtuelles Windows Azure.
  2. Créez ou utilisez un coffre de clés.
  3. Attribuez des rôles de contrôle d’accès en fonction du rôle (RBAC) pour l’identité managée principale pour accéder à AKV.
  4. Téléchargez la dernière connecteur SQL Server pour Microsoft Azure Key Vault (les versions 1.0.5.0 (novembre 2024) ou ultérieures). La dernière version du connecteur SQL Server est nécessaire pour prendre en charge l’identité managée.
  5. Exécutez la commande CREATE CREDENTIAL T-SQL avec la clause à l’aide WITH IDENTITY = 'Managed Identity' du chemin DKV comme nom d’informations d’identification.
-- Create credential with managed identity and the credential name for the AKV called 'contoso'
-- with the AKV path = 'contoso.vault.azure.net'  
CREATE CREDENTIAL [contoso.vault.azure.net]  
 WITH IDENTITY = 'Managed Identity'  
 FOR CRYPTOGRAPHIC PROVIDER AzureKeyVault_EKM_Prov 
  1. Exécutez le reste de la configuration T-SQL d’EKM avec AKV.

Pour plus d’informations, consultez Managed Identity Support for Extensible Key Management avec Azure Key Vault.

Note

  • L’indicateur de trace 4675, désactivé par défaut, permet de résoudre les problèmes des informations d’identification au niveau du serveur et peut être utilisé pour confirmer l’identité managée principale affectée à l’instance SQL Server.
  • La prise en charge des identités managées n’introduit aucune syntaxe T-SQL ni aucune modification de la vue système, car cette fonctionnalité existe déjà pour Azure SQL Managed Instance.
  • Les identités managées ne sont pas prises en charge pour les informations d’identification au niveau du serveur sur SQL Server localement. Lorsqu’il est utilisé accidentellement avec la sauvegarde ou la restauration sur Stockage Azure ou l’EKM avec AKV, le message d’erreur « L’identité managée principale n’est pas définie pour le serveur ... » et sont référencés à la documentation publique.

À propos des mises à jour cumulatives pour SQL Server

Chaque nouvelle mise à jour cumulative pour SQL Server contient tous les correctifs logiciels et correctifs de sécurité qui se trouvaient dans la build précédente. Nous vous recommandons d’installer la dernière build pour votre version de SQL Server :

Dernière mise à jour cumulative pour SQL Server 2022

Statut

Microsoft a confirmé l’existence de ce problème dans les produits Microsoft répertoriés dans la section « Produits concernés ».

References