Partager via


Que sont les identités managées pour les ressources Azure ?

La gestion des secrets, des informations d’identification, des certificats et des clés utilisés pour sécuriser la communication entre les services constitue un défi courant pour les développeurs. La gestion manuelle des secrets et des certificats est une source connue de problèmes de sécurité et de pannes. Les identités managées permettent aux développeurs de ne plus avoir à gérer ces informations d’identification. Les applications peuvent utiliser des identités managées pour obtenir des jetons Microsoft Entra sans avoir à gérer les informations d’identification.

Qu’est-ce que les identités managées ?

À un niveau général, il existe deux types d’identités : les identités humaines et les identités non humaines. Les identités machine/non humaines se composent d’identités d’appareil et de charge de travail. Dans Microsoft Entra, les identités de charge de travail sont des applications, des principaux de service et des identités managées. Pour plus d’informations sur les identités de charge de travail, consultez les identités de charge de travail.

Une identité managée est une identité qui peut être affectée à une ressource de calcul Azure (machine virtuelle), un groupe de machines virtuelles identiques (VMSS), un cluster Service Fabric, un cluster Azure Kubernetes) ou toute plateforme d’hébergement d’applications prise en charge par Azure. Une fois qu’une identité managée est affectée sur la ressource de calcul, elle peut être autorisée, directement ou indirectement, à accéder aux ressources de dépendance en aval, telles qu’un compte de stockage, une base de données SQL, CosmosDB, etc. L’identité managée remplace les secrets tels que les clés d’accès ou les mots de passe. En outre, les identités managées peuvent remplacer des certificats ou d’autres formes d’authentification pour les dépendances de service à service.

La vidéo suivante montre comment vous pouvez utiliser des identités managées :

Voici quelques-uns des avantages de l’utilisation des identités managées :

  • Vous n’avez pas besoin de gérer les informations d’identification. Vous n’avez même pas accès aux informations d’identification.
  • Vous pouvez utiliser des identités managées pour vous authentifier auprès de ressources qui prennent en charge l’authentification Microsoft Entra, y compris vos propres applications.
  • Les identités managées peuvent être utilisées sans surcoût.

Types d’identités managées

Il existe deux types d’identités administrées :

  • Assigné par le système. Certaines ressources Azure, comme les machines virtuelles, vous permettent d’activer une identité managée directement sur la ressource. Quand vous activez une identité managée affectée par le système :

    • Un principal de service d’un type spécial est créé dans Microsoft Entra ID pour l’identité. Le principal de service est lié au cycle de vie de cette ressource Azure. Quand la ressource Azure est supprimée, Azure supprime automatiquement le principal de service pour vous.
    • Par défaut, seule cette ressource Azure peut utiliser cette identité pour demander des jetons à Microsoft Entra ID.
    • Vous autorisez l’identité managée à accéder à un ou plusieurs services.
    • Le nom du principal de service affecté par le système est toujours identique au nom de la ressource Azure pour laquelle il est créé. Pour un emplacement de déploiement, le nom de son identité affectée par le système est <app-name>/slots/<slot-name>.
  • Assigné par l'utilisateur. Vous pouvez également créer une identité managée en tant que ressource Azure autonome. Vous pouvez créer une identité managée affectée par l’utilisateur et l’attribuer à une ou plusieurs ressources Azure. Lorsque vous activez une identité managée assignée par l'utilisateur :

    • Un principal de service d’un type spécial est créé dans Microsoft Entra ID pour l’identité. Le principal de service est managé séparément par rapport aux ressources qui l’utilisent.
    • Les identités attribuées par l’utilisateur peuvent être utilisées par plusieurs ressources.
    • Vous autorisez l’identité managée à accéder à un ou plusieurs services.

    Les identités affectées par l’utilisateur, qui sont approvisionnées indépendamment du calcul et peuvent être affectées à plusieurs ressources de calcul, sont le type d’identité managée recommandé pour les services Microsoft.

Les ressources qui prennent en charge les identités managées affectées par le système vous permettent d’effectuer les opérations suivantes :

  • Activer ou désactiver les identités managées au niveau de la ressource.
  • Utilisez le contrôle d’accès en fonction du rôle (RBAC) pour accorder des autorisations.
  • Afficher les opérations de création, lecture, mise à jour, suppression (CRUD, Create Read Update Delete) dans les journaux d’activité Azure.
  • Afficher l’activité de connexion dans les journaux de connexion Microsoft Entra ID.

Si vous choisissez une identité gérée attribuée par l'utilisateur à la place :

Les opérations sur les identités managées peuvent être effectuées en utilisant un modèle Azure Resource Manager, le portail Azure, l’interface Azure CLI, PowerShell et des API REST.

Différences entre les identités managées affectées par le système et affectées par l’utilisateur

Propriété Identité gérée assignée par le système Identité managée affectée par l’utilisateur
Création Créé dans le cadre d’une ressource Azure (par exemple, une machine virtuelle Azure ou Azure App Service). Créé comme une ressource Azure autonome.
Cycle de vie Cycle de vie partagé entre la ressource Azure et l’identité managée avec laquelle elle est créée.
Lorsque la ressource parente est supprimée, l’identité managée l’est également.
Cycle de vie indépendant.
Doit être explicitement supprimé.
Partage entre ressources Azure Ne peut pas être partagé.
Ne peut être associé qu’à une seule ressource Azure.
Peut être partagé.
Une même identité managée affectée par l’utilisateur peut être associée à plusieurs ressources Azure.
Cas d’utilisation courants Charges de travail contenues dans une même ressource Azure.
Charges de travail nécessitant des identités indépendantes.
Par exemple, une application qui s’exécute sur une seule machine virtuelle.
Charges de travail qui s’exécutent sur plusieurs ressources et qui peuvent partager une même identité.
Les charges de travail nécessitant une pré-authentification pour une ressource sécurisée, dans le cadre d’un flux d’approvisionnement.
Charges de travail dont les ressources sont recyclées fréquemment, mais pour lesquelles les autorisations doivent rester les mêmes.
Par exemple, une charge de travail où plusieurs machines virtuelles doivent accéder à la même ressource.

Comment puis-je utiliser des identités managées pour les ressources Azure ?

Vous pouvez utiliser des identités managées en suivant les étapes ci-dessous :

  1. Créez une identité managée dans Azure. Vous pouvez choisir entre l’identité managée affectée par le système ou l’identité managée affectée par l’utilisateur.
    1. Quand vous utilisez une identité managée affectée par l’utilisateur, vous affectez l’identité managée à la ressource Azure « source », comme une machine virtuelle, une application logique Azure ou une application web Azure.
  2. Autorisez l’identité managée à accéder au service « cible ».
  3. Utilisez l’identité managée pour accéder à une ressource. Dans cette étape, vous pouvez utiliser le Kit de développement logiciel (SDK) Azure avec la bibliothèque Azure.Identity. Certaines ressources « source » offrent des connecteurs qui savent utiliser les identités managées pour les connexions. Dans ce cas, vous utilisez l’identité comme fonctionnalité de cette ressource « source ».

Quels services Azure prennent en charge la fonctionnalité ?

Les identités managées pour les ressources Azure peuvent être utilisées pour s’authentifier auprès des services qui prennent en charge l’authentification Microsoft Entra. Pour obtenir la liste des services Azure pris en charge, consultez Services qui prennent en charge les identités managées pour les ressources Azure.

Utiliser des identités managées

Les identités managées peuvent être utilisées directement ou en tant qu’informations d’identification d’identité fédérée pour les applications Microsoft Entra ID.

Les étapes impliquées dans l’utilisation d’identités managées sont les suivantes :

  1. Créez une identité managée dans Azure. Vous pouvez choisir entre l’identité managée affectée par le système ou l’identité managée affectée par l’utilisateur. Lorsque vous utilisez une identité managée affectée par l’utilisateur, vous attribuez l’identité managée à la ressource Azure source, telle qu’une machine virtuelle, Azure Logic App ou une application web Azure.
  2. Autoriser l’identité managée à avoir accès au service cible.
  3. Utilisez l’identité managée pour accéder à une ressource. Dans cette étape, vous pouvez utiliser l’une des bibliothèques clientes. Certaines ressources sources offrent des connecteurs qui savent utiliser des identités managées pour les connexions. Dans ce cas, vous utilisez l’identité comme fonctionnalité de cette ressource source.

Utiliser directement l’identité managée

Le code de service exécuté sur votre ressource de calcul Azure utilise la bibliothèque d’authentification Microsoft (MSAL) ou le Kit de développement logiciel (SDK) Azure.Identity pour récupérer un jeton d’identité managée à partir de l’ID Entra soutenu par l’identité managée. Cette acquisition de jetons ne nécessite aucun secret et est automatiquement authentifiée en fonction de l’environnement dans lequel le code s’exécute. Tant que l’identité managée est autorisée, le code de service peut accéder aux dépendances en aval qui prennent en charge l’authentification entra ID.

Par exemple, vous pouvez utiliser une machine virtuelle Azure (VM) en tant que Azure Compute. Vous pouvez ensuite créer une identité managée affectée par l’utilisateur et l’affecter à la machine virtuelle. La charge de travail s'exécute sur les interfaces de machine virtuelle et interagit avec les SDK clients Azure.Identity (ou MSAL) et Azure Storage pour accéder à un compte de stockage. L’identité managée affectée par l’utilisateur est autorisée à accéder au compte de stockage.

Utiliser une identité managée en tant que justificatif d'identité fédérée (FIC) sur une application d'Entra ID

La fédération des identités de charge de travail permet d’utiliser une identité managée en tant qu’informations d’identification, comme le certificat ou le mot de passe, sur les applications Entra ID. Chaque fois qu’une application Entra ID est requise, il s’agit de la méthode recommandée pour être sans informations d’identification. Il existe une limite de 20 FIC lors de l’utilisation d’identités managées en tant que FIC sur une application Entra ID.

Une charge de travail agissant en tant qu'application Entra ID peut être hébergée sur n’importe quel service Azure qui a une identité managée. La charge de travail utilise l’identité managée pour acquérir un jeton à échanger pour un jeton d’application Entra ID, via la fédération d’identité de charge de travail. Cette fonctionnalité est également appelée identité managée en tant que FIC (Informations d’identification de l’identité fédérée). Pour plus d’informations, consultez configurer une application pour approuver une identité managée.

Étapes suivantes