Utiliser une identité managée affectée par le système de machine virtuelle Windows pour accéder à Resource ManagerUse a Windows VM system-assigned managed identity to access Resource Manager

Identités managées pour ressources Azure est une fonctionnalité d’Azure Active Directory.Managed identities for Azure resources is a feature of Azure Active Directory. Les services Azure prenant en charge les identités managées pour ressources Azure sont soumis à leur propre chronologie.Each of the Azure services that support managed identities for Azure resources are subject to their own timeline. 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.Make sure you review the availability status of managed identities for your resource and known issues before you begin.

Ce guide de démarrage rapide vous indique comment accéder à l’API Azure Resource Manager à l’aide d’une machine virtuelle Windows sur laquelle l’identité managée affectée par le système est activée.This quickstart shows you how to access the Azure Resource Manager API using a Windows virtual machine with system-assigned managed identity enabled. 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 Azure AD sans avoir à insérer des informations d’identification dans votre code.Managed identities for Azure resources are automatically managed by Azure and enable you to authenticate to services that support Azure AD authentication without needing to insert credentials into your code. Vous allez apprendre à effectuer les actions suivantes :You learn how to:

  • Accorder à votre machine virtuelle l’accès à un groupe de ressources dans Azure Resource ManagerGrant your VM access to a Resource Group in Azure Resource Manager
  • Obtenir un jeton d’accès à l’aide de l’identité de machine virtuelle et l’utiliser pour appeler Azure Resource ManagerGet an access token using the VM identity and use it to call Azure Resource Manager

Conditions préalables requisesPrerequisites

Accorder l’accès à un groupe de ressources dans Azure Resource Manager à votre machine virtuelleGrant your VM access to a resource group in Resource Manager

À l’aide d’identités managées pour ressources Azure, votre code peut obtenir des jetons d’accès pour vous authentifier sur des ressources prenant en charge l’authentification Azure AD.Using managed identities for Azure resources, your code can get access tokens to authenticate to resources that support Azure AD authentication. Azure Resource Manager prend en charge l’authentification Azure AD.The Azure Resource Manager supports Azure AD authentication. Tout d’abord, nous devons accorder à cette identité managée affectée par le système de machine virtuelle l’accès à une ressource dans Resource Manager, dans ce cas le groupe de ressources dans lequel est contenue la machine virtuelle.First, we need to grant this VM’s system-assigned managed identity access to a resource in Resource Manager, in this case the Resource Group in which the VM is contained.

  1. Accédez à l’onglet de Groupes de ressources.Navigate to the tab for Resource Groups.

  2. Sélectionnez le Groupe de ressources spécifique que vous avez créé pour la machine virtuelle Windows.Select the specific Resource Group you created for your Windows VM.

  3. Accédez au Contrôle d’accès (IAM) dans le volet de gauche.Go to Access control (IAM) in the left panel.

  4. Sélectionnez ensuite Ajouter une attribution de rôle afin d’ajouter une nouvelle attribution de rôle pour votre machine virtuelle Windows.Then Add role assignment a new role assignment for your Windows VM. Choisissez Rôle en tant que Lecteur.Choose Role as Reader.

  5. Dans la liste déroulante suivante, sélectionnez Attribuer un accès à la ressource Machine virtuelle.In the next drop-down, Assign access to the resource Virtual Machine.

  6. Ensuite, assurez-vous que l’abonnement approprié est répertorié dans la liste déroulante Abonnement.Next, ensure the proper subscription is listed in the Subscription dropdown. Et pour Groupe de ressources, sélectionnez Tous les groupes de ressources.And for Resource Group, select All resource groups.

  7. Enfin, choisissez votre machine virtuelle Windows dans la liste déroulante dans Sélectionner et cliquez sur Enregistrer.Finally, in Select choose your Windows VM in the dropdown and click Save.

    Texte de remplacement d’image

Obtenir un jeton d’accès à l’aide de l’identité managée affectée par le système de machine virtuelle et utiliser celui-ci pour appeler Azure Resource ManagerGet an access token using the VM's system-assigned managed identity and use it to call Azure Resource Manager

Vous devez utiliser PowerShell dans cette partie.You will need to use PowerShell in this portion. Si vous n’avez pas installé PowerShell, vous pouvez le télécharger ici.If you don’t have PowerShell installed, download it here.

  1. Dans le portail, accédez à Machines virtuelles et accédez à votre machine virtuelle Windows. Puis, dans Vue d’ensemble, cliquez sur Connecter.In the portal, navigate to Virtual Machines and go to your Windows virtual machine and in the Overview, click Connect.

  2. Entrez le Nom d’utilisateur et le Mot de passe que vous avez ajoutés lorsque vous avez créé la machine virtuelle Windows.Enter in your Username and Password for which you added when you created the Windows VM.

  3. Maintenant que vous avez créé une Connexion au Bureau à distance avec la machine virtuelle, ouvrez PowerShell dans la session à distance.Now that you have created a Remote Desktop Connection with the virtual machine, open PowerShell in the remote session.

  4. À l’aide de l’applet de commande Invoke-WebRequest, envoyez une requête au point de terminaison d’identités managées pour ressources Azure afin d’obtenir un jeton d’accès pour Azure Resource Manager.Using the Invoke-WebRequest cmdlet, make a request to the local managed identity for Azure resources endpoint to get an access token for Azure Resource Manager.

       $response = Invoke-WebRequest -Uri 'http://169.254.169.254/metadata/identity/oauth2/token?api-version=2018-02-01&resource=https://management.azure.com/' -Method GET -Headers @{Metadata="true"}
    

    Notes

    La valeur du paramètre « ressource » doit correspondre exactement à ce qui est attendu par Azure AD.The value of the "resource" parameter must be an exact match for what is expected by Azure AD. Lorsque vous utilisez l’ID de ressource Azure Resource Manager, vous devez inclure la barre oblique de fin à l’URI.When using the Azure Resource Manager resource ID, you must include the trailing slash on the URI.

    Ensuite, extrayez la réponse complète qui est stockée sous forme de chaîne au format JavaScript Objet Notation (JSON) dans l’objet $response.Next, extract the full response, which is stored as a JavaScript Object Notation (JSON) formatted string in the $response object.

    $content = $response.Content | ConvertFrom-Json
    

    Ensuite, extrayez le jeton d’accès de la réponse.Next, extract the access token from the response.

    $ArmToken = $content.access_token
    

    Enfin, appelez Azure Resource Manager à l’aide du jeton d’accès.Finally, call Azure Resource Manager using the access token. Dans cet exemple, nous utilisons également l’applet de commande Invoke-WebRequest pour appeler Azure Resource Manager et inclure le jeton d’accès dans l’en-tête d’autorisation.In this example, we're also using the Invoke-WebRequest cmdlet to make the call to Azure Resource Manager, and include the access token in the Authorization header.

    (Invoke-WebRequest -Uri https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>?api-version=2016-06-01 -Method GET -ContentType "application/json" -Headers @{ Authorization ="Bearer $ArmToken"}).content
    

    Notes

    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 « resourceGroups » est correcte.The URL is case-sensitive, so ensure if you are using the exact same case as you used earlier when you named the Resource Group, and the uppercase "G" in "resourceGroups."

    La commande suivante renvoie les détails du groupe de ressources :The following command returns the details of the Resource Group:

    {"id":"/subscriptions/98f51385-2edc-4b79-bed9-7718de4cb861/resourceGroups/DevTest","name":"DevTest","location":"westus","properties":{"provisioningState":"Succeeded"}}
    

Étapes suivantesNext steps

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.In this quickstart, you learned how to use a system-assigned managed identity to access the Azure Resource Manager API. Pour en savoir plus sur Azure Resource Manager, consultez :To learn more about Azure Resource Manager see: