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
- Als u niet bekend bent met beheerde identiteiten voor Azure-resources, raadpleegt u de sectie Overzicht. Let op dat u nagaat wat het verschil is tussen een door het systeem toegewezen en door de gebruiker toegewezen beheerde identiteit.
- Als u nog geen Azure-account hebt, registreer u dan voor een gratis account voordat u verdergaat.
- Als u de voorbeeldscripts wilt uitvoeren, hebt u twee opties:
- Gebruik de Azure Cloud Shell, die u kunt openen met behulp van de knop Probeer het nu in de rechterbovenhoek van codeblokken.
- Voer scripts lokaal uit door de nieuwste versie van Azure PowerShell te installeren en u vervolgens aan te melden bij Azure met
Connect-AzAccount
.
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.
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.
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.
Haal de
ObjectID
(zoals opgegeven in het veldId
van de geretourneerde waarden) van de service-principal van de VM op en noteer deze:Get-AzADServicePrincipal -displayname "myVM"
Haal de
ObjectID
(zoals opgegeven in het veldId
van de geretourneerde waarden) van de groep op en noteer deze:Get-AzADGroup -searchstring "myGroup"
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:
Haal de VM-eigenschappen op met behulp van de cmdlet
Get-AzVM
en stel de-IdentityType
-parameter in opUserAssigned
:$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.
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.
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>
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 deId
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
Zie voor de volledige quickstarts voor het maken van virtuele Azure-machines: