Azure Active Directory-ZustimmungsframeworkAzure Active Directory consent framework

Das Azure Active Directory-Zustimmungsframework (Azure AD) vereinfacht die Entwicklung von mehrinstanzenfähigen Webanwendungen und nativen Clientanwendungen.The Azure Active Directory (Azure AD) consent framework makes it easy to develop multi-tenant web and native client applications. Diese Anwendungen ermöglichen die Anmeldung mit Benutzerkonten über einen Azure AD-Mandanten, der sich von dem Mandanten unterscheidet, unter dem die Anwendung registriert ist.These applications allow sign-in by user accounts from an Azure AD tenant that's different from the one where the application is registered. Außerdem kann der Zugriff auf Web-APIs, etwa die Microsoft Graph-API (zum Zugreifen auf Azure AD, Intune und Office 365-Dienste), und andere APIs von Microsoft-Diensten zusätzlich zu Ihren eigenen Web-APIs erforderlich sein.They may also need to access web APIs such as the Microsoft Graph API (to access Azure AD, Intune, and services in Office 365) and other Microsoft services' APIs, in addition to your own web APIs.

Das Framework basiert darauf, dass Benutzer oder Administratoren ihre Zustimmung zur Registrierung einer Anwendung in ihrem Verzeichnis erteilen. Diese Zustimmung kann auch den Zugriff auf Verzeichnisdaten umfassen.The framework is based on a user or an administrator giving consent to an application that asks to be registered in their directory, which may involve accessing directory data. Wenn beispielsweise eine Webclientanwendung Kalenderinformationen über einen Benutzer aus Office 365 lesen muss, muss dieser Benutzer der Clientanwendung zuerst seine Zustimmung erteilen.For example, if a web client application needs to read calendar information about the user from Office 365, that user is required to consent to the client application first. Anschließend kann die Clientanwendung die Microsoft Graph-API im Namen des Benutzers aufrufen und die Kalenderinformationen nach Bedarf verwenden.After consent is given, the client application will be able to call the Microsoft Graph API on behalf of the user, and use the calendar information as needed. Die Microsoft Graph-API ermöglicht den Zugriff auf Daten in Office 365 (z.B. Kalender und Nachrichten aus Exchange, Websites und Listen aus SharePoint, Dokumente aus OneDrive, OneNote-Notizbücher, Aufgaben aus dem Planer, Arbeitsmappen aus Excel usw.) sowie auf Benutzer und Gruppen von Azure AD und andere Datenobjekte aus weiteren Microsoft Cloud Services.The Microsoft Graph API provides access to data in Office 365 (like calendars and messages from Exchange, sites and lists from SharePoint, documents from OneDrive, notebooks from OneNote, tasks from Planner, and workbooks from Excel), as well as users and groups from Azure AD and other data objects from more Microsoft cloud services.

Das Consent Framework basiert auf OAuth 2.0 und seinen verschiedenen Datenflüssen, z. B. Authorization Code Grant und Client Credentials Grant. Dabei kommen öffentliche oder vertrauliche Clients zum Einsatz.The consent framework is built on OAuth 2.0 and its various flows, such as authorization code grant and client credentials grant, using public or confidential clients. Durch die Verwendung von OAuth 2.0 ermöglicht Azure AD die Entwicklung zahlreicher verschiedener Typen von Clientanwendungen, beispielsweise für Telefon, Tablet, Server oder Web, und ermöglicht den Zugriff auf die erforderlichen Ressourcen.By using OAuth 2.0, Azure AD makes it possible to build many different types of client applications--such as on a phone, tablet, server, or a web application--and gain access to the required resources.

Weitere Informationen zur Verwendung des Zustimmungsframeworks mit OAuth2.0-Autorisierungsgewährungen finden Sie unter Autorisieren des Zugriffs auf Azure Active Directory-Webanwendungen mit dem Flow zum Erteilen des OAuth 2.0-Codes und Authentifizierungsszenarien für Azure AD.For more info about using the consent framework with OAuth2.0 authorization grants, see Authorize access to web applications using OAuth 2.0 and Azure AD and Authentication scenarios for Azure AD. Informationen dazu, wie Sie autorisierten Zugriff auf Office 365 über Microsoft Graph erhalten, finden Sie auf der Seite zur App-Authentifizierung mit Microsoft Graph.For info about getting authorized access to Office 365 through Microsoft Graph, see App authentication with Microsoft Graph.

Die folgenden Schritte zeigen, wie das Zustimmungsframework auf der Benutzeroberfläche für den Anwendungsentwickler und für den Benutzer umgesetzt wird.The following steps show you how the consent experience works for both the application developer and the user.

  1. Angenommen, Sie verfügen über eine Webclientanwendung, die für den Zugriff auf eine Ressource oder API bestimmte Berechtigungen anfordern muss.Assume you have a web client application that needs to request specific permissions to access a resource/API. Im nächsten Abschnitt wird beschrieben, wie Sie diese Konfiguration durchführen. Im Wesentlichen wird aber das Azure-Portal verwendet, um zur Konfigurationszeit Berechtigungsanforderungen zu deklarieren.You'll learn how to do this configuration in the next section, but essentially the Azure portal is used to declare permission requests at configuration time. Wie andere Konfigurationseinstellungen auch, werden diese Teil der Azure AD-Registrierung der Anwendung:Like other configuration settings, they become part of the application's Azure AD registration:

    Berechtigungen für andere Anwendungen

  2. Angenommen, die Berechtigungen für Ihre Anwendung wurden aktualisiert, die Anwendung wird ausgeführt, und ein Benutzer möchte die Anwendung zum ersten Mal verwenden.Consider that your application’s permissions have been updated, the application is running, and a user is about to use it for the first time. Zuerst muss die Anwendung vom /authorize-Endpunkt von Azure AD einen Autorisierungscode erhalten.First, the application needs to obtain an authorization code from Azure AD’s /authorize endpoint. Der Autorisierungscode kann dann genutzt werden, um ein neues Zugriffs- und Aktualisierungstoken zu beschaffen.The authorization code can then be used to acquire a new access and refresh token.

  3. Wenn der Benutzer noch nicht authentifiziert ist, wird er vom /authorize-Endpunkt von Azure AD zum Anmelden aufgefordert.If the user is not already authenticated, Azure AD's /authorize endpoint prompts the user to sign in.

    Benutzer- oder Administratoranmeldung bei Azure AD

  4. Nachdem der Benutzer sich angemeldet hat, ermittelt Azure AD, ob für den Benutzer eine Seite für die Zustimmungserteilung angezeigt werden muss.After the user has signed in, Azure AD will determine if the user needs to be shown a consent page. Das Ergebnis dieser Ermittlung ist davon abhängig, ob der Benutzer (oder der Administrator seiner Organisation) die Anwendungszustimmung bereits erteilt hat.This determination is based on whether the user (or their organization’s administrator) has already granted the application consent. Wenn die Zustimmung noch nicht erteilt wurde, fordert Azure AD den Benutzer zur Zustimmung auf und zeigt an, welche Berechtigungen für die Funktionalität benötigt werden.If consent has not already been granted, Azure AD prompts the user for consent and displays the required permissions it needs to function. Der Berechtigungssatz, der im Dialogfeld für die Zustimmung angezeigt wird, ist identisch mit der Auswahl unter Delegierte Berechtigungen im Azure-Portal.The set of permissions that are displayed in the consent dialog match the ones selected in the Delegated permissions in the Azure portal.

    Abbildung eines Beispiels für im Zustimmungsdialogfeld angezeigte Berechtigungen

  5. Nachdem der Benutzer seine Zustimmung erteilt hat, wird ein Autorisierungscode an Ihre Anwendung zurückgegeben, mit dem ein Zugriffs- und Aktualisierungstoken abgerufen wird.After the user grants consent, an authorization code is returned to your application, which is redeemed to acquire an access token and refresh token. Weitere Informationen zu diesem Ablauf finden Sie unter Web API (Web-API).For more information about this flow, see Web API app type.

  6. Als Administrator können Sie auch für alle Benutzer in Ihrem Mandanten den delegierten Berechtigungen einer Anwendung zustimmen.As an administrator, you can also consent to an application's delegated permissions on behalf of all the users in your tenant. Durch die Administratorzustimmung wird verhindert, dass das Zustimmungsdialogfeld für jeden Benutzer im Mandanten angezeigt wird. Dies kann im Azure-Portal von Benutzern durchgeführt werden, die über die Administratorrolle verfügen.Administrative consent prevents the consent dialog from appearing for every user in the tenant, and can be done in the Azure portal by users with the administrator role. Um zu erfahren, welche Administratorrollen delegierten Berechtigungen zustimmen können, lesen Sie Berechtigungen der Administratorrolle in Azure AD.To learn which administrator roles can consent to delegated permissions, see Administrator role permissions in Azure AD.

    So gewähren Sie delegierte App-BerechtigungenTo consent to an app's delegated permissions

    1. Rufen Sie für Ihre Anwendung die Seite API-Berechtigungen auf.Go to the API permissions page for your application

    2. Klicken Sie auf die Schaltfläche Administratoreinwilligung gewähren.Click on the Grant admin consent button.

      Erteilen von Berechtigungen für explizite Administratorzustimmung

    Wichtig

    Das explizite Gewähren der Zustimmung über die Schaltfläche Berechtigungen erteilen ist derzeit für Single-Page-Webanwendungen (Single-Page Applications, SPAs) erforderlich, die „ADAL.js“ nutzen.Granting explicit consent using the Grant permissions button is currently required for single-page applications (SPA) that use ADAL.js. Andernfalls tritt für die Anwendung ein Fehler auf, wenn das Zugriffstoken angefordert wird.Otherwise, the application fails when the access token is requested.

Nächste SchritteNext steps