Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
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 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 VM in Azure Portal om extern verbinding te maken met uw virtuele machine. Zie Beheerde identiteiten configureren voor Azure-resources op een VIRTUELE machine met behulp van Azure Portal of een van de variantartikelen (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 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:
Meld u aan bij Microsoft Entra ID met de beheerde identiteit van de VM voor de serviceprincipal van Azure-resources.
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:
Meld u aan bij Microsoft Entra ID met de beheerde identiteit van de VM voor de serviceprincipal van Azure-resources.
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
- 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