Utiliser une identité managée affectée par le système de machine virtuelle Linux pour accéder à Azure Resource Manager
Les identités managées pour les ressources Azure sont une fonctionnalité de Microsoft Entra ID. Les services Azure prenant en charge les identités managées pour ressources Azure sont soumis à leur propre chronologie. Assurez-vous de passer en revue l’état Disponibilité des identités gérées pour votre ressource et les problèmes connus avant de commencer.
Ce démarrage rapide vous montre comment utiliser une identité managée affectée par le système en tant qu’identité d’une machine virtuelle Linux afin d’accéder à l’API Azure Resource Manager. Les identités managées pour ressources Azure sont gérées automatiquement par Azure et vous permettent de vous authentifier auprès des services prenant en charge l’authentification Microsoft Entra sans avoir à insérer des informations d’identification dans votre code. Vous allez apprendre à effectuer les actions suivantes :
- Accorder à votre machine virtuelle l’accès à un groupe de ressources dans Azure Resource Manager
- Obtenir un jeton d’accès à l’aide de l’identité de machine virtuelle et l’utiliser pour appeler Azure Resource Manager
Prérequis
- Compréhension des identités managées. Si vous ne connaissez pas les identités managées, voir cette Vue d’ensemble.
- Un compte Azure. Inscrivez-vous pour obtenir un compte gratuit.
- Vous avez également besoin d’une machine virtuelle Linux sur laquelle les identités managées attribuées par le système sont activées. Si vous disposez d’une machine virtuelle, mais que vous devez activer les identités gérées attribuées par le système, vous pouvez le faire dans la section identité des propriétés de l’ordinateur virtuel.
- Si vous devez créer une machine virtuelle pour ce tutoriel, vous pouvez suivre les instructions de l’article intitulé Créer une machine virtuelle Linux avec le portail Azure
Accorder l'accès
Conseil
Les étapes décrites dans cet article peuvent varier légèrement en fonction du portail de départ.
Lorsque vous utilisez des identités managées pour les ressources Azure, votre code peut obtenir des jetons d’accès pour s’authentifier auprès des ressources qui prennent en charge l’authentification Microsoft Entra. L’API Azure Resource Manager prend en charge l’authentification Microsoft Entra. Tout d’abord, nous devons accorder à cette identité de machine virtuelle l’accès à une ressource dans Azure Resource Manager, dans ce cas le groupe de ressources qui contient la machine virtuelle.
Connectez-vous au portail Azure avec votre compte d’administrateur.
Accédez à l’onglet de Groupes de ressources.
Sous Groupe de ressources, sélectionnez le groupe de ressources auquel l’identité managée de machine virtuelle doit pouvoir accéder.
Dans le volet gauche, sélectionnez Contrôle d’accès (IAM).
Sélectionnez Ajouter, puis sélectionnez Ajouter une attribution de rôle.
Sous l’onglet Rôle, sélectionnez Lecteur. Ce rôle permet de voir toutes les ressources, mais ne vous autorise pas à apporter des modifications.
Sous l’onglet Membres, sous Affecter l’accès à, sélectionnez Identité managée. Puis, sélectionnez + Sélectionner des membres.
Vérifiez que l’abonnement approprié est listé dans la liste déroulante Abonnement. Et pour Groupe de ressources, sélectionnez Tous les groupes de ressources.
Dans la liste déroulante Gérer l’identité, sélectionnez Machine virtuelle.
Enfin, choisissez votre machine virtuelle Windows dans la liste déroulante dans Sélectionner et sélectionnez Enregistrer.
Obtenir un jeton d’accès par l’identité managée affectée par le système de machine virtuelle et l’utiliser pour appeler Resource Manager
Pour effectuer cette procédure, vous avez besoin d’un client SSH. Si vous utilisez Windows, vous pouvez utiliser le client SSH dans le Sous-système Windows pour Linux. Si vous avez besoin d’aide pour configurer les clés de votre client SSH, consultez Comment utiliser les clés SSH avec Windows sur Azure, ou Comment créer et utiliser une paire de clés publique et privée SSH pour les machines virtuelles Linux dans Azure.
Dans le portail, accédez à votre machine virtuelle Linux et dans Vue d’ensemble, sélectionnez Connexion.
Connectez-vous à la machine virtuelle à l’aide du client SSH de votre choix.
Dans la fenêtre de terminal, à l’aide de
curl
, adressez une requête au point de terminaison d’identités managées pour ressources Azure en vue d’obtenir un jeton d’accès pour Azure Resource Manager. Vous trouverez la requêtecurl
pour le jeton d’accès ci-dessous.
curl 'http://169.254.169.254/metadata/identity/oauth2/token?api-version=2018-02-01&resource=https://management.azure.com/' -H Metadata:true
Remarque
La valeur du paramètre resource
doit correspondre exactement aux attentes de Microsoft Entra ID. Dans le cas de l’ID de ressource de Resource Manager, vous devez inclure la barre oblique finale sur l’URI.
La réponse inclut le jeton d’accès dont vous avez besoin pour accéder à Azure Resource Manager.
Réponse :
{
"access_token":"eyJ0eXAiOi...",
"refresh_token":"",
"expires_in":"3599",
"expires_on":"1504130527",
"not_before":"1504126627",
"resource":"https://management.azure.com",
"token_type":"Bearer"
}
Vous pouvez utiliser ce jeton d’accès pour accéder à Azure Resource Manager, pour lire les détails du groupe de ressources dont vous avez précédemment accordé l’accès à cette machine virtuelle, par exemple. Remplacez les valeurs de <SUBSCRIPTION-ID>
, <RESOURCE-GROUP>
, et <ACCESS-TOKEN>
par celles que vous avez créées précédemment.
Remarque
L’URL respecte la casse, par conséquent, assurez-vous que la casse est identique à celle utilisée précédemment lorsque vous avez nommé le groupe de ressources, et que la majuscule « G » dans « resourceGroup » est correcte.
curl https://management.azure.com/subscriptions/<SUBSCRIPTION-ID>/resourceGroups/<RESOURCE-GROUP>?api-version=2016-09-01 -H "Authorization: Bearer <ACCESS-TOKEN>"
La réponse retourne les informations de groupe de ressources spécifiques :
{
"id":"/subscriptions/98f51385-2edc-4b79-bed9-7718de4cb861/resourceGroups/DevTest",
"name":"DevTest",
"location":"westus",
"properties":
{
"provisioningState":"Succeeded"
}
}
Étapes suivantes
Dans ce démarrage rapide, vous avez appris à utiliser une identité managée affectée par le système pour accéder à l’API Azure Resource Manager. Pour plus d’informations sur Azure Resource Manager, consultez :