Delen via


Beheerde identiteiten gebruiken voor Azure-resources op een Azure-VM voor aanmelding

Dit artikel bevat voorbeelden van PowerShell- en CLI-scripts voor aanmelding met beheerde identiteiten voor de service-principal van Azure-resources en richtlijnen voor belangrijke onderwerpen, zoals foutafhandeling.

Opmerking

We raden u aan om de Azure Az PowerShell-module te gebruiken om met Azure te communiceren. Zie Azure PowerShell installeren om aan de slag te gaan. Om te leren hoe u naar de Az PowerShell-module kunt migreren, zie Migrate Azure PowerShell from AzureRM to Az.

Vereiste voorwaarden

Als u van plan bent om de Azure PowerShell- of Azure CLI-voorbeelden in dit artikel te gebruiken, moet u de nieuwste versie van Azure PowerShell of Azure CLI installeren.

Belangrijk

Overzicht

Beheerde identiteiten voor Azure-resources bieden een service-principal-object dat wordt gemaakt bij het inschakelen van beheerde identiteiten voor Azure-resources op de VM. De service-principal kan toegang krijgen tot Azure-resources en worden gebruikt als een identiteit door script-/opdrachtregelclients voor aanmelding en toegang tot resources. Normaal gesproken moet een scriptclient het volgende doen om toegang te krijgen tot beveiligde resources onder een eigen identiteit:

  • worden geregistreerd en toestemming gegeven met Microsoft Entra ID als een vertrouwelijke/webclienttoepassing
  • meld u aan onder de service-principal met behulp van de referenties van de app (die waarschijnlijk zijn ingesloten in het script)

Met beheerde identiteiten voor Azure-resources hoeft uw scriptclient dit niet meer te doen, omdat deze zich kan aanmelden met de beheerde identiteiten voor de service-principal van Azure-resources.

Azure-opdrachtregelinterface (CLI)

Het volgende script laat zien hoe u:

  1. Meld u aan bij Microsoft Entra ID met de beheerde identiteit van de VM voor de serviceprincipal van Azure-resources.

  2. Roep Azure Resource Manager aan en haal de service-principal-id van de VM op. CLI zorgt er automatisch voor dat het beheer van het verkrijgen en gebruik van tokens voor je wordt afgehandeld. Zorg ervoor dat u de naam van de virtuele machine vervangt door <VM-NAME>.

    az login --identity
    
    $spID=$(az resource list -n <VM-NAME> --query [*].identity.principalId --out tsv)
    echo The managed identity for Azure resources service principal ID is $spID
    

Azure PowerShell

Het volgende script laat zien hoe u:

  1. Meld u aan bij Microsoft Entra ID met de beheerde identiteit van de VM voor de serviceprincipal van Azure-resources.

  2. Roep een Azure Resource Manager-cmdlet aan om informatie over de VIRTUELE machine op te halen. PowerShell zorgt er automatisch voor dat het gebruik van tokens voor u wordt beheerd.

    Add-AzAccount -identity
    
    # Call Azure Resource Manager to get the service principal ID for the VM's managed identity for Azure resources. 
    $vmInfoPs = Get-AzVM -ResourceGroupName <RESOURCE-GROUP> -Name <VM-NAME>
    $spID = $vmInfoPs.Identity.PrincipalId
    echo "The managed identity for Azure resources service principal ID is $spID"
    

Resource-id's voor Azure-services

Zie Azure-services die Ondersteuning bieden voor Microsoft Entra-verificatie voor een lijst met resources die Ondersteuning bieden voor Microsoft Entra-id en zijn getest met beheerde identiteiten voor Azure-resources en hun respectieve resource-id's.

Richtlijnen voor foutafhandeling

Antwoorden zoals het volgende kunnen erop wijzen dat de beheerde identiteit van de VIRTUELE machine voor Azure-resources niet juist is geconfigureerd:

  • PowerShell: Invoke-WebRequest: kan geen verbinding maken met de externe server
  • CLI: MSI: Kan de token http://localhost:50342/oauth2/token niet ophalen met als fout 'HTTPConnectionPool(host='localhost', port=50342)

Als u een van deze fouten ontvangt, gaat u terug naar de Azure-VM in Azure Portal en gaat u naar de pagina Identiteit en controleert u of het toegewezen systeem is ingesteld op Ja.

Volgende stappen