Konfigurera hanterade identiteter för Azure-resurser på vm-skalningsuppsättningar med powershell

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.

Hanterade identiteter för Azure-resurser ger Azure-tjänster en automatiskt hanterad identitet i Microsoft Entra ID. Du kan använda den här identiteten för att autentisera mot alla tjänster som har stöd för Microsoft Entra-autentisering, utan att behöva ha några autentiseringsuppgifter i koden.

I den här artikeln får du lära dig hur du utför hanterade identiteter för Azure-resurser på en vm-skalningsuppsättning med hjälp av PowerShell:

  • Aktivera och inaktivera den systemtilldelade hanterade identiteten på en VM-skalningsuppsättning
  • Lägga till och ta bort en användartilldelad hanterad identitet på en VM-skalningsuppsättning

Kommentar

Vi rekommenderar att du använder Azure Az PowerShell-modulen för att interagera med Azure. Se Installera Azure PowerShell för att komma igång. Information om hur du migrerar till Az PowerShell-modulen finns i artikeln om att migrera Azure PowerShell från AzureRM till Az.

Förutsättningar

  • Om du inte känner till hanterade identiteter för Azure-resurser kan du läsa översiktsavsnittet. Se till att granska skillnaden mellan en systemtilldelad och användarhanterad tilldelad identitet.

  • Om du inte redan har ett Azure-konto registrerar du dig för ett kostnadsfritt konto innan du fortsätter.

  • För att kunna utföra hanteringsåtgärderna i den här artikeln behöver ditt konto följande rollbaserade åtkomstkontrolltilldelningar i Azure:

    Kommentar

    Inga ytterligare rolltilldelningar för Microsoft Entra-katalog krävs.

  • Om du vill köra exempelskripten har du två alternativ:

    • Använd Azure Cloud Shell, som du kan öppna med hjälp av knappen Prova i det övre högra hörnet av kodblock.
    • Kör skript lokalt genom att installera den senaste versionen av Azure PowerShell och logga sedan in på Azure med .Connect-AzAccount

Systemtilldelad hanterad identitet

I det här avsnittet får du lära dig hur du aktiverar och tar bort en systemtilldelad hanterad identitet med hjälp av Azure PowerShell.

Aktivera systemtilldelad hanterad identitet när en skalningsuppsättning för virtuella Azure-datorer skapas

Så här skapar du en VM-skalningsuppsättning med den systemtilldelade hanterade identiteten aktiverad:

  1. Se exempel 1 i cmdlet-referensartikeln New-AzVmssConfig för att skapa en VM-skalningsuppsättning med en systemtilldelad hanterad identitet. Lägg till parametern -IdentityType SystemAssigned i cmdleten New-AzVmssConfig :

    $VMSS = New-AzVmssConfig -Location $Loc -SkuCapacity 2 -SkuName "Standard_A0" -UpgradePolicyMode "Automatic" -NetworkInterfaceConfiguration $NetCfg -IdentityType SystemAssigned`
    

Aktivera systemtilldelad hanterad identitet på en befintlig skalningsuppsättning för virtuella Azure-datorer

Om du behöver aktivera en systemtilldelad hanterad identitet på en befintlig skalningsuppsättning för virtuella Azure-datorer:

  1. Kontrollera att Det Azure-konto som du använder tillhör en roll som ger dig skrivbehörighet för vm-skalningsuppsättningen, till exempel "Virtual Machine Contributor".

  2. Hämta egenskaperna för vm-skalningsuppsättningen med hjälp av cmdleten Get-AzVmss . Om du sedan vill aktivera en systemtilldelad hanterad identitet använder du växeln -IdentityType på cmdleten Update-AzVmss :

    Update-AzVmss -ResourceGroupName myResourceGroup -Name -myVmss -IdentityType "SystemAssigned"
    

Inaktivera den systemtilldelade hanterade identiteten från en skalningsuppsättning för virtuella Azure-datorer

Om du har en VM-skalningsuppsättning som inte längre behöver den systemtilldelade hanterade identiteten men fortfarande behöver användartilldelade hanterade identiteter använder du följande cmdlet:

  1. Kontrollera att ditt konto tillhör en roll som ger dig skrivbehörighet för vm-skalningsuppsättningen, till exempel "Virtuell datordeltagare".

  2. Kör följande cmdlet:

    Update-AzVmss -ResourceGroupName myResourceGroup -Name myVmss -IdentityType "UserAssigned"
    
  3. Om du har en VM-skalningsuppsättning som inte längre behöver systemtilldelad hanterad identitet och den inte har några användartilldelade hanterade identiteter använder du följande kommando:

    Update-AzVmss -ResourceGroupName myResourceGroup -Name myVmss -IdentityType None
    

Användartilldelad hanterad identitet

I det här avsnittet får du lära dig hur du lägger till och tar bort en användartilldelad hanterad identitet från en VM-skalningsuppsättning med Hjälp av Azure PowerShell.

Tilldela en användartilldelad hanterad identitet när du skapar en skalningsuppsättning för virtuella Azure-datorer

Det går för närvarande inte att skapa en ny VM-skalningsuppsättning med en användartilldelad hanterad identitet via PowerShell. Se nästa avsnitt om hur du lägger till en användartilldelad hanterad identitet i en befintlig VM-skalningsuppsättning. Kom tillbaka om för att få uppdateringar.

Tilldela en användartilldelad hanterad identitet till en befintlig skalningsuppsättning för virtuella Azure-datorer

Så här tilldelar du en användartilldelad hanterad identitet till en befintlig skalningsuppsättning för virtuella Azure-datorer:

  1. Kontrollera att ditt konto tillhör en roll som ger dig skrivbehörighet för vm-skalningsuppsättningen, till exempel "Virtuell datordeltagare".

  2. Hämta egenskaperna för vm-skalningsuppsättningen med hjälp av cmdleten Get-AzVM . Om du sedan vill tilldela en användartilldelad hanterad identitet till vm-skalningsuppsättningen använder du cmdleten -IdentityType och -IdentityID på cmdleten Update-AzVmss . Ersätt <VM NAME>, <SUBSCRIPTION ID>, <RESROURCE GROUP>, <USER ASSIGNED ID1>, USER ASSIGNED ID2 med dina egna värden.

    Viktigt!

    När du skapar användartilldelade hanterade identiteter måste namnet börja med en bokstav eller siffra och kan innehålla en kombination av alfanumeriska tecken, bindestreck (-) och understreck (_). För att tilldelningen till en virtuell dator eller vm-skalningsuppsättning ska fungera korrekt är namnet begränsat till 24 tecken. Mer information finns i Vanliga frågor och kända problem.

    Update-AzVmss -ResourceGroupName <RESOURCE GROUP> -Name <VMSS NAME> -IdentityType UserAssigned -IdentityID "<USER ASSIGNED ID1>","<USER ASSIGNED ID2>"
    

Ta bort en användartilldelad hanterad identitet från en skalningsuppsättning för virtuella Azure-datorer

Om vm-skalningsuppsättningen har flera användartilldelade hanterade identiteter kan du ta bort alla utom den sista med hjälp av följande kommandon. Ersätt parametervärdena <RESOURCE GROUP> och <VIRTUAL MACHINE SCALE SET NAME> med dina egna värden. <USER ASSIGNED IDENTITY NAME> är den användartilldelade hanterade identitetens namnegenskap, som ska finnas kvar på vm-skalningsuppsättningen. Den här informationen finns i identitetsavsnittet i vm-skalningsuppsättningen med hjälp av az vmss show:

Update-AzVmss -ResourceGroupName myResourceGroup -Name myVmss -IdentityType UserAssigned -IdentityID "<USER ASSIGNED IDENTITY NAME>"

Om vm-skalningsuppsättningen inte har någon systemtilldelad hanterad identitet och du vill ta bort alla användartilldelade hanterade identiteter från den använder du följande kommando:

Update-AzVmss -ResourceGroupName myResourceGroup -Name myVmss -IdentityType None

Om vm-skalningsuppsättningen har både systemtilldelade och användartilldelade hanterade identiteter kan du ta bort alla användartilldelade hanterade identiteter genom att växla till att endast använda systemtilldelad hanterad identitet.

Update-AzVmss -ResourceGroupName myResourceGroup -Name myVmss -IdentityType "SystemAssigned"

Nästa steg