Tutoriel : Utiliser une identité managée affectée par l’utilisateur sur une machine virtuelle pour accéder à Azure Resource Manager
Ce guide de démarrage rapide vous montre comment utiliser une identité managée affectée par le système en tant qu’identité de machine virtuelle pour 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.
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.
Vous découvrirez comment effectuer les actions suivantes :
- Octroyer à votre machine virtuelle l’accès à un groupe de ressources dans Azure Resource Manager
- Obtenir un jeton d’accès à l’aide d’une identité de machine virtuelle, et l’utiliser pour appeler Azure Resource Manager
Prérequis
- Compréhension de base des identités managées. Si vous n’êtes pas familiarisé avec la fonctionnalité des identités managées pour les ressources Azure, consultez Que sont les identités managées pour les ressources Azure ?.
- Un compte Azure. Inscrivez-vous pour obtenir un compte gratuit.
- Des autorisations Propriétaire avec l’étendue appropriée (votre abonnement ou groupe de ressources) pour effectuer les étapes de création de ressources et de gestion des rôles nécessaires. Si vous avez besoin d’aide pour les attributions de rôles, consultez Attribuer des rôles Azure pour gérer l’accès aux ressources de votre abonnement Azure.
- Une machine virtuelle Windows pour laquelle les identités managées affectées par le système sont activées.
- Si vous devez créer une machine virtuelle Windows pour ce tutoriel, consultez Créer une machine virtuelle pour laquelle l’identité affectée par le système est activée.
Activer une identité managée affectée par le système
L’activation d’une identité managée affectée par le système s’effectue en un seul clic. Vous pouvez l’activer au moment de la création d’une machine virtuelle ou plus tard dans les propriétés d’une machine virtuelle existante.
Pour activer une identité managée affectée par le système sur une nouvelle machine virtuelle :
Connectez-vous au portail Azure
Créer une machine virtuelle avec une identité affectée par le système activée
Accorder l’accès à un groupe de ressources dans Azure Resource Manager à votre machine virtuelle
Conseil
Les étapes décrites dans cet article peuvent varier légèrement en fonction du portail de départ.
À l’aide des identités managées pour les ressources Azure, votre application peut accéder à des jetons afin de 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, qui octroie à l’identité de la machine virtuelle l’accès à une ressource dans Azure Resource Manager. Dans le cas présent, il s’agit de l’accès à un groupe de ressources que contient la machine virtuelle. Attribuez le rôle Lecteur à l’identité managée au niveau de l’étendue du groupe de ressources.
- Utilisez un compte administrateur pour vous connecter au portail Azure.
- 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 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, pour Attribuer 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.
- Dans Sélectionner, choisissez votre machine virtuelle Windows au sein de la liste déroulante, puis sélectionnez Enregistrer.
Obtention d’un jeton d’accès
Utilisez l’identité managée affectée par le système de la machine virtuelle, puis utilisez-la pour appeler Azure Resource Manager afin d’obtenir un jeton d’accès.
Vous devez accéder à PowerShell pour effectuer ces étapes. Si vous n’avez pas installé PowerShell, vous pouvez le télécharger ici.
- Dans le portail, accédez à Machines virtuelles, puis accédez à votre machine virtuelle Windows.
- Dans la section Vue d’ensemble, sélectionnez Se connecter.
- Entrez le Nom d’utilisateur et le Mot de passe que vous avez ajoutés lorsque vous avez créé la machine virtuelle Windows. Cela entraîne la création d’une connexion Bureau à distance avec la machine virtuelle.
- Ouvrez PowerShell dans la session à distance.
- À l’aide de la cmdlet
Invoke-WebRequest
, envoyez une requête à l’identité managée locale du point de terminaison de ressources Azure.
Ce code génère un jeton d’accès pour 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"}
Remarque
La valeur du paramètre resource doit correspondre à une recherche exacte de ce qui est attendu par Microsoft Entra ID. Quand vous utilisez l’ID de ressource Azure Resource Manager, vous devez inclure la barre oblique de fin dans l’URI.
Extrayez ensuite la réponse complète, qui est stockée sous forme de chaîne au format JSON (JavaScript Object Notation) dans l’objet $response
.
$content = $response.Content | ConvertFrom-Json
Ensuite, extrayez le jeton d’accès de la réponse.
$ArmToken = $content.access_token
\```
Finally, call Azure Resource Manager using the access token. This example shows using the `Invoke-WebRequest` cmdlet to make the call to Azure Resource Manager and includes the access token in the Authorization header.
```powershell
(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
Remarque
L’URL respecte la casse. Veillez donc à utiliser la casse exacte que vous avez utilisée plus tôt quand vous avez nommé le groupe de ressources. Utilisez également le « G » majuscule dans resourceGroups.
La commande suivante retourne les détails du groupe de ressources :
{"id":"/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/DevTest","name":"DevTest","location":"westus","properties":{"provisioningState":"Succeeded"}}
Prérequis
- Compréhension des identités managées. Si vous n’êtes pas familiarisé avec les identités managées, consultez Que sont les identités managées pour les ressources Azure ?.
- Un compte Azure. Inscrivez-vous pour obtenir un compte gratuit.
- Une machine virtuelle Linux pour laquelle les identités managées affectées par le système sont activées. Si vous disposez d’une machine virtuelle, mais que vous devez activer les identités managées affectées par le système, vous pouvez le faire dans la section d’identité des propriétés de la machine virtuelle.
- Si vous devez créer une machine virtuelle Linux pour suivre ce tutoriel, consultez Créer une machine virtuelle Linux avec le portail Azure.
Conseil
Les étapes décrites dans cet article peuvent varier légèrement en fonction du portail de départ.
Accorder l’accès à un groupe de ressources dans Azure Resource Manager à votre machine virtuelle
À l’aide des identités managées pour les ressources Azure, votre application peut accéder à des jetons afin de 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, qui octroie à l’identité de la machine virtuelle l’accès à une ressource dans Azure Resource Manager. Dans le cas présent, il s’agit de l’accès à un groupe de ressources que contient la machine virtuelle.
Connectez-vous au portail Azure avec votre compte d’administrateur.
Accédez à l’onglet de Groupes de ressources.
Sélectionnez le groupe de ressources dont vous souhaitez octroyer l’accès à l’identité managée de la machine virtuelle.
Dans le volet gauche, sélectionnez Contrôle d’accès (IAM).
Sélectionnez Ajouter, puis 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, pour l’option Attribuer l’accès à, sélectionnez Identité managée. Sélectionnez ensuite + Sélectionner des membres.
Vérifiez que l’abonnement approprié est listé dans la liste déroulante Abonnement. Pour Groupe de ressources, sélectionnez Tous les groupes de ressources.
Dans la liste déroulante Gérer l’identité, sélectionnez Machine virtuelle.
Pour Sélectionner, choisissez votre machine virtuelle dans la liste déroulante, puis sélectionnez Enregistrer.
Obtention d’un jeton d’accès
Utilisez l’identité managée affectée par le système de la machine virtuelle, puis appelez Resource Manager pour obtenir un jeton d’accès.
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"
}
Utilisez ce jeton d’accès pour accéder à Azure Resource Manager, par exemple pour lire les détails du groupe de ressources dont vous avez octroyé l’accès à cette machine virtuelle. 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. Vous devez donc vérifier si vous utilisez exactement la même casse que celle que vous avez utilisée plus tôt quand vous avez nommé le groupe de ressources. Vérifiez également la présence du « G » majuscule dans « resourceGroup ».
curl https://management.azure.com/subscriptions/<SUBSCRIPTION-ID>/resourceGroups/<RESOURCE-GROUP>?api-version=2016-09-01 -H "Authorization: Bearer <ACCESS-TOKEN>"
La réponse est retournée avec les informations spécifiques au groupe de ressources :
{
"id":"/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/DevTest",
"name":"DevTest",
"location":"westus",
"properties":
{
"provisioningState":"Succeeded"
}
}
Étapes suivantes
Dans ce guide de démarrage rapide, vous avez appris à utiliser une identité managée affectée par le système sur une machine virtuelle pour accéder à l’API Azure Resource Manager. Pour en savoir plus sur Azure Resource Manager, consultez :
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : pendant toute l’année 2024, nous allons éliminer progressivement Problèmes GitHub comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, voir :Soumettre et afficher des commentaires pour