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
- Grundläggande förståelse för hanterade identiteter. Om du inte känner till funktionen för hanterade identiteter för Azure-resurser kan du läsa igenom den här översikten.
- Ett Azure-konto, registrera dig för ett kostnadsfritt konto.
- "Ägarbehörigheter" i lämpligt omfång (din prenumeration eller resursgrupp) för att utföra nödvändiga steg för resursskapande och rollhantering. Om du behöver hjälp med rolltilldelning kan du läsa Tilldela Azure-roller för att hantera åtkomst till dina Azure-prenumerationsresurser.
- Du behöver också en virtuell Windows-dator som har systemtilldelade hanterade identiteter aktiverade.
- Om du behöver skapa en virtuell dator för den här självstudien kan du följa artikeln Skapa en virtuell dator med systemtilldelad identitet aktiverad
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.
Så här aktiverar du en systemtilldelad hanterad identitet på en ny virtuell dator:
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.
- Logga in på Azure-portalen med ditt administratörskonto.
- Gå till fliken för resursgrupper.
- Välj den resursgrupp som du vill bevilja den virtuella datorns hanterade identitetsåtkomst.
- Välj Åtkomstkontroll (IAM) i den vänstra panelen.
- Välj Lägg till och sedan Lägg till rolltilldelning.
- 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.
- På fliken Medlemmar går du till Tilldela åtkomst till och väljer Hanterad identitet. Välj sedan + Välj medlemmar.
- Kontrollera att rätt prenumeration visas i listrutan Prenumeration . Och för Resursgrupp väljer du Alla resursgrupper.
- I listrutan Hantera identitet väljer du Virtuell dator.
- 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.
I portalen går du till Virtuella datorer och går till din virtuella Windows-dator och i Översikt väljer du Anslut.
Ange ditt användarnamn och lösenord som du lade till när du skapade den virtuella Windows-datorn.
Nu när du har skapat en Anslut ion för fjärrskrivbord med den virtuella datorn öppnar du PowerShell i fjärrsessionen.
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: