Toepassings- en service-principalobjecten in Microsoft Entra-id
In dit artikel worden toepassingsregistratie, toepassingsobjecten en service-principals in Microsoft Entra-id beschreven, wat ze zijn, hoe ze worden gebruikt en hoe ze aan elkaar zijn gerelateerd. Er wordt ook een voorbeeldscenario met meerdere tenants weergegeven om de relatie tussen het toepassingsobject van een toepassing en de bijbehorende service-principalobjecten te illustreren.
Toepassingsregistratie
Als u identiteits- en toegangsbeheerfuncties wilt delegeren aan Microsoft Entra ID, moet een toepassing worden geregistreerd bij een Microsoft Entra-tenant. Wanneer u uw toepassing registreert bij Microsoft Entra ID, maakt u een identiteitsconfiguratie voor uw toepassing waarmee deze kan worden geïntegreerd met Microsoft Entra-id. Wanneer u een app registreert, kiest u of deze één tenant of multitenant is en kunt u eventueel een omleidings-URI instellen. Zie de quickstart voor app-registratie voor stapsgewijze instructies voor het registreren van een app.
Wanneer u de app-registratie hebt voltooid, hebt u een wereldwijd uniek exemplaar van de app (het toepassingsobject) dat zich in uw basistenant of map bevindt. U hebt ook een wereldwijd unieke id voor uw app (de app-/client-id). U kunt geheimen of certificaten en bereiken toevoegen om uw app te laten werken, de huisstijl van uw app aan te passen in het aanmeldingsdialoogvenster en meer.
Als u een toepassing registreert, worden er automatisch een toepassingsobject en een service-principal-object gemaakt in uw thuistenant. Als u een toepassing registreert/maakt met behulp van de Microsoft Graph API's, is het maken van het service-principal-object een afzonderlijke stap.
Toepassingsobject
Een Microsoft Entra-toepassing wordt gedefinieerd door het ene en enige toepassingsobject, dat zich bevindt in de Microsoft Entra-tenant waar de toepassing is geregistreerd (ook wel 'home' van de toepassing genoemd). Een toepassingsobject wordt gebruikt als sjabloon of blauwdruk om een of meer service-principal-objecten te maken. Er wordt een service-principal gemaakt in elke tenant waarin de toepassing wordt gebruikt. Net als bij een klasse in objectgeoriënteerd programmeren heeft het toepassingsobject enkele statische eigenschappen die worden toegepast op alle gemaakte service-principals (of toepassingsexemplaren).
In het toepassingsobject worden drie aspecten van een toepassing beschreven:
- Hoe de service tokens kan uitgeven om toegang te krijgen tot de toepassing
- De resources waartoe de toepassing mogelijk toegang moet hebben
- De acties die de toepassing kan uitvoeren
U kunt de pagina App-registraties in het Microsoft Entra-beheercentrum gebruiken om de toepassingsobjecten in uw thuistenant weer te geven en te beheren.
De entiteit Microsoft Graph Application definieert het schema voor de eigenschappen van een toepassingsobject.
Service-principal-object
Voor toegang tot resources die worden beveiligd door een Microsoft Entra-tenant, moet de entiteit waarvoor toegang is vereist, worden vertegenwoordigd door een beveiligingsprincipaal. Deze vereiste geldt voor zowel gebruikers (user principal) als toepassingen (service-principal). De beveiligingsprincipaal definieert het toegangsbeleid en de machtigingen voor de gebruiker/toepassing in de Microsoft Entra-tenant. Dit maakt kernfuncties mogelijk, zoals verificatie van de gebruiker/toepassing tijdens het aanmelden en autorisatie tijdens toegang tot resources.
Er zijn drie typen service-principals:
Toepassing : dit type service-principal is de lokale weergave of het toepassingsexemplaren van een globaal toepassingsobject in één tenant of map. In dit geval is een service-principal een concreet exemplaar dat is gemaakt op basis van het toepassingsobject en worden bepaalde eigenschappen overgenomen van dat toepassingsobject. Er wordt een service-principal gemaakt in elke tenant waarin de toepassing wordt gebruikt en verwijst naar het globaal unieke app-object. Het service-principal-object definieert wat de app daadwerkelijk kan doen in de specifieke tenant, wie toegang heeft tot de app en tot welke resources de app toegang heeft.
Wanneer een toepassing toegang krijgt tot resources in een tenant (bij registratie of toestemming), wordt er een service-principal-object gemaakt. Wanneer u een toepassing registreert, wordt er automatisch een service-principal gemaakt. U kunt ook service-principalobjecten maken in een tenant met behulp van Azure PowerShell, Azure CLI, Microsoft Graph en andere hulpprogramma's.
Beheerde identiteit : dit type service-principal wordt gebruikt om een beheerde identiteit weer te geven. Beheerde identiteiten elimineren de noodzaak voor ontwikkelaars om referenties te beheren. Beheerde identiteiten bieden een identiteit die toepassingen kunnen gebruiken bij het maken van verbinding met resources die ondersteuning bieden voor Microsoft Entra-verificatie. Wanneer een beheerde identiteit is ingeschakeld, wordt er een service-principal gemaakt die de beheerde identiteit in uw tenant vertegenwoordigt. Service-principals die beheerde identiteiten vertegenwoordigen, kunnen toegang en machtigingen krijgen, maar kunnen niet rechtstreeks worden bijgewerkt of gewijzigd.
Verouderd : dit type service-principal vertegenwoordigt een verouderde app, een app die is gemaakt voordat app-registraties werden geïntroduceerd of een app die is gemaakt via verouderde ervaringen. Een verouderde service-principal kan referenties, service-principalnamen, antwoord-URL's en andere eigenschappen hebben die een geautoriseerde gebruiker kan bewerken, maar geen gekoppelde app-registratie heeft. De service-principal kan alleen worden gebruikt in de tenant waar deze is gemaakt.
De Microsoft Graph ServicePrincipal-entiteit definieert het schema voor de eigenschappen van een service-principal-object.
U kunt de pagina Bedrijfstoepassingen in het Microsoft Entra-beheercentrum gebruiken om de service-principals in een tenant weer te geven en te beheren. U kunt de machtigingen van de service-principal, machtigingen waarvoor de gebruiker toestemming heeft gegeven, zien welke gebruikers die toestemming hebben gedaan, aanmeldingsgegevens en meer.
Relatie tussen toepassingsobjecten en service-principals
Het toepassingsobject is de globale weergave van uw toepassing voor gebruik in alle tenants en de service-principal is de lokale weergave voor gebruik in een specifieke tenant. Het toepassingsobject fungeert als de sjabloon waaruit algemene en standaardeigenschappen worden afgeleid voor gebruik bij het maken van bijbehorende service-principal-objecten.
Een toepassingsobject heeft:
- Een een-op-een-relatie met de softwaretoepassing en
- Een een-op-veel-relatie met de bijbehorende service-principal-objecten
Er moet een service-principal worden gemaakt in elke tenant waarin de toepassing wordt gebruikt, zodat deze een identiteit kan instellen voor aanmelding en/of toegang tot resources die worden beveiligd door de tenant. Een toepassing met één tenant heeft slechts één service-principal (in de basistenant) die is gemaakt en toestemming gegeven voor gebruik tijdens de registratie van de toepassing. Een toepassing met meerdere tenants heeft ook een service-principal gemaakt in elke tenant waarin een gebruiker van die tenant toestemming heeft gegeven voor het gebruik ervan.
Service-principals weergeven die zijn gekoppeld aan een app
U vindt de service-principals die zijn gekoppeld aan een toepassingsobject.
Navigeer in het Microsoft Entra-beheercentrum naar het overzicht van de toepassingsregistratie. Selecteer Beheerde toepassing in de lokale map.
Gevolgen van het wijzigen en verwijderen van toepassingen
Wijzigingen die u aanbrengt in uw toepassingsobject, worden ook weergegeven in het service-principal-object in de basistenant van de toepassing (de tenant waar het is geregistreerd). Dit betekent dat het verwijderen van een toepassingsobject ook het service-principal-object van de basistenant verwijdert. Als u dat toepassingsobject echter herstelt via de gebruikersinterface voor app-registraties, wordt de bijbehorende service-principal niet hersteld. Zie toepassingen en service-principal-objecten verwijderen en herstellen voor meer informatie over het verwijderen en herstellen van toepassingen en hun service-principal-objecten.
Voorbeeld
In het volgende diagram ziet u de relatie tussen het toepassingsobject van een toepassing en de bijbehorende service-principalobjecten in de context van een voorbeeldtoepassing met meerdere tenants met de naam HR-app. In dit voorbeeldscenario zijn er drie Microsoft Entra-tenants:
- Adatum - De tenant die wordt gebruikt door het bedrijf dat de HR-app heeft ontwikkeld
- Contoso : de tenant die wordt gebruikt door de Contoso-organisatie, een consument van de HR-app
- Fabrikam : de tenant die wordt gebruikt door de Fabrikam-organisatie, die ook de HR-app gebruikt
In dit voorbeeldscenario:
Stap | Beschrijving |
---|---|
1 | Het proces voor het maken van de toepassings- en service-principalobjecten in de basistenant van de toepassing. |
2 | Wanneer Contoso- en Fabrikam-beheerders toestemming hebben gegeven, wordt er een service-principalobject gemaakt in de Microsoft Entra-tenant van hun bedrijf en de machtigingen toegewezen die de beheerder heeft verleend. Houd er ook rekening mee dat de HR-app kan worden geconfigureerd/ontworpen om toestemming door gebruikers toe te staan voor individueel gebruik. |
3 | De consumententenants van de HR-toepassing (Contoso en Fabrikam) hebben elk hun eigen service-principalobject. Elk vertegenwoordigt het gebruik van een exemplaar van de toepassing tijdens runtime, dat wordt bepaald door de machtigingen die zijn verleend door de respectieve beheerder. |
Volgende stappen
Meer informatie over het maken van een service-principal:
- Het Microsoft Entra-beheercentrum gebruiken
- Azure PowerShell gebruiken
- Azure CLI gebruiken
- Gebruik Microsoft Graph en gebruik vervolgens Microsoft Graph Explorer om query's uit te voeren op zowel de toepassing als de service-principal-objecten.