Een door het Windows-VM-systeem toegewezen beheerde identiteit gebruiken voor toegang tot Resource Manager

Beheerde identiteiten voor Azure-resources is een functie van Microsoft Entra ID. Voor alle Azure-services die beheerde identiteiten voor Azure-resources ondersteunen, geldt een eigen tijdlijn. Controleer de beschikbaarheidsstatus van beheerde identiteiten voor uw resource en eventuele bekende problemen voordat u begint.

In deze quickstart ziet u hoe u toegang krijgt tot de Azure Resource Manager-API met een virtuele Windows-machine waarop een door het systeem toegewezen beheerde identiteit is ingeschakeld. Beheerde identiteiten voor Azure-resources worden automatisch beheerd door Azure en stellen u in staat om te verifiëren bij services die Ondersteuning bieden voor Microsoft Entra-verificatie zonder referenties in uw code in te voegen. U leert het volgende:

  • Uw virtuele machine toegang verlenen tot een resourcegroep in Azure Resource Manager
  • Een toegangstoken ophalen met behulp van de identiteit van de virtuele machine en daarmee Azure Resource Manager aanroepen

Vereisten

Inschakelen

Het inschakelen van een door het systeem toegewezen beheerde identiteit gebeurt met één klik. U kunt deze inschakelen tijdens het maken van een VM of in de eigenschappen van een bestaande VM.

Screenshot shows the System assigned tab for a virtual machine where you can turn on the System assigned status.

Een door het systeem toegewezen beheerde identiteit inschakelen op een nieuwe VM:

  1. Meld u aan bij Azure Portal

  2. Een virtuele machine maken met door het systeem toegewezen identiteit ingeschakeld

Uw virtuele machine toegang verlenen tot een resourcegroep in Resource Manager

Tip

Stappen in dit artikel kunnen enigszins variëren op basis van de portal waaruit u begint.

Met behulp van beheerde identiteiten voor Azure-resources kan uw toepassing toegangstokens krijgen om te verifiëren bij resources die ondersteuning bieden voor Microsoft Entra-verificatie. De Azure Resource Manager-API ondersteunt Microsoft Entra-verificatie. We verlenen de identiteit van deze VM toegang tot een resource in Azure Resource Manager, in dit geval een resourcegroep. We wijzen de rol Lezer toe aan de beheerde identiteit binnen het bereik van de resourcegroep.

  1. Meld u aan bij Azure Portal met uw beheerdersaccount.
  2. Navigeer naar het tabblad Resourcegroepen.
  3. Selecteer de resourcegroep die u de beheerde identiteit van de VIRTUELE machine toegang wilt verlenen.
  4. Selecteer toegangsbeheer (IAM) in het linkerdeelvenster.
  5. Selecteer Toevoegen en selecteer vervolgens Roltoewijzing toevoegen.
  6. Selecteer Lezer op het tabblad Rol. Met deze rol kunt u alle resources weergeven, maar kunt u geen wijzigingen aanbrengen.
  7. Selecteer op het tabblad Leden , voor toegang toewijzen aan, beheerde identiteit. Selecteer vervolgens + Leden selecteren.
  8. Zorg ervoor dat het juiste abonnement wordt vermeld in de vervolgkeuzelijst Abonnement . Bij Resourcegroep selecteert u Alle resourcegroepen.
  9. Voor de vervolgkeuzelijst Identiteit beheren selecteert u Virtuele machine.
  10. Kies ten slotte uw virtuele Windows-machine in de vervolgkeuzelijst en selecteer Opslaan.

Een toegangstoken ophalen met behulp van de door het systeem toegewezen beheerde identiteit van de VM en dit gebruiken om er Azure Resource Manager mee aan te roepen

In dit gedeelte moet u PowerShell gebruiken. Als Powershell nog niet is geïnstalleerd, downloadt u het hier.

  1. Navigeer in de portal naar Virtuele machines en ga naar uw virtuele Windows-machine en selecteer in het overzicht Verbinding maken.

  2. Voer uw referenties (gebruikersnaam en wachtwoord) in die u hebt toegevoegd bij het maken van de virtuele Windows-machine.

  3. Nu u een Verbinding met extern bureaublad met de virtuele machine hebt gemaakt, opent u PowerShell in de externe sessie.

  4. Dien met behulp van de cmdlet Invoke-WebRequest een aanvraag in bij de lokaal beheerde identiteit om een toegangstoken voor Azure Resource Manager op te halen voor het Azure-resource-eindpunt.

       $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"}
    

    Notitie

    De waarde van de parameter resource moet exact overeenkomen met wat wordt verwacht door De Microsoft Entra-id. Wanneer u de resource-id van Azure Resource Manager gebruikt, moet u de URI opgeven met een slash op het einde.

    Extraheer vervolgens de volledige reactie, die is opgeslagen als een tekenreeks in JSON-indeling (JavaScript Object Notation) in het object $response.

    $content = $response.Content | ConvertFrom-Json
    

    Extraheer vervolgens het toegangstoken uit het antwoord.

    $ArmToken = $content.access_token
    

    Roep ten slotte Azure Resource Manager aan met behulp van het toegangstoken. In dit voorbeeld gebruiken we de cmdlet Invoke-WebRequest van PowerShell ook om Azure Resource Manager aan te roepen en het toegangstoken in de autorisatie-header op te nemen.

    (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
    

    Notitie

    De URL is hoofdlettergevoelig, dus gebruik precies dezelfde naam van de resourcegroep als hiervoor, met inbegrip van de hoofdletter 'G' in 'resourceGroups'.

    De volgende opdracht retourneert de gegevens van de resourcegroep:

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

Volgende stappen

In deze snelstart hebt u geleerd hoe u toegang krijgt tot de Azure Resource Manager-API met een door het systeem beheerde identiteit. Zie voor meer informatie over Azure Resource Manager: