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

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 om te verifiëren bij elke service die ondersteuning biedt voor Microsoft Entra-verificatie, zonder referenties in uw code te hebben.

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

  • De door een systeem toegewezen beheerde identiteit op een Azure VM in- en uitschakelen
  • De door een gebruiker toegewezen beheerde identiteit op een Azure VM toevoegen en verwijderen

Als u nog geen Azure-account hebt, registreer u dan voor een gratis account voordat u verdergaat.

Vereisten

Door het systeem toegewezen beheerde identiteit

In deze sectie leert u hoe u de door het systeem toegewezen beheerde identiteit op een Azure VM in- en uitschakelt met behulp van Azure CLI.

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. Maak met az group create een resourcegroep voor insluiting en implementatie van uw VM en de bijbehorende bronnen. U kunt deze stap overslaan als u al een resourcegroep hebt die u in plaats daarvan wilt gebruiken:

    az group create --name myResourceGroup --location westus
    
  2. Maak een VM met az vm create. In het volgende voorbeeld wordt een VM met de naam myVM gemaakt met een door het systeem toegewezen beheerde identiteit, zoals is aangevraagd door de parameter --assign-identity, met de opgegeven --role en --scope. Met de parameters --admin-username en --admin-password worden de naam van de gebruiker met beheerdersrechten en het wachtwoord van het account voor aanmelding bij de virtuele machine opgegeven. Werk deze waarden bij met waarden die geschikt zijn voor uw omgeving:

    az vm create --resource-group myResourceGroup --name myVM --image win2016datacenter --generate-ssh-keys --assign-identity --role contributor --scope mySubscription --admin-username azureuser --admin-password myPassword12
    

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

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

  1. Als u de Azure CLI in een lokale console gebruikt, meldt u zich eerst aan bij Azure met az login. Gebruik een account die is gekoppeld aan het Azure-abonnement dat de virtuele machine bevat.

    az login
    
  2. Gebruik az vm identity assign met de opdracht identity assign om de door het systeem toegewezen identiteit in te schakelen voor een bestaande virtuele machine:

    az vm identity assign -g myResourceGroup -n myVm
    

Door het systeem toegewezen 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 opdracht als u een virtuele machine hebt die geen door het systeem toegewezen identiteit meer nodig heeft, maar die nog steeds door de gebruiker toegewezen identiteiten nodig heeft:

az vm update -n myVM -g myResourceGroup --set identity.type='UserAssigned' 

Gebruik de volgende opdracht als u een virtuele machine hebt die geen door het systeem toegewezen identiteit meer nodig heeft en geen door de gebruiker toegewezen identiteiten heeft:

Notitie

De waarde none is hoofdlettergevoelig. Deze moet uit kleine letters bestaan.

az vm update -n myVM -g myResourceGroup --set identity.type="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 Azure-machine met behulp van Azure CLI. Als u uw door de gebruiker toegewezen beheerde identiteit maakt in een andere RG dan uw virtuele machine. U moet de URL van uw beheerde identiteit gebruiken om deze aan uw virtuele machine toe te wijzen. Bijvoorbeeld:

--identities "/subscriptions/<SUBID>/resourcegroups/<RESROURCEGROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER_ASSIGNED_ID_NAME>"

Door de gebruiker toegewezen beheerde identiteit inschakelen tijdens het maken van een Azure VM

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

  1. U kunt deze stap overslaan als u al een resourcegroep hebt die u wilt gebruiken. Maak met az group create een resourcegroep voor insluiting en implementatie van uw door de gebruiker beheerde identiteit. Vervang de parameterwaarden <RESOURCE GROUP> en <LOCATION> door uw eigen waarden. :

    az group create --name <RESOURCE GROUP> --location <LOCATION>
    
  2. Maak een door de gebruiker toegewezen beheerde identiteit met az identity create. De parameter -g geeft de resourcegroep aan waarin de door de gebruiker toegewezen beheerde identiteit wordt gemaakt en de parameter -n geeft de naam ervan aan.

    Belangrijk

    Wanneer u aan gebruikers toegewezen beheerde identiteiten maakt, worden alleen alfanumerieke tekens (0-9, a-z, A-Z) en het afbreekstreepje (-) ondersteund. De toewijzing aan een virtuele machine of virtuele-machineschaalset verloopt goed als de naam wordt beperkt tot 24 tekens. Zie Veelgestelde vragen en bekende problemen voor meer informatie.

    az identity create -g myResourceGroup -n myUserAssignedIdentity
    

    Het antwoord bevat details voor de door de gebruiker toegewezen beheerde identiteit die is gemaakt, vergelijkbaar met de volgende. De waarde van de resource-id die is toegewezen aan de door de gebruiker toegewezen beheerde identiteit, wordt in de volgende stap gebruikt.

    {
        "clientId": "73444643-8088-4d70-9532-c3a0fdc190fz",
        "clientSecretUrl": "https://control-westcentralus.identity.azure.net/subscriptions/<SUBSCRIPTON ID>/resourcegroups/<RESOURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<myUserAssignedIdentity>/credentials?tid=5678&oid=9012&aid=73444643-8088-4d70-9532-c3a0fdc190fz",
        "id": "/subscriptions/<SUBSCRIPTON ID>/resourcegroups/<RESOURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER ASSIGNED IDENTITY NAME>",
        "location": "westcentralus",
        "name": "<USER ASSIGNED IDENTITY NAME>",
        "principalId": "e5fdfdc1-ed84-4d48-8551-fe9fb9dedfll",
        "resourceGroup": "<RESOURCE GROUP>",
        "tags": {},
        "tenantId": "733a8f0e-ec41-4e69-8ad8-971fc4b533bl",
        "type": "Microsoft.ManagedIdentity/userAssignedIdentities"    
    }
    
  3. Maak een VM met az vm create. In het volgende voorbeeld wordt een VM gemaakt die is gekoppeld aan de nieuwe door de gebruiker toegewezen identiteit, zoals aangegeven door de parameter --assign-identity, met de opgegeven --role en --scope. Vervang de parameterwaarden <RESOURCE GROUP>, <VM NAME>, <USER NAME>, <PASSWORD>, <USER ASSIGNED IDENTITY NAME>, <ROLE> en <SUBSCRIPTION> door uw eigen waarden.

    az vm create --resource-group <RESOURCE GROUP> --name <VM NAME> --image <SKU linux image>  --admin-username <USER NAME> --admin-password <PASSWORD> --assign-identity <USER ASSIGNED IDENTITY NAME> --role <ROLE> --scope <SUBSCRIPTION> 
    

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 identiteit met az identity create. De parameter -g geeft de resourcegroep aan waarin de door de gebruiker toegewezen identiteit wordt gemaakt en de parameter -n geeft de naam ervan aan. Vervang de parameterwaarden <RESOURCE GROUP> en <USER ASSIGNED IDENTITY NAME> door uw eigen waarden:

    Belangrijk

    Het is momenteel niet mogelijk om door de gebruiker toegewezen beheerde identiteiten te maken met speciale tekens (zoals een onderstrepingsteken) in de naam. Gebruik hiervoor alfanumerieke tekens. Controleer later op updates. Zie Veelgestelde vragen en bekende problemen voor meer informatie

    az identity create -g <RESOURCE GROUP> -n <USER ASSIGNED IDENTITY NAME>
    

    Het antwoord bevat details voor de door de gebruiker toegewezen beheerde identiteit die is gemaakt, vergelijkbaar met de volgende.

    {
      "clientId": "73444643-8088-4d70-9532-c3a0fdc190fz",
      "clientSecretUrl": "https://control-westcentralus.identity.azure.net/subscriptions/<SUBSCRIPTON ID>/resourcegroups/<RESOURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER ASSIGNED IDENTITY NAME>/credentials?tid=5678&oid=9012&aid=73444643-8088-4d70-9532-c3a0fdc190fz",
      "id": "/subscriptions/<SUBSCRIPTON ID>/resourcegroups/<RESOURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER ASSIGNED IDENTITY NAME>",
      "location": "westcentralus",
      "name": "<USER ASSIGNED IDENTITY NAME>",
      "principalId": "e5fdfdc1-ed84-4d48-8551-fe9fb9dedfll",
      "resourceGroup": "<RESOURCE GROUP>",
      "tags": {},
      "tenantId": "733a8f0e-ec41-4e69-8ad8-971fc4b533bl",
      "type": "Microsoft.ManagedIdentity/userAssignedIdentities"    
    }
    
  2. Wijs de door de gebruiker toegewezen identiteit toe aan de VM met az vm identity assign. Vervang de parameterwaarden <RESOURCE GROUP> en <VM NAME> door uw eigen waarden. De <USER ASSIGNED IDENTITY NAME> is de resource-eigenschap name van de door de gebruiker toegewezen beheerde identiteit, zoals deze in de vorige stap is gemaakt. Als u uw door de gebruiker toegewezen beheerde identiteit maakt in een andere RG dan uw virtuele machine. U moet de URL van uw beheerde identiteit gebruiken.

    az vm identity assign -g <RESOURCE GROUP> -n <VM NAME> --identities <USER ASSIGNED IDENTITY>
    

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 dit de enige door de gebruiker toegewezen beheerde identiteit is die is toegewezen aan de virtuele machine, wordt UserAssigned verwijderd uit de waarde voor het identiteitstype. Vervang de parameterwaarden <RESOURCE GROUP> en <VM NAME> door uw eigen waarden. De <USER ASSIGNED IDENTITY> wordt de eigenschap name van de door de gebruiker toegewezen identiteit, die u kunt vinden in de sectie identiteit van de virtuele machine met behulp van az vm identity show:

az vm identity remove -g <RESOURCE GROUP> -n <VM NAME> --identities <USER ASSIGNED IDENTITY>

Gebruik de volgende opdracht als uw virtuele machine geen door het systeem toegewezen beheerde identiteit heeft en u alle door de gebruiker toegewezen identiteiten wilt verwijderen:

Notitie

De waarde none is hoofdlettergevoelig. Deze moet uit kleine letters bestaan.

az vm update -n myVM -g myResourceGroup --set identity.type="none" identity.userAssignedIdentities=null

Als uw virtuele machine zowel door het systeem toegewezen als door de gebruiker toegewezen identiteiten bevat, kunt u alle door de gebruiker toegewezen identiteiten verwijderen door over te schakelen naar het gebruik van alleen door het systeem toegewezen identiteiten. Gebruik de volgende opdracht:

az vm update -n myVM -g myResourceGroup --set identity.type='SystemAssigned' identity.userAssignedIdentities=null 

Volgende stappen