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.
Beheerde identiteiten voor Azure-resources bieden Azure-services een identiteit in Microsoft Entra-id. Ze werken zonder referenties in uw code nodig te hebben. Azure-services gebruiken deze identiteit om te verifiëren bij services die ondersteuning bieden voor Microsoft Entra-verificatie. Toepassingsrollen bieden een vorm van op rollen gebaseerd toegangsbeheer en stellen een service in staat autorisatieregels te implementeren.
Opmerking
De tokens die uw toepassing ontvangt, worden in de cache opgeslagen door de onderliggende infrastructuur. Dit betekent dat het veel tijd kost om wijzigingen in de rollen van de beheerde identiteit te verwerken. Zie Beperking van het gebruik van beheerde identiteiten voor autorisatie voor meer informatie.
In dit artikel leert u hoe u een beheerde identiteit toewijst aan een toepassingsrol die wordt weergegeven door een andere toepassing met behulp van de Microsoft Graph PowerShell SDK of Azure CLI.
Vereiste voorwaarden
- Als u niet bekend bent met beheerde identiteiten voor Azure-resources, raadpleegt u het overzicht van beheerde identiteiten voor Azure-resources.
 - Bekijk het verschil tussen een door het systeem toegewezen en door de gebruiker toegewezen beheerde identiteit.
 - Als u nog geen Azure-account hebt, meldt u zich aan voor een gratis account voordat u doorgaat.
 
Een beheerde identiteit toegang toewijzen aan de app-rol van een andere toepassing met behulp van CLI
Gebruik de Bash-omgeving in Azure Cloud Shell. Zie Aan de slag met Azure Cloud Shell voor meer informatie.
Als je de voorkeur geeft aan het lokaal uitvoeren van CLI-referentiecommando's, installeer dan de Azure CLI. Als je op Windows of macOS werkt, overweeg dan om Azure CLI in een Docker-container uit te voeren. Voor meer informatie, zie Hoe u de Azure CLI in een Docker-container kunt uitvoeren.
Als u een lokale installatie gebruikt, meldt u zich aan bij Azure CLI met de opdracht az login. Om het authenticatieproces te voltooien, volgt u de stappen die op uw terminal worden weergegeven. Zie Verifiëren bij Azure met behulp van Azure CLI voor andere aanmeldingsopties.
Wanneer u daarom wordt gevraagd, installeer de Azure CLI-extensie bij het eerste gebruik. Zie Extensies gebruiken en beheren met de Azure CLIvoor meer informatie over extensies.
Voer az version uit om de geïnstalleerde versie en de afhankelijke bibliotheken te vinden. Voer az upgrade uit om naar de nieuwste versie te upgraden.
Beheerde identiteit inschakelen voor een Azure-resource, zoals een virtuele Azure-machine.
Zoek de object-ID van de service-principal van de beheerde identiteit.
Voor een door het systeem toegewezen beheerde identiteit vindt u de object-id in Azure Portal op de pagina Identiteit van de resource. U kunt ook het volgende script gebruiken om de object-id te vinden. U hebt de resource-id nodig van de resource die u in de vorige stap hebt gemaakt. Deze is beschikbaar in Azure Portal op de pagina Eigenschappen van de resource.
resourceIdWithManagedIdentity="/subscriptions/{my subscription ID}/resourceGroups/{my resource group name}/providers/Microsoft.Compute/virtualMachines/{my virtual machine name}" oidForMI=$(az resource show --ids $resourceIdWithManagedIdentity --query "identity.principalId" -o tsv | tr -d '[:space:]') echo "object id for managed identity is: $oidForMI"Voor een door de gebruiker toegewezen beheerde identiteit vindt u de object-id van de beheerde identiteit in Azure Portal op de overzichtspagina van de resource. U kunt ook het volgende script gebruiken om de object-id te vinden. U hebt de resource-id van de door de gebruiker toegewezen beheerde identiteit nodig.
userManagedIdentityResourceId="/subscriptions/{my subscription ID}/resourceGroups/{my resource group name}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{my managed identity name}" oidForMI=$(az resource show --id $userManagedIdentityResourceId --query "properties.principalId" -o tsv | tr -d '[:space:]') echo "object id for managed identity is: $oidForMI"
Maak een nieuwe toepassingsregistratie om de service weer te geven waarnaar uw beheerde identiteit een aanvraag verzendt.
- Als de API of service die de app-rol beschikbaar maakt voor de beheerde identiteit al een service-principal in uw Microsoft Entra-tenant heeft, slaat u deze stap over.
 
Zoek de object-id van de service-principal van de serviceapplicatie. U vindt dit via het Microsoft Entra-beheercentrum.
Meld u aan bij het Microsoft Entra-beheercentrum.
Selecteer Entra ID>Enterprise-apps in het linker navigatiemenu. Zoek vervolgens de toepassing en zoek naar de object-id.
U kunt de object-id van de service-principal ook vinden op basis van de weergavenaam met behulp van het volgende script:
appName="{name for your application}" serverSPOID=$(az ad sp list --filter "displayName eq '$appName'" --query '[0].id' -o tsv | tr -d '[:space:]') echo "object id for server service principal is: $serverSPOID"Opmerking
Controleer of u de service-principal van de juiste applicatie ophaalt, aangezien weergavenamen voor applicaties niet uniek zijn.
U kunt de object-id ook vinden op basis van de unieke toepassings-id voor uw toepassingsregistratie:
appID="{application id for your application}" serverSPOID=$(az ad sp list --filter "appId eq '$appID'" --query '[0].id' -o tsv | tr -d '[:space:]') echo "object id for server service principal is: $serverSPOID"
Voeg een app-rol toe aan de toepassing die u in de vorige stap hebt gemaakt. U kunt de rol maken met behulp van Azure Portal of Microsoft Graph. U kunt bijvoorbeeld een app-rol als volgt toevoegen:
{ "allowedMemberTypes": [ "Application" ], "displayName": "Read data from MyApi", "id": "00001111-aaaa-2222-bbbb-3333cccc4444", "isEnabled": true, "description": "Allow the application to read data as itself.", "value": "MyApi.Read.All" }Wijs de app-rol toe aan de beheerde identiteit. U hebt de volgende informatie nodig om de app-rol toe te wijzen:
- 
              
managedIdentityObjectId: het object-ID van de service-principal van de beheerde identiteit, die u in stap 2 hebt gevonden. - 
              
serverServicePrincipalObjectId: de object-id van de service-principal van de servertoepassing, die u in stap 4 hebt gevonden. - 
              
appRoleId: de id van de app-rol die wordt weergegeven door de server-app, die u in stap 5 hebt gegenereerd – in het voorbeeld is de app-rol-id00000000-0000-0000-0000-000000000000. 
- 
              
 Voer het volgende script uit om de roltoewijzing toe te voegen. Deze functionaliteit wordt niet rechtstreeks weergegeven in de Azure CLI en dat in plaats daarvan een REST-opdracht wordt gebruikt:
roleguid="00000000-0000-0000-0000-000000000000" az rest -m POST -u https://graph.microsoft.com/v1.0/servicePrincipals/$oidForMI/appRoleAssignments -b "{\"principalId\": \"$oidForMI\", \"resourceId\": \"$serverSPOID\",\"appRoleId\": \"$roleguid\"}"