Konfigurera hanterade identiteter för Azure-resurser på en virtuell Azure-dator 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 följande hanterade identiteter för Azure-resurser på en virtuell Azure-dator med hjälp av PowerShell.

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

Systemtilldelad hanterad identitet

I det här avsnittet går vi över hur du aktiverar och inaktiverar den systemtilldelade hanterade identiteten med hjälp av Azure PowerShell.

Aktivera systemtilldelad hanterad identitet när en virtuell Azure-dator skapas

Om du vill skapa en virtuell Azure-dator med den systemtilldelade hanterade identiteten aktiverad behöver ditt konto rolltilldelningen Virtuell datordeltagare . Inga andra microsoft Entra-katalogrolltilldelningar krävs.

  1. Se någon av följande snabbstarter för virtuella Azure-datorer och slutför endast de nödvändiga avsnitten ("Logga in på Azure", "Skapa resursgrupp", "Skapa nätverksgrupp", "Skapa den virtuella datorn").

    När du kommer till avsnittet "Skapa den virtuella datorn" gör du en liten ändring av cmdlet-syntaxen New-AzVMConfig . Se till att lägga till en -IdentityType SystemAssigned parameter för att etablera den virtuella datorn med den systemtilldelade identiteten aktiverad, till exempel:

    $vmConfig = New-AzVMConfig -VMName myVM -IdentityType SystemAssigned ...
    

Aktivera systemtilldelad hanterad identitet på en befintlig virtuell Azure-dator

För att aktivera systemtilldelad hanterad identitet på en virtuell dator som ursprungligen etablerades utan den, behöver ditt konto rolltilldelningen Virtuell datordeltagare . Inga andra microsoft Entra-katalogrolltilldelningar krävs.

  1. Hämta egenskaperna för den virtuella datorn med hjälp av cmdleten Get-AzVM . Om du sedan vill aktivera en systemtilldelad hanterad identitet använder du växeln -IdentityType på cmdleten Update-AzVM :

    $vm = Get-AzVM -ResourceGroupName myResourceGroup -Name myVM
    Update-AzVM -ResourceGroupName myResourceGroup -VM $vm -IdentityType SystemAssigned
    

Lägga till systemtilldelad identitet för virtuell dator i en grupp

När du har aktiverat systemtilldelad identitet på en virtuell dator kan du lägga till den i en grupp. Följande procedur lägger till en virtuell dators systemtilldelade identitet till en grupp.

  1. Hämta och notera ObjectID (enligt vad som anges i Id fältet för de returnerade värdena) för den virtuella datorns huvudnamn för tjänsten:

    Get-AzADServicePrincipal -displayname "myVM"
    
  2. Hämta och notera ObjectID (enligt vad som anges i Id fältet för de returnerade värdena) för gruppen:

    Get-AzADGroup -searchstring "myGroup"
    
  3. Lägg till den virtuella datorns tjänsthuvudnamn i gruppen:

    New-MgGroupMember -GroupId "<Id of group>" -DirectoryObjectId "<Id of VM service principal>" 
    

Inaktivera systemtilldelad hanterad identitet från en virtuell Azure-dator

Om du vill inaktivera systemtilldelad hanterad identitet på en virtuell dator behöver ditt konto rolltilldelningen Virtuell datordeltagare . Inga andra microsoft Entra-katalogrolltilldelningar krävs.

Om du har en virtuell dator 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. Hämta egenskaperna för den virtuella datorn med hjälp av cmdleten Get-AzVM och ange parametern -IdentityType till UserAssigned:

    $vm = Get-AzVM -ResourceGroupName myResourceGroup -Name myVM
    Update-AzVm -ResourceGroupName myResourceGroup -VM $vm -IdentityType "UserAssigned" -IdentityID "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/<RESROURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER ASSIGNED IDENTITY NAME>..."
    

Om du har en virtuell dator som inte längre behöver systemtilldelad hanterad identitet och den inte har några användartilldelade hanterade identiteter använder du följande kommandon:

$vm = Get-AzVM -ResourceGroupName myResourceGroup -Name myVM
Update-AzVm -ResourceGroupName myResourceGroup -VM $vm -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 virtuell dator med Hjälp av Azure PowerShell.

Tilldela en användartilldelad hanterad identitet till en virtuell dator när den skapas

För att tilldela en användartilldelad identitet till en virtuell dator behöver ditt konto rolltilldelningarna Virtuell datordeltagare och Hanterad identitetsoperator . Inga andra microsoft Entra-katalogrolltilldelningar krävs.

  1. Se någon av följande snabbstarter för virtuella Azure-datorer och slutför endast de nödvändiga avsnitten ("Logga in på Azure", "Skapa resursgrupp", "Skapa nätverksgrupp", "Skapa den virtuella datorn").

    När du kommer till avsnittet "Skapa den virtuella datorn" gör du en liten ändring av cmdlet-syntaxen New-AzVMConfig . Lägg till parametrarna -IdentityType UserAssigned och -IdentityID för att etablera den virtuella datorn med en användartilldelad identitet. Ersätt <VM NAME>,<SUBSCRIPTION ID>, <RESROURCE GROUP>och <USER ASSIGNED IDENTITY NAME> med dina egna värden. Till exempel:

    $vmConfig = New-AzVMConfig -VMName <VM NAME> -IdentityType UserAssigned -IdentityID "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/<RESROURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER ASSIGNED IDENTITY NAME>..."
    

Tilldela en användartilldelad hanterad identitet till en befintlig virtuell Azure-dator

För att tilldela en användartilldelad identitet till en virtuell dator behöver ditt konto rolltilldelningarna Virtuell datordeltagare och Hanterad identitetsoperator . Inga andra microsoft Entra-katalogrolltilldelningar krävs.

  1. Skapa en användartilldelad hanterad identitet med cmdleten New-AzUserAssignedIdentity . Id Observera i utdata eftersom du behöver den här informationen i nästa steg.

    Viktigt!

    Att skapa användartilldelade hanterade identiteter stöder endast alfanumeriska tecken, understreck och bindestreck (0–9 eller a-z eller A-Z, _ eller -). Dessutom bör namnet begränsas från 3 till 128 tecken för att tilldelningen till VM/VMSS ska fungera korrekt. Mer information finns i Vanliga frågor och svar och kända problem

    New-AzUserAssignedIdentity -ResourceGroupName <RESOURCEGROUP> -Name <USER ASSIGNED IDENTITY NAME>
    
  2. Hämta egenskaperna för den virtuella datorn med hjälp av cmdleten Get-AzVM . Om du sedan vill tilldela en användartilldelad hanterad identitet till den virtuella Azure-datorn använder -IdentityType du och -IdentityID växlar på cmdleten Update-AzVM . Värdet för parametern-IdentityId är det Id du antecknade i föregående steg. Ersätt <VM NAME>, <SUBSCRIPTION ID>, <RESROURCE GROUP>och <USER ASSIGNED IDENTITY NAME> med dina egna värden.

    Varning

    Om du vill behålla tidigare användartilldelade hanterade identiteter som tilldelats den virtuella datorn frågar Identity du egenskapen för VM-objektet (till exempel $vm.Identity). Om några användartilldelade hanterade identiteter returneras inkluderar du dem i följande kommando tillsammans med den nya användartilldelade hanterade identiteten som du vill tilldela den virtuella datorn.

    $vm = Get-AzVM -ResourceGroupName <RESOURCE GROUP> -Name <VM NAME>
    Update-AzVM -ResourceGroupName <RESOURCE GROUP> -VM $vm -IdentityType UserAssigned -IdentityID "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/<RESROURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER ASSIGNED IDENTITY NAME>"
    

Ta bort en användartilldelad hanterad identitet från en virtuell Azure-dator

Om du vill ta bort en användartilldelad identitet till en virtuell dator behöver ditt konto rolltilldelningen Virtuell datordeltagare .

Om den virtuella datorn 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 <VM NAME> med dina egna värden. <USER ASSIGNED IDENTITY NAME> är den användartilldelade hanterade identitetens namnegenskap, som ska finnas kvar på den virtuella datorn. Den här informationen kan identifieras med hjälp av en fråga för att söka efter egenskapen för Identity VM-objektet. Till exempel $vm.Identity:

$vm = Get-AzVm -ResourceGroupName myResourceGroup -Name myVm
Update-AzVm -ResourceGroupName myResourceGroup -VirtualMachine $vm -IdentityType UserAssigned -IdentityID <USER ASSIGNED IDENTITY NAME>

Om den virtuella datorn 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:

$vm = Get-AzVm -ResourceGroupName myResourceGroup -Name myVm
Update-AzVm -ResourceGroupName myResourceGroup -VM $vm -IdentityType None

Om den virtuella datorn 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 systemtilldelade hanterade identiteter.

$vm = Get-AzVm -ResourceGroupName myResourceGroup -Name myVm
Update-AzVm -ResourceGroupName myResourceGroup -VirtualMachine $vm -IdentityType "SystemAssigned"

Nästa steg