Beheerde identiteiten gebruiken voor Azure-resources op een Azure-VM voor aanmelding
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.
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.
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 de functie voor beheerde identiteiten voor Azure-resources, raadpleegt u dit overzicht. Als u geen Azure-account hebt, registreert u zich voor een gratis account voordat u verder gaat.
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
- Bij alle voorbeeldscripts in dit artikel wordt ervan uitgegaan dat de opdrachtregelclient wordt uitgevoerd op een VIRTUELE machine met beheerde identiteiten voor Azure-resources ingeschakeld. Gebruik de functie 'Verbinding maken' van de VIRTUELE machine in Azure Portal om extern verbinding te maken met uw virtuele machine. Zie Beheerde identiteiten voor Azure-resources configureren op een VM met behulp van de Azure Portal of een van de artikelen over andere varianten (met behulp van PowerShell, CLI, een sjabloon of een Azure SDK) voor meer informatie over het inschakelen van beheerde identiteiten voor Azure-resources op een VM.
- Om fouten tijdens toegang tot resources te voorkomen, moet de beheerde identiteit van de VIRTUELE machine ten minste lezertoegang krijgen tot het juiste bereik (de VM of hoger) om Azure Resource Manager-bewerkingen op de VM toe te staan. Zie Beheerde identiteiten toewijzen voor Azure-resources toegang tot een resource met behulp van Azure Portal voor meer informatie.
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 ook niet meer te doen, omdat deze zich kan aanmelden onder de beheerde identiteiten voor de service-principal van Azure-resources.
Azure-CLI
Het volgende script laat zien hoe u:
Meld u aan bij Microsoft Entra-id onder de beheerde identiteit van de VM voor de service-principal van Azure-resources
Roep Azure Resource Manager aan en haal de service-principal-id van de VM op. CLI zorgt ervoor dat token automatisch wordt opgehaald/gebruikt. 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:
Meld u aan bij Microsoft Entra-id onder de beheerde identiteit van de VM voor de service-principal van Azure-resources
Roep een Azure Resource Manager-cmdlet aan om informatie over de VIRTUELE machine op te halen. PowerShell zorgt ervoor dat het token automatisch voor u wordt gebruikt.
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 een token
http://localhost:50342/oauth2/token
niet ophalen met de fout HTTP Verbinding maken ionPool(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
- Als u beheerde identiteiten wilt inschakelen voor Azure-resources op een Azure-VM, raadpleegt u Beheerde identiteiten configureren voor Azure-resources op een Azure-VM met behulp van PowerShell of beheerde identiteiten configureren voor Azure-resources op een Azure-VM met behulp van Azure CLI