Toepassings- en service-principal-objecten in Azure Active DirectoryApplication and service principal objects in Azure Active Directory

In dit artikel worden de registratie van toepassingen, toepassings objecten en service-principals in Azure Active Directory beschreven: wat het zijn, hoe ze worden gebruikt en hoe ze met elkaar zijn verbonden.This article describes application registration, application objects, and service principals in Azure Active Directory: what they are, how they're used, and how they are related to each other. Er wordt ook een scenario met meerdere tenants weer gegeven ter illustratie van de relatie tussen het toepassings object van een toepassing en de bijbehorende service-principal-objecten.A multi-tenant example scenario is also presented to illustrate the relationship between an application's application object and corresponding service principal objects.

Een toepassing registrerenApplication registration

Als u identiteits-en toegangs beheer functies wilt overdragen aan Azure AD, moet een toepassing zijn geregistreerd bij een Azure AD- Tenant.In order to delegate Identity and Access Management functions to Azure AD, an application must be registered with an Azure AD tenant. Wanneer u uw toepassing registreert bij Azure AD, maakt u een identiteits configuratie voor uw toepassing waarmee deze kan worden geïntegreerd met Azure AD.When you register your application with Azure AD, you are creating an identity configuration for your application that allows it to integrate with Azure AD. Wanneer u een app registreert in de Azure Portal, kiest u of deze één Tenant is (alleen toegankelijk in uw Tenant) of multi tenant (toegankelijk in andere tenants) en kunt u eventueel een omleidings-URI instellen (waarbij het toegangs token wordt verzonden naar).When you register an app in the Azure portal, you choose whether it's a single tenant (only accessible in your tenant) or multi-tenant (accessible in other tenants) and can optionally set a redirect URI (where the access token is sent to).

Zie de Snelstartgids voor app-registratievoor stapsgewijze instructies voor het registreren van een app.For step-by-step instructions on registering an app, see the app registration quickstart.

Wanneer u de app-registratie hebt voltooid, hebt u een wereld wijd unieke instantie van de app (het toepassings object) die zich in uw thuis Tenant of-map bevindt.When you've completed the app registration, you have a globally unique instance of the app (the application object) which lives within your home tenant or directory. U hebt ook een wereld wijd unieke ID voor uw app (de app of client-ID).You also have a globally unique ID for your app (the app or client ID). In de portal kunt u geheimen of certificaten en scopes toevoegen om uw app te laten werken, de huis stijl van uw app aan te passen in het dialoog venster voor aanmelden en nog veel meer.In the portal, you can then add secrets or certificates and scopes to make your app work, customize the branding of your app in the sign-in dialog, and more.

Als u een toepassing registreert in de portal, worden er automatisch een toepassings object en een Service-Principal-object gemaakt in uw thuis Tenant.If you register an application in the portal, an application object as well as a service principal object are automatically created in your home tenant. 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.If you register/create an application using the Microsoft Graph APIs, creating the service principal object is a separate step.

Toepassings objectApplication object

Een Azure AD-toepassing wordt gedefinieerd door de ene en enige toepassings object, die zich bevindt in de Azure AD-Tenant waar de toepassing is geregistreerd (bekend als de ' Home '-Tenant van de toepassing).An Azure AD application is defined by its one and only application object, which resides in the Azure AD tenant where the application was registered (known as the application's "home" tenant). Een toepassings object wordt gebruikt als sjabloon of blauw druk om een of meer Service-Principal-objecten te maken.An application object is used as a template or blueprint to create one or more service principal objects. Een service-principal wordt gemaakt in elke Tenant waar de toepassing wordt gebruikt.A service principal is created in every tenant where the application is used. Net als bij een klasse in objectgeoriënteerd Program meren heeft het toepassings object enkele statische eigenschappen die worden toegepast op alle gemaakte service-principals (of exemplaren van de toepassing).Similar to a class in object-oriented programming, the application object has some static properties that are applied to all the created service principals (or application instances).

In het toepassings object 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 toegang moet hebben en de acties die de toepassing kan uitvoeren.The application object describes three aspects of an application: how the service can issue tokens in order to access the application, resources that the application might need to access, and the actions that the application can take.

De app-registraties Blade in de Azure Portal wordt gebruikt om de toepassings objecten in uw thuis Tenant weer te geven en te beheren.The App registrations blade in the Azure portal is used to list and manage the application objects in your home tenant.

App-registraties Blade

De entiteit van de Microsoft Graph- toepassing definieert het schema voor de eigenschappen van een toepassings object.The Microsoft Graph Application entity defines the schema for an application object's properties.

Service-Principal-objectService principal object

Om toegang te krijgen tot bronnen die worden beveiligd door een Azure AD-Tenant, moet de entiteit die toegang vereist, worden vertegenwoordigd door een beveiligingsprincipal.To access resources that are secured by an Azure AD tenant, the entity that requires access must be represented by a security principal. Deze vereiste geldt voor zowel gebruikers (gebruikers-principal) als toepassingen (Service-Principal).This requirement is true for both users (user principal) and applications (service principal). De beveiligingsprincipal definieert het toegangs beleid en de machtigingen voor de gebruiker/toepassing in de Azure AD-Tenant.The security principal defines the access policy and permissions for the user/application in the Azure AD tenant. Hierdoor kunnen kern functies, zoals verificatie van de gebruiker/toepassing tijdens het aanmelden, en autorisatie tijdens de toegang tot bronnen worden ingeschakeld.This enables core features such as authentication of the user/application during sign-in, and authorization during resource access.

Een Service-Principal is de lokale weer gave of het toepassings exemplaar van een globaal toepassings object in één Tenant of directory.A service principal is the local representation, or application instance, of a global application object in a single tenant or directory. Een Service-Principal is een concreet exemplaar dat is gemaakt op basis van het toepassings object en die bepaalde eigenschappen overneemt van dat toepassings object.A service principal is a concrete instance created from the application object and inherits certain properties from that application object. Een service-principal wordt gemaakt in elke Tenant waar de toepassing wordt gebruikt en verwijst naar het wereld wijde unieke app-object.A service principal is created in each tenant where the application is used and references the globally unique app object. Het Service-Principal-object definieert wat de app daad werkelijk in de specifieke Tenant kan doen, wie toegang heeft tot de app en welke resources de app kan gebruiken.The service principal object defines what the app can actually do in the specific tenant, who can access the app, and what resources the app can access.

Wanneer een toepassing toestemming krijgt om toegang te krijgen tot bronnen in een Tenant (na registratie of toestemming), wordt er een Service-Principal-object gemaakt.When an application is given permission to access resources in a tenant (upon registration or consent), a service principal object is created. U kunt ook Service Principal-objecten in een Tenant maken met behulp van Azure PowerShell, Azure cli, Microsoft Graph, de Azure Portalen andere hulpprogram ma's.You can also create service principal objects in a tenant using Azure PowerShell, Azure CLI, Microsoft Graph, the Azure portal, and other tools. Wanneer u de portal gebruikt, wordt automatisch een service-principal gemaakt wanneer u een toepassing registreert.When using the portal, a service principal is created automatically when you register an application.

De Blade bedrijfs toepassingen in de portal wordt gebruikt om de service-principals in een Tenant weer te geven en te beheren.The Enterprise applications blade in the portal is used to list and manage the service principals in a tenant. U kunt de machtigingen van de Service-Principal zien, machtigingen voor de gebruiker die hiervoor zijn gemachtigd, de gebruikers die toestemming hebben gegeven, aanmeldings gegevens en meer.You can see the service principal's permissions, user consented permissions, which users have done that consent, sign in information, and more.

Blade Enter prise-apps

De entiteit Microsoft Graph ServicePrincipal definieert het schema voor de eigenschappen van een Service Principal-object.The Microsoft Graph ServicePrincipal entity defines the schema for a service principal object's properties.

Relatie tussen toepassings objecten en service-principalsRelationship between application objects and service principals

Het toepassings object is de wereld wijde weer gave van uw toepassing voor gebruik in alle tenants en de Service-Principal is de lokale weer gave voor gebruik in een specifieke Tenant.The application object is the global representation of your application for use across all tenants, and the service principal is the local representation for use in a specific tenant.

Het toepassingsobject fungeert als de sjabloon waaruit gemeenschappelijke en standaardeigenschappen worden afgeleid voor gebruik bij het maken van de bijbehorende service-principal-objecten.The application object serves as the template from which common and default properties are derived for use in creating corresponding service principal objects. Een toepassings object heeft daarom een 1:1-relatie met de software toepassing en een 1: veel-relatie met de bijbehorende service-principal-object (en).An application object therefore has a 1:1 relationship with the software application, and a 1:many relationship with its corresponding service principal object(s).

Een Service-Principal moet worden gemaakt in elke Tenant waar de toepassing wordt gebruikt, waardoor er een identiteit kan worden ingesteld voor aanmelding en/of toegang tot bronnen die worden beveiligd door de Tenant.A service principal must be created in each tenant where the application is used, enabling it to establish an identity for sign-in and/or access to resources being secured by the tenant. Een toepassing in één tenant heeft slechts één service-principal (in de starttenant) die is gemaakt en waarvoor toestemming is gegeven voor gebruik tijdens de toepassingsregistratie.A single-tenant application has only one service principal (in its home tenant), created and consented for use during application registration. Een webtoepassing/API met meerdere tenants bevat ook een service-principal die is gemaakt in elke Tenant, waar een gebruiker van die Tenant toestemming heeft gegeven om het te gebruiken.A multi-tenant Web application/API also has a service principal created in each tenant where a user from that tenant has consented to its use.

Wijzigingen die u aanbrengt in het toepassings object, inclusief verwijdering, worden weer gegeven in het bijbehorende service-principal-object in de thuis Tenant van de toepassing (de Tenant waar deze is geregistreerd).Any changes you make to your application object, including deletion, are reflected in its service principal object in the application's home tenant only (the tenant where it was registered). Voor multi tenant-toepassingen worden wijzigingen aan het toepassings object niet weer gegeven in de Service-Principal-objecten van een consumenten Tenant, totdat de toegang wordt verwijderd via het toegangs venster van de toepassing en opnieuw wordt toegewezen.For multi-tenant applications, changes to the application object are not reflected in any consumer tenants' service principal objects, until the access is removed through the Application Access Panel and granted again.

Systeem eigen toepassingen worden standaard geregistreerd als multi tenant.Native applications are registered as multi-tenant by default.

VoorbeeldExample

In het volgende diagram ziet u de relatie tussen het toepassings object van een toepassing en de bijbehorende service-principal-objecten, in de context van een voor beeld van een multi tenant-toepassing met de naam HR-app.The following diagram illustrates the relationship between an application's application object and corresponding service principal objects, in the context of a sample multi-tenant application called HR app. Er zijn drie Azure AD-tenants in dit voorbeeld scenario:There are three Azure AD tenants in this example scenario:

  • Adatum : de Tenant die wordt gebruikt door het bedrijf dat de HR-app heeft ontwikkeldAdatum - The tenant used by the company that developed the HR app
  • Contoso : de Tenant die wordt gebruikt door de contoso-organisatie, die een consument is van de HR-appContoso - The tenant used by the Contoso organization, which is a consumer of the HR app
  • Fabrikam : de Tenant die wordt gebruikt door de fabrikam-organisatie, die ook de HR-app verbruiktFabrikam - The tenant used by the Fabrikam organization, which also consumes the HR app

Relatie tussen object App-object en Service-Principal

In dit voorbeeld scenario:In this example scenario:

StapStep BeschrijvingDescription
11 Is het proces van het maken van de toepassing en Service-Principal-objecten in de thuis Tenant van de toepassing.Is the process of creating the application and service principal objects in the application's home tenant.
22 Wanneer Contoso en fabrikam beheerders toestemming geven, wordt een Service-Principal-object gemaakt in de Azure AD-Tenant van het bedrijf en worden de machtigingen toegewezen die de beheerder heeft verleend.When Contoso and Fabrikam administrators complete consent, a service principal object is created in their company's Azure AD tenant and assigned the permissions that the administrator granted. Houd er ook rekening mee dat de HR-app kan worden geconfigureerd/ontworpen om toestemming door gebruikers voor individueel gebruik toe te staan.Also note that the HR app could be configured/designed to allow consent by users for individual use.
33 De tenants van de consument van de HR-toepassing (Contoso en fabrikam) hebben elk een eigen Service-Principal-object.The consumer tenants of the HR application (Contoso and Fabrikam) each have their own service principal object. Elk voor beeld hiervan is het gebruik van een exemplaar van de toepassing tijdens runtime, met de machtigingen die de respectieve beheerder heeft ingestemd.Each represents their use of an instance of the application at runtime, governed by the permissions consented by the respective administrator.

Volgende stappenNext steps