Erreurs courantes liées au chiffrement transparent des données avec des clés gérées par le client dans Azure Key Vault

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

Cet article explique comment identifier et résoudre les problèmes d’accès à la clé Azure Key Vault ayant configuré une base de données pour utiliser Transparent Data Encryption (TDE) avec les clés managées par le client dans Azure Key Vault pour devenir inaccessible.

Remarque

Microsoft Entra ID était anciennement appelé Azure Active Directory (Azure AD).

Introduction

Lorsque TDE est configuré pour utiliser une clé managée par le client dans Azure Key Vault, l’accès en continu à ce protecteur TDE est nécessaire pour que la base de données reste en ligne. Si le serveur SQL logique ou l’instance gérée perd l’accès au protecteur TDE géré par le client dans Azure Key Vault, une base de données se met à rejeter toutes les connexions en affichant le message d’erreur associé. Son état passe à Inaccessible sur le Portail Azure.

Si le problème sous-jacent d’accès à la clé Azure Key Vault est résolu dans les 30 premières minutes, la base de données est automatiquement corrigée et mise en ligne. Cela signifie que pour tous les scénarios de panne réseau intermittente et temporaire, aucune action de l’utilisateur n’est requise et la base de données est automatiquement mise en ligne. Dans la plupart des cas, l’action de l’utilisateur est nécessaire pour résoudre le problème d’accès à la clé du coffre de clés sous-jacent.

Si une base de données inaccessible n’est plus nécessaire, elle peut être supprimée immédiatement pour arrêter les coûts. Toutes les autres actions sur la base de données ne sont pas autorisées tant que l’accès à la clé Azure Key Vault n’a pas été restauré et que la base de données est de nouveau en ligne. La modification de l’option TDE à partir des clés managées par le client sur le serveur n’est pas non plus possible lorsqu’une base de données chiffrée avec des clés managées par le client est inaccessible. Cela est nécessaire pour protéger les données contre tout accès non autorisé, tandis que les autorisations sur le protecteur TDE ont été révoquées.

Une base de données qui reste inaccessible pendant plus de 30 minutes ne peut plus être corrigée automatiquement. Si l’accès à la clé Azure Key Vault a été restauré après cette période, vous devez revalider manuellement l’accès à la clé pour remettre la base de données en ligne. Dans ce cas, la remise en ligne de la base de données peut être très longue, selon la taille de celle-ci. Une fois la base de données de nouveau en ligne, les paramètres précédemment configurés tels que le groupe de basculement ou l’historique de récupération jusqu’à une date et heure, ainsi que toutes les étiquettes, seront perdus. Par conséquent, nous vous recommandons d’implémenter un système de notifications à l’aide de groupes d’actions qui permettent d’être informé et de traiter les problèmes sous-jacents d’accès aux clés dès que possible.

Erreurs courantes provoquant l’inaccessibilité des bases de données

La plupart des problèmes qui se produisent lorsque vous utilisez TDE avec Key Vault sont provoquées par l’une des erreurs de configuration suivantes :

Le coffre de clés n’est pas disponible ou n’existe pas

  • Le coffre de clés a été supprimé accidentellement.
  • Le pare-feu a été configuré pour Azure Key Vault mais n’autorise pas l’accès aux services Microsoft.
  • Une erreur réseau intermittente entraîne l’indisponibilité du coffre de clés.

Aucune autorisation d’accéder au coffre de clés ou la clé n’existe pas

  • La clé a été accidentellement supprimée, désactivée ou a expiré.
  • L’identité managée du serveur (affectée par le système ou par l’utilisateur) a été supprimée par inadvertance.
  • Le serveur a été déplacé dans un autre abonnement. Une nouvelle identité managée (affectée par le système ou par l’utilisateur) doit dans ce cas être affectée au serveur.
  • Les autorisations accordées à l’identité managée de serveur pour les clés ne sont pas suffisantes (autorisations Get, Wrap et Unwrap manquantes).
  • Les autorisations de l’identité managée du serveur ont été révoquées du coffre de clés.

Identifier et résoudre les erreurs courantes

Dans cette section, nous répertorions les étapes de résolution des problèmes pour les erreurs les plus courantes.

Identité de serveur manquante

Message d’erreur

401 AzureKeyVaultNoServerIdentity : L'identité du serveur n'est pas correctement configurée sur le serveur. Contactez le support.

Détection

Utilisez la cmdlet ou la commande suivante pour vous assurer qu’une identité a bien été attribuée au serveur :

Atténuation

Utilisez la cmdlet ou la commande suivante pour configurer une identité managée affectée par l'utilisateur ou par le système pour le seveur :

Dans le portail Azure, accédez au coffre de clés, puis à Stratégies d’accès. Procédez comme suit :

  1. Utilisez le bouton Ajouter pour ajouter l’AppId du serveur créé à l’étape précédente.
  2. Attribuez les autorisations de clé suivantes : Get, Wrap et Unwrap

Pour en savoir plus, consultez Attribuer une identité managée à votre serveur.

Important

Si le serveur logique pour Azure SQL Database ou Azure SQL Managed Instance est déplacé vers un nouveau locataire Microsoft Entra après la configuration initiale de TDE avec Key Vault, cette configuration d'identité managée doit être réinitialisée dans le nouveau locataire.

Coffre de clés manquant

Message d’erreur

503 AzureKeyVaultConnectionFailed - Impossible d’effectuer l’opération sur le serveur en raison de l’échec des tentatives de connexion à Azure Key Vault.

Détection

Pour identifier l’URI de la clé et le coffre de clé :

  1. Utilisez la cmdlet ou la commande suivante pour obtenir l’URI de la clé d’une instance de serveur spécifique :

  2. Utilisez l’URI de la clé pour identifier le coffre de clés :

    • Azure PowerShell : Vous pouvez inspecter les propriétés de la variable $MyServerKeyVaultKey pour obtenir plus d'informations sur le coffre de clés.

    • Azure CLI : Inspectez le protecteur de chiffrement de serveur retourné pour plus d'informations sur le coffre de clés.

Atténuation

Confirmez que le coffre de clés est disponible :

  • Vérifiez que le coffre de clés est disponible et que le serveur y a accès.
  • Si le coffre de clés se trouve derrière un pare-feu, assurez-vous que la case permettant aux services Microsoft d’accéder au coffre de clés est cochée.
  • Si le coffre de clés a été supprimé accidentellement, vous devez recommencer la configuration depuis le début.

Clé manquante

Messages d’erreur

404 ServerKeyNotFound - la clé serveur demandée est introuvable sur l’abonnement actuel.

409 ServerKeyDoesNotExists - la clé du serveur n’existe pas.

Détection

Pour identifier l’URI de la clé et le coffre de clé :

  • Utilisez la cmdlet ou les commandes dans Coffre de clés manquant pour identifier l’URI de la clé qui est ajouté à l’instance SQL Server logique. L’exécution des commandes retourne la liste des clés.

Atténuation

Confirmez que le protecteur TDE est présent dans Key Vault :

  1. Identifiez le coffre de clés et accédez à celui-ci dans le portail Azure.
  2. Vérifiez que la clé identifiée par l’URI de la clé est présente.

Autorisations manquantes

Message d’erreur

401 AzureKeyVaultMissingPermissions - le serveur ne dispose pas des autorisations requises pour Azure Key Vault.

Détection

Pour identifier l’URI de la clé et le coffre de clés :

  • Utilisez la cmdlet ou les commandes dans Coffre de clés manquant pour identifier le coffre de clés utilisé par l’instance SQL Server logique.

Atténuation

Vérifiez que le serveur dispose d’autorisations d’accès au coffre de clés et des autorisations appropriées pour accéder à la clé :

  • Dans le portail Azure, accédez au coffre de clés >Stratégies d'accès. Recherchez l’identité managée du serveur (affectée par le système ou par l’utilisateur).
  • Si l’identité du serveur est présente, assurez-vous qu’elle dispose des autorisations de clé suivantes : Get, WrapKey et UnwrapKey.
  • Si l’identité du serveur est absente, ajoutez-la à l’aide du bouton Ajouter.

Obtention de l’état TDE depuis le journal d’activité

Pour permettre le monitoring de l’état de la base de données en raison de problèmes d’accès à la clé Azure Key Vault, les événements suivants sont enregistrés dans le Journal d’activité de l’ID de la ressource en fonction de l’URL Azure Resource Manager.

Remarque

Les événements peuvent mettre au moins 15 ou 30 minutes à apparaître dans le Journal d’activité à compter du moment où survient le problème d’accès au coffre de clés.

Événement lorsque le service perd l’accès à la clé Azure Key Vault

Azure SQL Database

EventName : MakeDatabaseInaccessible

État : Démarré

Description : La base de données {database_name} du serveur {server_name} a perdu l’accès à la clé Azure Key Vault. Elle passe maintenant à l’état Inaccessible.

Azure SQL Managed Instance

EventName : MakeManagedDbInaccessible

État : Démarré

Description : La base de données {database_name} du serveur géré {server_name} a perdu l’accès à la clé Azure Key Vault. Elle passe maintenant à l’état Inaccessible.

Événement qui se produit lorsque le problème n'a pas été résolu dans le délai de 30 minutes et que l'accès à la clé Azure Key Vault doit être validé manuellement

Azure SQL Database

EventName : MakeDatabaseInaccessible

État : Réussite

Description : La base de données est inaccessible et nécessite que l'utilisateur résolve les erreurs du coffre de clés Azure et rétablisse l'accès à la clé du coffre de clés Azure à l'aide de la revalidation de la clé.

Azure SQL Managed Instance

EventName : MakeManagedDbInaccessible

État : Réussite

Description : La base de données {database_name} du serveur géré {server_name} n’est pas accessible. L’utilisateur doit rétablir l’accès à la clé Azure Key Vault.

Événement lorsque la revalidation de l’accès à la clé Azure Key Vault a réussi et que la base de données est de nouveau en ligne

Azure SQL Database

EventName : MakeDatabaseAccessible

État : Démarré

Description : L’accès à la clé Azure Key Vault a été rétabli. L’opération permettant de rendre la base de données {database_name} du serveur {server_name} accessible a démarré.

Azure SQL Managed Instance

EventName : MakeManagedDatabaseAccessible

État : Démarré

Description : L’accès à la clé Azure Key Vault a été rétabli. L’opération permettant de rendre la base de données {database_name} du serveur géré {server_name} accessible a démarré.

Événement qui se produit lorsque la base de données est à nouveau en ligne

Azure SQL Database

EventName : MakeDatabaseAccessible

État : Réussite

Description : L’accès à la clé Azure Key Vault a été rétabli. La base de données {database_name} du serveur {server_name} est maintenant en ligne.

Azure SQL Managed Instance

EventName : MakeManagedDatabaseAccessible

État : Réussite

Description : L’accès à la clé Azure Key Vault a été rétabli. La base de données {database_name} du serveur géré {server_name} est maintenant en ligne.

Événement lors de l’échec de la revalidation de l’accès à la clé Azure Key Vault

Azure SQL Database

EventName : MakeDatabaseAccessible

État : Échec

Description : L’accès à la clé Azure Key Vault a été rétabli. L’opération permettant de rendre la base de données {database_name} accessible sur le serveur {server_name} a échoué.

Azure SQL Managed Instance

EventName : MakeManagedDatabaseAccessible

État : Échec

Description : L’accès à la clé Azure Key Vault a été rétabli. L’opération permettant de rendre la base de données {database_name} accessible sur le serveur géré {server_name} a échoué.

Étapes suivantes

  • En savoir plus sur Azure Resource Health.
  • Configurez des groupes d’actions pour recevoir des notifications et des alertes en fonction de vos préférences, par exemple e-mail/SMS/transmission de type push/vocale, application logique, Webhook, gestion des services informatiques ou Runbook Automation.