Beheerde identiteiten voor Azure-resources op een virtuele Azure-machine configureren met behulp van PowerShell

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.

Beheerde identiteiten voor Azure-resources bieden Azure-services met een automatisch beheerde identiteit in Microsoft Entra ID. U kunt deze identiteit gebruiken voor verificatie bij alle services die Microsoft Entra-verificatie ondersteunen, zonder dat u aanmeldingsgegevens in uw code hoeft te hebben.

In dit artikel leert u om met behulp van PowerShell de volgende beheerde identiteiten uit te voeren voor bewerkingen van Azure-resources op een virtuele Azure-machine.

Notitie

Het wordt aanbevolen de Azure Az PowerShell-module te gebruiken om te communiceren met Azure. Zie Azure PowerShell installeren om aan de slag te gaan. Raadpleeg Azure PowerShell migreren van AzureRM naar Az om te leren hoe u naar de Azure PowerShell-module migreert.

Vereisten

Door het systeem toegewezen beheerde identiteit

In deze sectie gaan we verder met het in- en uitschakelen van de door het systeem toegewezen beheerde identiteit met behulp van Azure PowerShell.

Door het systeem toegewezen beheerde identiteit inschakelen tijdens het maken van een Azure-VM

Als u een Azure-VM wilt maken met de door het systeem toegewezen beheerde identiteit, moet uw account beschikken over de roltoewijzing Inzender voor virtuele machines. Er zijn geen andere roltoewijzingen voor Microsoft Entra-mappen vereist.

  1. Raadpleeg een van de volgende snelstartgidsen voor virtuele Azure-machines en doorloop alleen de benodigde secties ('Aanmelden bij Azure', 'Resourcegroep maken', 'Netwerkgroep maken', 'De virtuele machine maken').

    Maak in de sectie 'De virtuele machine maken' een kleine wijziging in de syntaxis van de New-AzVMConfig-cmdlet. Zorg ervoor dat u een -IdentityType SystemAssigned-parameter toevoegt om de virtuele machine in te richten met de door het systeem toegewezen identiteit, bijvoorbeeld:

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

Door het systeem toegewezen beheerde identiteit inschakelen op een bestaande virtuele Azure-machine

Als u een door het systeem toegewezen beheerde identiteit wilt inschakelen op een VM die oorspronkelijk zonder deze identiteit werd ingericht, heeft uw account de roltoewijzing Inzender van de virtuele machine nodig. Er zijn geen andere roltoewijzingen voor Microsoft Entra-mappen vereist.

  1. Haal de VM-eigenschappen op met behulp van de cmdlet Get-AzVM. Gebruik vervolgens de schakeloptie -IdentityType in de Update-AzVM-cmdlet om een door het systeem toegewezen beheerde identiteit in te schakelen:

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

Een door het VM-systeem toegewezen identiteit toewijzen aan een groep

Nadat u een door het systeem toegewezen identiteit op een virtuele machine hebt ingeschakeld, kunt u deze toevoegen aan een groep. Met de volgende procedure voegt u de door het VM-systeem toegewezen identiteit toe aan een groep.

  1. Haal de ObjectID (zoals opgegeven in het veld Id van de geretourneerde waarden) van de service-principal van de VM op en noteer deze:

    Get-AzADServicePrincipal -displayname "myVM"
    
  2. Haal de ObjectID (zoals opgegeven in het veld Id van de geretourneerde waarden) van de groep op en noteer deze:

    Get-AzADGroup -searchstring "myGroup"
    
  3. De service-principal van de virtuele machine toevoegen aan de groep:

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

Door het systeem toegewezen beheerde identiteit van een Azure-VM uitschakelen

Als u de door het systeem toegewezen beheerde identiteit op een VM wilt uitschakelen, moet uw account beschikken over de roltoewijzing Inzender voor virtuele machines. Er zijn geen andere roltoewijzingen voor Microsoft Entra-mappen vereist.

Gebruik de volgende cmdlet als u een virtuele machine hebt die de door het systeem toegewezen beheerde identiteit niet meer nodig heeft, maar de door de gebruiker toegewezen beheerde identiteiten nog steeds nodig hebt:

  1. Haal de VM-eigenschappen op met behulp van de cmdlet Get-AzVM en stel de -IdentityType-parameter in op 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>..."
    

Gebruik de volgende opdrachten als u een virtuele machine hebt die de door het systeem toegewezen beheerde identiteit niet meer nodig heeft en er geen door de gebruiker toegewezen beheerde identiteiten zijn:

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

Door de gebruiker toegewezen beheerde identiteit

In deze sectie leert u hoe u een door een gebruiker toegewezen beheerde identiteit kunt toevoegen aan/verwijderen van een virtuele machine met behulp van Azure PowerShell.

Een door de gebruiker toegewezen beheerde identiteit toewijzen aan een virtuele machine tijdens het maken ervan

Als u een door een gebruiker toegewezen identiteit wilt toewijzen aan een VM, moet uw account beschikken over de roltoewijzingen Inzender van de virtuele machine en Operator van de beheerde identiteit. Er zijn geen andere roltoewijzingen voor Microsoft Entra-mappen vereist.

  1. Raadpleeg een van de volgende snelstartgidsen voor virtuele Azure-machines en doorloop alleen de benodigde secties ('Aanmelden bij Azure', 'Resourcegroep maken', 'Netwerkgroep maken', 'De virtuele machine maken').

    Maak in de sectie 'De virtuele machine maken' een kleine wijziging in de syntaxis van de New-AzVMConfig-cmdlet. Voeg de parameters -IdentityType UserAssigned en -IdentityID toe om de virtuele machine in te richten met een door de gebruiker toegewezen identiteit. Vervang <VM NAME>, <SUBSCRIPTION ID>, <RESROURCE GROUP> en <USER ASSIGNED IDENTITY NAME> door uw eigen waarden. Bijvoorbeeld:

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

Een door de gebruiker toegewezen beheerde identiteit toewijzen aan een bestaande VM van Azure

Als u een door een gebruiker toegewezen identiteit wilt toewijzen aan een VM, moet uw account beschikken over de roltoewijzingen Inzender van de virtuele machine en Operator van de beheerde identiteit. Er zijn geen andere roltoewijzingen voor Microsoft Entra-mappen vereist.

  1. Maak een door de gebruiker toegewezen beheerde identiteit met de cmdlet New-AzUserAssignedIdentity. Noteer de Id in de uitvoer omdat u deze informatie nodig hebt in de volgende stap.

    Belangrijk

    Het maken van door de gebruiker toegewezen beheerde identiteiten ondersteunt alleen alfanumerieke, onderstrepingstekens en afbreekstreepjes (0-9 of a-z of A-Z, _ of -) tekens. Voor een correcte toewijzing aan VM/VMSS mag de naam bovendien uit 3 tot 128 tekens bestaan. Zie Veelgestelde vragen en bekende problemen voor meer informatie

    New-AzUserAssignedIdentity -ResourceGroupName <RESOURCEGROUP> -Name <USER ASSIGNED IDENTITY NAME>
    
  2. Haal de VM-eigenschappen op met behulp van de cmdlet Get-AzVM. Wijs vervolgens een door de gebruiker toegewezen beheerde identiteit toe aan de virtuele Azure-machine, gebruik u de schakeloptie -IdentityType en -IdentityID in de cmdlet Update-AzVM. De waarde voor de parameter -IdentityId is de Id die u in de vorige stap hebt genoteerd. Vervang <VM NAME>, <SUBSCRIPTION ID>, <RESROURCE GROUP> en <USER ASSIGNED IDENTITY NAME> door uw eigen waarden.

    Waarschuwing

    Als u eerder door de gebruiker toegewezen beheerde identiteiten die aan de virtuele machine zijn toegewezen wilt behouden, moet u een query uitvoeren op de eigenschap Identity van het VM-object (bijvoorbeeld $vm.Identity). Als door de gebruiker toegewezen beheerde identiteiten worden geretourneerd, neemt u deze op in de volgende opdracht, samen met de nieuwe door de gebruiker toegewezen beheerde identiteit die u aan de virtuele machine wilt toewijzen.

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

De door de gebruiker toegewezen beheerde identiteit van een Azure VM verwijderen

Als u de door de gebruiker toegewezen identiteit van een VM wilt verwijderen, moet uw account beschikken over de roltoewijzing Inzender voor virtuele machine.

Als uw VM meerdere door de gebruiker toegewezen beheerde identiteiten heeft, kunt u alle, behalve de laatste, verwijderen met de volgende opdrachten. Vervang de parameterwaarden <RESOURCE GROUP> en <VM NAME> door uw eigen waarden. De <USER ASSIGNED IDENTITY NAME> is de naameigenschap van de door de gebruiker toegewezen beheerde identiteit; deze moet op de virtuele machine blijven. Deze informatie kan worden gedetecteerd met behulp van een query om te zoeken naar de Identity eigenschap van het VM-object. Bijvoorbeeld $vm.Identity:

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

Als uw VM geen door het systeem toegewezen beheerde identiteit heeft en u alle door de gebruiker toegewezen beheerde identiteiten wilt verwijderen, gebruikt u de volgende opdracht:

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

Als uw virtuele machine zowel door het systeem toegewezen als door de gebruiker toegewezen beheerde identiteiten bevat, kunt u alle door de gebruiker toegewezen beheerde identiteiten verwijderen door te schakelen naar het gebruik van alleen door het systeem toegewezen beheerde identiteit.

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

Volgende stappen