Identités managées pour le chiffrement transparent des données avec une clé gérée par le client

S’applique à : Azure SQL Database Azure SQL Managed Instance

Microsoft Entra ID, anciennement Azure Active Directory, fournit une identité managée automatiquement pour s’authentifier auprès d’un service Azure prenant en charge l’authentification Microsoft Entra, tel qu’Azure Key Vault, sans exposer d’informations d’identification dans le code. Pour plus d’informations, consultez Types d’identités managées dans Azure.

Les identités managées sont de deux types :

  • Attribué par le système
  • Affecté par l’utilisateur

Pour plus d’informations, consultez Identités managées dans Microsoft Entra ID pour Azure SQL.

Pour le TDE avec clé gérée par le client (CMK) dans Azure SQL, une identité managée sur le serveur est utilisée pour fournir des droits d’accès au serveur sur le coffre de clé. Par exemple, l’identité managée affectée par le système du serveur doit être fournie avec des autorisations de coffre de clés avant d’activer TDE avec CMK sur le serveur.

Outre l’identité managée affectée par le système déjà prise en charge pour TDE avec CMK, une identité managée affectée par l'utilisateur au serveur peut être utilisée pour permettre au serveur d’accéder au coffre de clés. Une condition préalable pour activer l’accès au coffre de clés consiste à s’assurer que l’identité managée affectée par l'utilisateur a obtenu les autorisations Get, WrapKey et UnwrapKey sur le coffre de clés. Étant donné que l’identité managée affectée par l'utilisateur est une ressource autonome pour laquelle peut être créée et octroyée l’accès au coffre de clés, TDE avec une clé gérée par le client peut désormais être activée au moment de la création pour le serveur ou la base de données.

Notes

Pour attribuer une identité managée affectée par l'utilisateur sur le serveur logique ou l’instance gérée, un utilisateur doit avoir le rôle RBAC Azure de Contributeur SQL Server utilisateur ou de Contributeur SQL Managed Instance avec tout autre rôle RBAC Azure contenant l’action Microsoft.ManagedIdentity/userAssignedIdentities/*/assign/action.

Avantages de l’utilisation de l’identité managée affectée par l'utilisateur pour le TDE géré par le client

  • Permet de pré-autoriser l’accès au coffre de clés pour les serveurs logiques ou les instances gérées Azure SQL en créant une identité managée affectée par l'utilisateur et en lui octroyant l’accès au coffre de clés, avant la création du serveur ou de la base de données

  • Permet la création d’un serveur logique Azure SQL avec TDE et CMK activés

  • Permet d’attribuer la même identité managée affectée par l'utilisateur à plusieurs serveurs, ce qui élimine le besoin d’activer individuellement l’identité managée affectée par le système pour chaque serveur logique ou instance gérée Azure SQL et de lui permettre d’accéder au coffre de clés

  • Offre la possibilité d’appliquer la clé gérée par le client au moment de la création du serveur avec une stratégie Azure intégrée disponible

Considérations lors de l’utilisation de l’identité managée affectée par l'utilisateur pour le TDE géré par le client

  • Par défaut, TDE dans Azure SQL utilise le jeu d’identités managées affectées par l'utilisateur principal sur le serveur pour l’accès au coffre de clés. Si aucune identité affectée par l’utilisateur n’a été attribuée au serveur, l’identité managée affectée par le système au serveur est utilisée pour l’accès au coffre de clés.
  • Lors de l’utilisation d’une identité managée affectée par l'utilisateur pour TDE avec CMK, attribuez-lui l’identité au serveur et définissez-la comme identité principale pour le serveur
  • L’identité managée affectée par l'utilisateur principal nécessite un accès continu au coffre de clés (autorisations get, wrapKey, unwrapKey). Si l’accès de l’identité au coffre de clés est révoqué ou que les autorisations fournies ne sont pas suffisantes, la base de données passe à l’état Inaccessible.
  • Si l’identité managée affectée par l'utilisateur principal est mise à jour avec une autre identité managée affectée par l'utilisateur, la nouvelle identité doit avoir les autorisations requises sur le coffre de clés avant de mettre à jour le coffre principal
  • Pour basculer le serveur de l’identité managée affectée par l’utilisateur à l’identité managée affectée par le système pour l’accès au coffre de clés, fournissez à l’identité managée affectée par le système les autorisations du coffre de clés requises, puis supprimez toutes les identités managées affectées par l’utilisateur du serveur

Important

L’identité managée affectée par l'utilisateur principal utilisée pour TDE avec CMK ne doit pas être supprimée d’Azure. La suppression de cette identité entraîne la perte d’accès du serveur au coffre de clés et les bases de données deviennent inaccessibles.

Limitations et problèmes connus

  • Dans le cas où le coffre de clés se trouve derrière un réseau virtuel qui utilise un pare-feu, l’option Autoriser les services Microsoft approuvés à contourner ce pare-feu doit être activée dans le menu Mise en réseau du coffre de clés si vous souhaitez utiliser une identité managée affectée par l’utilisateur ou une identité managée affectée par le système. Une fois cette option activée, les clés disponibles ne peuvent pas figurer dans le menu TDE du serveur SQL dans le portail Azure. Pour définir une clé gérée par le client individuelle, vous devez utiliser un identificateur de clé. Lorsque l’option Autoriser les services Microsoft approuvés à contourner ce pare-feu n’est pas activée, l’erreur suivante est renvoyée :
    • Failed to save Transparent Data Encryption settings for SQL resource: <ServerName>. Error message: The managed identity with ID '/subscriptions/subsriptionID/resourcegroups/resource_name/providers/Microsoft.ManagedIdentity/userAssignedIdentities/umi_name' requires the following Azure Key Vault permissions: 'Get, WrapKey, UnwrapKey' to the key 'https://keyvault_name/keys/key_name'. Please grant the missing permissions to the identity. Additionally ensure the key is not expired and is not disabled. For expired key, please extend the key expiry time so that SQL can use it to perform wrap and unwrap operations. If your key vault is behind a virtual network or firewall, ensure you select the 'Allow trusted Microsoft services to bypass this firewall' option. (https://aka.ms/sqltdebyokcreateserver).
    • Si vous obtenez l’erreur ci-dessus, vérifiez si le coffre de clés se trouve derrière un réseau virtuel ou un pare-feu et assurez-vous que l’option Autoriser les services Microsoft approuvés à contourner ce pare-feu est activée.
  • L’identité managée affectée par l’utilisateur pour SQL Managed Instance n’est actuellement prise en charge que sur les coffres de clés pour lesquels l’accès public depuis tous les réseaux est activé. Elle n'est pas prise en charge lorsque le pare-feu AKV filtre des réseaux virtuels et des adresses IP spécifiques ou utilise des points de terminaison privés.
  • Lorsque plusieurs identités gérées attribuées à l'utilisateur sont affectées au serveur ou à la Managed Instance, si une seule identité est supprimée du serveur à l'aide du volet Identité du portail Azure, l'opération réussit mais l'identité n'est pas supprimée du serveur. La suppression de toutes les identités mangées affectées par l’utilisateur à partir du Portail Azure fonctionne correctement.
  • Lorsque le serveur ou l’instance gérée est configurée avec un TDE géré par le client et que les identités managées affectées par le système et par l’utilisateur sont activées sur le serveur, la suppression des identités managées affectées par l’utilisateur du serveur sans accorder d’abord l’accès au coffre de clés à l’identité managée affectée par le système entraîne un message Erreur inattendue survenue. Assurez-vous que l’identité managée affectée par le système a été fournie avant de supprimer l’identité managée affectée par l'utilisateur principal (et toute autre identité managée affectée par l'utilisateur) du serveur.

Étapes suivantes

Voir aussi