Utilisation des identités managées pour Azure avec Service FabricUsing Managed identities for Azure with Service Fabric

Une difficulté courante lors de la création d’applications cloud consiste à gérer en toute sécurité les informations d’identification dans votre code pour l’authentification auprès de différents services sans les enregistrer localement sur une station de travail de développeur ou dans le contrôle de code source.A common challenge when building cloud applications is how to securely manage the credentials in your code for authenticating to various services without saving them locally on a developer workstation or in source control. Les identités managées pour Azure résolvent ce problème pour toutes vos ressources dans Azure Active Directory (Azure AD) en leur fournissant des identités managées automatiquement dans Azure AD.Managed identities for Azure solve this problem for all your resources in Azure Active Directory (Azure AD) by providing them with automatically managed identities within Azure AD. Vous pouvez utiliser l’identité d’un service pour vous authentifier auprès d’un service qui prend en charge l’authentification Azure AD, y compris Key Vault, sans aucune information d’identification stockée dans votre code.You can use a service's identity to authenticate to any service that supports Azure AD authentication, including Key Vault, without any credentials stored in your code.

Les identités managées pour les ressources Azure sont gratuites avec Azure AD pour les abonnements Azure.Managed identities for Azure resources are free with Azure AD for Azure subscriptions. Aucun coût supplémentaire n’est facturé.There's no additional cost.

Notes

Identités managées pour Azure est le nouveau nom du service, anciennement nommé Managed Service Identity (MSI).Managed identities for Azure is the new name for the service formerly known as Managed Service Identity (MSI).

ConceptsConcepts

Identités managées pour Azure s’appuie sur plusieurs concepts clés :Managed identities for Azure is based upon several key concepts:

  • ID client : identificateur unique généré par Azure AD lié à une application et à un principal de service lors de son approvisionnement initial (consultez également ID d’application.)Client ID - a unique identifier generated by Azure AD that is tied to an application and service principal during its initial provisioning (also see application ID.)

  • ID du principal : l’ID d’objet de l’objet du principal de service pour votre identité managée, utilisé pour octroyer un accès basé sur le rôle à une ressource Azure.Principal ID - the object ID of the service principal object for your Managed Identity that is used to grant role-based access to an Azure resource.

  • Principal du service : un objet Azure Active Directory, qui représente la projection d’une application AAD dans un abonné donné (consultez également principal du service.)Service Principal - an Azure Active Directory object, which represents the projection of an AAD application in a given tenant (also see service principal.)

Il existe deux types d’identités administrées :There are two types of managed identities:

  • Une identité managée attribué par le système est activée directement sur une instance de service Azure.A System-assigned managed identity is enabled directly on an Azure service instance. Le cycle de vie d’une identité attribuée par le système est propre à l’instance de service Azure sur laquelle elle est activée.The lifecycle of a system-assigned identity is unique to the Azure service instance that it's enabled on.
  • Une identité managée attribuée par l’utilisateur est créée en tant que ressource Azure autonome.A user-assigned managed identity is created as a standalone Azure resource. L’identité peut être assignée à une ou plusieurs instances de service Azure et est managée séparément des cycles de vie de ces instances.The identity can be assigned to one or more Azure service instances and is managed separately from the lifecycles of those instances.

Pour mieux comprendre la différence entre les types d’identités managées, consultez Comment fonctionnent les identités managées pour les ressources Azure ?.To further understand the difference between managed identity types, see How do managed identities for Azure resources work?.

Scénarios pris en charge pour les applications Service FabricSupported scenarios for Service Fabric applications

Les identités managées pour Service Fabric sont prises en charge uniquement dans les clusters Service Fabric déployés dans Azure et uniquement pour les applications déployées en tant que ressources Azure. Une application qui n’est pas déployée en tant que ressource Azure ne peut pas se voir attribuer une identité.Managed identities for Service Fabric are only supported in Azure-deployed Service Fabric clusters, and only for applications deployed as Azure resources; an application that is not deployed as an Azure resource cannot be assigned an identity. En théorie, la prise en charge des identités managées dans un cluster Azure Service Fabric est constitué de deux phases :Conceptually speaking, support for managed identities in an Azure Service Fabric cluster consists of two phases:

  1. Attribuez une ou plusieurs identités managées à la ressource d’application ; une application peut se voir attribuer une seule identité attribuée par le système et/ou des identités attribuées par des utilisateurs, jusqu’à 32, respectivement.Assign one or more managed identities to the application resource; an application may be assigned a single system-assigned identity, and/or up to 32 user-assigned identities, respectively.

  2. Dans la définition de l’application, mappez l’une des identités attribuées à l’application à un service individuel comprenant l’application.Within the application's definition, map one of the identities assigned to the application to any individual service comprising the application.

L’identité attribuée par le système d’une application est propre à cette application ; une identité attribuée par l’utilisateur est une ressource autonome, qui peut être attribuée à plusieurs applications.The system-assigned identity of an application is unique to that application; a user-assigned identity is a standalone resource, which may be assigned to multiple applications. Dans une application, une seule identité (qu’elle soit attribuée par le système ou par l’utilisateur) peut être attribuée à plusieurs services de l’application, mais chaque service individuel ne peut être attribué qu’à une seule identité.Within an application, a single identity (whether system-assigned or user-assigned) can be assigned to multiple services of the application, but each individual service can only be assigned one identity. Enfin, une identité doit être attribuée explicitement à un service pour pouvoir accéder à cette fonctionnalité.Lastly, a service must be assigned an identity explicitly to have access to this feature. Dans les faits, le mappage des identités d’une application à ses services constitutifs permet une isolation dans l’application : un service peut uniquement utiliser l’identité qui lui est mappée.In effect, the mapping of an application's identities to its constituent services allows for in-application isolation — a service may only use the identity mapped to it.

Voici les scénarios suivants pris en charge actuellement pour cette fonctionnalité :Currently, the following scenarios are supported for this feature:

  • Déployer une nouvelle application avec un ou plusieurs services et une ou plusieurs identités attribuéesDeploy a new application with one or more services and one or more assigned identities

  • Attribuer une ou plusieurs identités managées à une application existante (déployée dans Azure) afin d’accéder aux ressources AzureAssign one or more managed identities to an existing (Azure-deployed) application in order to access Azure resources

Les scénarios suivants ne sont pas pris en charge ni recommandés ; notez que ces actions peuvent ne pas être bloquées, mais peuvent entraîner des pannes dans vos applications :The following scenarios are not supported or not recommended; note these actions may not be blocked, but can lead to outages in your applications:

  • Supprimez ou modifiez les identités attribuées à une application. Si vous devez apporter des modifications, envoyez des déploiements distincts pour ajouter d’abord une nouvelle attribution d’identité, puis en supprimer une précédemment attribuée.Remove or change the identities assigned to an application; if you must make changes, submit separate deployments to first add a new identity assignment, and then to remove a previously assigned one. La suppression d’une identité d’une application existante peut avoir des effets indésirables, notamment la sortie de votre application dans un état qui ne peut pas être mis à niveau.Removal of an identity from an existing application can have undesirable effects, including leaving your application in a state that is not upgradeable. Il est sans danger de supprimer entièrement l’application si la suppression d’une identité est nécessaire ; notez que cette opération supprimera l’identité attribuée par le système (si définie) associée à l’application et supprimera toutes les associations avec les identités attribuées par l’utilisateur et attribuées à l’application.It is safe to delete the application altogether if the removal of an identity is necessary; note this will delete the system-assigned identity (if so defined) associated with the application, and will remove any associations with the user-assigned identities assigned to the application.

  • La prise en charge par Service Fabric des identités managées n’est pas intégrée à l’heure actuelle dans AzureServiceTokenProvider.Service Fabric support for managed identities is not integrated at this time into the AzureServiceTokenProvider.

Étapes suivantesNext steps