Använda en systemtilldelad hanterad identitet för en virtuell Windows-dator för åtkomst till Resource Manager

Hanterade identiteter för Azure-resurser är en funktion i Microsoft Entra-ID. Alla Azure-tjänster som stöder hanterade identiteter för Azure-resurser har sin egen tidslinje. Var noga med att kontrollera tillgänglighetsstatus för hanterade identiteter för din resurs och kända problem innan du börjar.

Den här självstudien visar hur du får åtkomst till Azure Resource Manager-API:et med hjälp av en virtuell Windows-dator med systemtilldelad hanterad identitet aktiverad. Hanterade identiteter för Azure-resurser hanteras automatiskt av Azure och gör att du kan autentisera till tjänster som stöder Microsoft Entra-autentisering utan att behöva infoga autentiseringsuppgifter i koden. Du lär dig att:

  • Ge den virtuella datorn åtkomst till en resursgrupp i Azure Resource Manager
  • Hämta en åtkomsttoken med hjälp av den virtuella datorns identitet och använd den för att anropa Azure Resource Manager

Förutsättningar

Aktivera

Att aktivera en systemtilldelad hanterad identitet är en upplevelse med ett klick. Du kan antingen aktivera den när en virtuell dator skapas eller i egenskaperna för en befintlig virtuell dator.

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

Så här aktiverar du en systemtilldelad hanterad identitet på en ny virtuell dator:

  1. Logga in på Azure-portalen

  2. Skapa en virtuell dator med systemtilldelad identitet aktiverat

Ge den virtuella datorn åtkomst till en resursgrupp i Resource Manager

Dricks

Stegen i den här artikeln kan variera något beroende på vilken portal du börjar från.

Med hjälp av hanterade identiteter för Azure-resurser kan ditt program få åtkomsttoken för att autentisera mot resurser som stöder Microsoft Entra-autentisering. Azure Resource Manager-API:et stöder Microsoft Entra-autentisering. Vi beviljar den här virtuella datorns identitet åtkomst till en resurs i Azure Resource Manager, i det här fallet en resursgrupp. Vi tilldelar rollen Läsare till den hanterade identiteten i resursgruppens omfång.

  1. Logga in på Azure-portalen med ditt administratörskonto.
  2. Gå till fliken för resursgrupper.
  3. Välj den resursgrupp som du vill bevilja den virtuella datorns hanterade identitetsåtkomst.
  4. Välj Åtkomstkontroll (IAM) i den vänstra panelen.
  5. Välj Lägg till och sedan Lägg till rolltilldelning.
  6. På fliken Roll väljer du Läsare. Med den här rollen kan du visa alla resurser, men du kan inte göra några ändringar.
  7. På fliken Medlemmar går du till Tilldela åtkomst till och väljer Hanterad identitet. Välj sedan + Välj medlemmar.
  8. Kontrollera att rätt prenumeration visas i listrutan Prenumeration . Och för Resursgrupp väljer du Alla resursgrupper.
  9. I listrutan Hantera identitet väljer du Virtuell dator.
  10. I Välj väljer du slutligen din virtuella Windows-dator i listrutan och väljer Spara.

Hämta en åtkomsttoken med hjälp av den virtuella datorns systemtilldelade hanterade identitet och använd den för att anropa Azure Resource Manager

Du måste använda PowerShell i den här delen. Om du inte har installerat PowerShell kan du hämta det här.

  1. I portalen går du till Virtuella datorer och går till din virtuella Windows-dator och i Översikt väljer du Anslut.

  2. Ange ditt användarnamn och lösenord som du lade till när du skapade den virtuella Windows-datorn.

  3. Nu när du har skapat en Anslut ion för fjärrskrivbord med den virtuella datorn öppnar du PowerShell i fjärrsessionen.

  4. Använd cmdleten Invoke-WebRequest och skicka en begäran till den lokala slutpunkten för hanterad identitet för Azure-resurser för att hämta en åtkomsttoken för 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"}
    

    Kommentar

    Värdet för parametern "resurs" måste vara en exakt matchning för vad som förväntas av Microsoft Entra-ID. När du använder Azure Resource Manager-resurs-ID:t måste du ta med det avslutande snedstrecket i URI:n.

    Extrahera sedan hela svaret som lagras som en JSON-formaterad sträng (JavaScript Object Notation) i $response-objektet.

    $content = $response.Content | ConvertFrom-Json
    

    Extrahera sedan åtkomsttoken från svaret.

    $ArmToken = $content.access_token
    

    Anropa slutligen Azure Resource Manager med din åtkomsttoken. I det här exemplet använder vi även cmdleten Invoke-WebRequest för att göra anropet till Azure Resource Manager och lägga till vår åtkomsttoken i auktoriseringshuvudet.

    (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
    

    Kommentar

    Eftersom URL:en är skiftlägeskänslig måste du använda exakt samma skiftläge som du använde tidigare när du namngav resursgruppen, samt versalt ”G” i ”resourceGroups”.

    Följande kommando returnerar information om resursgruppen:

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

Nästa steg

I den här snabbstarten har du lärt dig hur du använder en systemtilldelad hanterad identitet för att få åtkomst till Azure Resource Manager-API:et. Mer information om Azure Resource Manager finns här: