Activer une identité managée affectée par le système pour une application Azure Spring CloudHow to enable system-assigned managed identity for Azure Spring Cloud application

Cet article s’applique à : ✔️ Java ✔️ C#This article applies to: ✔️ Java ✔️ C#

Les identités managées pour les ressources Azure fournissent une identité automatiquement managée dans Azure Active Directory à une ressource Azure telle que votre application Azure Spring Cloud.Managed identities for Azure resources provide an automatically managed identity in Azure Active Directory to an Azure resource such as your Azure Spring Cloud application. Vous pouvez utiliser cette identité pour vous authentifier sur n’importe quel service prenant en charge l’authentification Azure AD, sans avoir d’informations d’identification dans votre code.You can use this identity to authenticate to any service that supports Azure AD authentication, without having credentials in your code.

Cet article explique comment activer et désactiver les identités managées affectées par le système pour une application Azure Spring Cloud, à l'aide du portail Azure et de l'interface CLI (disponible à partir de la version 0.2.4).This article shows how to enable and disable system-assigned managed identities for an Azure Spring Cloud app, using the Azure portal and CLI (available from version 0.2.4).

PrérequisPrerequisites

Si nécessaire, consultez la section de présentation afin de vous familiariser avec les identités managées pour les ressources Azure.If you're unfamiliar with managed identities for Azure resources, see overview section. Une instance d'Azure Spring Cloud doit être déployée.You'll need a deployed Azure Spring Cloud instance. Suivez le Guide de démarrage Déployer à l'aide d'Azure CLI.Follow the Quickstart to deploy by using the Azure CLI.

Ajouter une identité affectée par le systèmeAdd a system-assigned identity

La création d'une application avec une identité affectée par le système requiert la définition d'une propriété supplémentaire sur cette application.Creating an app with a system-assigned identity requires setting an additional property on the application.

En passant par le portail AzureUsing Azure portal

Pour configurer une identité managée à partir du portail Azure, commencez par créer une application, puis activez la fonctionnalité.To set up a managed identity in the Azure portal, first create an app, and then enable the feature.

  1. Créez une application dans le portail, comme vous le feriez normalement.Create an app in the portal as you normally would. Accédez-y dans le portail.Navigate to it in the portal.
  2. Faites défiler l'écran jusqu'au groupe Paramètres dans le volet de navigation gauche.Scroll down to the Settings group in the left navigation pane.
  3. Sélectionnez Identité .Select Identity .
  4. Dans l’onglet Attribuée par le système , définissez État sur Activé .Within the System assigned tab, switch Status to On . Cliquez sur Enregistrer .Click Save .

Identité managée sur le portail

Utilisation de l’interface de ligne de commande AzureUsing Azure CLI

Vous pouvez activer une identité managée affectée par le système pendant la création d'une application ou sur une application existante.You can enable system-assigned managed identity during app creation or on an existing app.

Activer une identité managée affectée par le système lors de la création d'une applicationEnable system-assigned managed identity during creation of an app

L'exemple suivant crée une application nommée app_name avec une identité managée affectée par le système, comme le demande le paramètre --assign-identity.The following example creates an app named app_name with a system-assigned managed identity, as requested by the --assign-identity parameter.

az spring-cloud app create -n app_name -s service_name -g resource_group_name --assign-identity

Activer une identité managée affectée par le système sur une application existante Utilisez la commande az spring-cloud app identity assign pour activer l'identité affectée par le système sur une application existante.Enable system-assigned managed identity on an existing app Use az spring-cloud app identity assign command to enable the system-assigned identity on an existing app.

az spring-cloud app identity assign -n app_name -s service_name -g resource_group_name

Obtenir des jetons pour les ressources AzureObtain tokens for Azure resources

Une application peut utiliser son identité managée pour obtenir des jetons afin d’accéder à d’autres ressources protégées par Azure Active Directory, comme Azure Key Vault.An app can use its managed identity to get tokens to access other resources protected by Azure Active Directory, such as Azure Key Vault. Ces jetons représentent l'application qui accède à la ressource, et non un utilisateur spécifique de l'application.These tokens represent the application accessing the resource, not any specific user of the application.

Vous pouvez être amené à configurer la ressource cible pour autoriser l'accès à partir de votre application.You may need to configure the target resource to allow access from your application. Par exemple, si vous demandez un jeton pour accéder à Key Vault, vérifiez que vous avez ajouté une stratégie d'accès qui inclut l'identité de votre application.For example, if you request a token to access Key Vault, make sure you have added an access policy that includes your application's identity. Si tel n’est pas le cas, vos appels au coffre de clés sont rejetés, même s’ils incluent le jeton.Otherwise, your calls to Key Vault will be rejected, even if they include the token. Pour en savoir plus sur les ressources qui prennent en charge les jetons Azure Active Directory, consultez Services Azure prenant en charge l’authentification Azure AD.To learn more about which resources support Azure Active Directory tokens, see Azure services that support Azure AD authentication.

Azure Spring Cloud partage le même point de terminaison pour l'acquisition de jetons auprès d'Azure Virtual Machine.Azure Spring Cloud shares the same endpoint for token acquisition with Azure Virtual Machine. Nous vous recommandons d’utiliser le SDK Java ou des instances Spring Boot Starters pour acquérir un jeton.We recommend using Java SDK or spring boot starters to acquire a token. Consultez Utiliser le jeton de la machine virtuelle pour accéder à des exemples de code et de script ainsi qu'à des conseils sur des sujets importants tels que la gestion des erreurs HTTP et de l'expiration des jetons.See How to use VM token for various code and script examples and guidance on important topics such as handling token expiration and HTTP errors.

Recommandé : utilisez le kit de développement logiciel (SDK) Java ou des « starters » Spring Boot pour obtenir des jetons.Recommended: use Java SDK or spring boot starters to get tokens. Consultez les exemples fournis dans Étapes suivantes.See the samples in the Next Steps.

Désactiver l'identité affectée par le système d'une applicationDisable system-assigned identity from an app

Si vous supprimez une identité affectée par le système, vous la supprimez également d'Azure AD.Removing a system-assigned identity will also delete it from Azure AD. La suppression de la ressource d'application supprime automatiquement les identités affectées par le système d'Azure AD.Deleting the app resource automatically removes system-assigned identities from Azure AD.

En passant par le portail AzureUsing Azure portal

Pour supprimer l'identité managée affectée par le système d'une application qui n'en a plus besoin :To remove system-assigned managed identity from an app that no longer needs it:

  1. Connectez-vous au portail Azure à l'aide d'un compte associé à l'abonnement Azure qui contient l'instance d'Azure Spring Cloud.Sign in to the Azure portal using an account associated with the Azure subscription that contains the Azure Spring Cloud instance.
  2. Accédez à la machine virtuelle souhaitée et sélectionnez Identité .Navigate to the desired Virtual Machine and select Identity .
  3. Sous Affectée par le système/État , sélectionnez Désactivé , puis cliquez sur Enregistrer  :Under System assigned/Status , select Off and then click Save :

Identité managée

Utilisation de l’interface de ligne de commande AzureUsing Azure CLI

Pour supprimer l'identité managée affectée par le système d'une application qui n'en a plus besoin, utilisez la commande suivante :To remove system-assigned managed identity from an app that no longer needs it, use the following command:

az spring-cloud app identity remove -n app_name -s service_name -g resource_group_name

Étapes suivantesNext steps