Schnellstart: Konfigurieren einer Clientanwendung für den Zugriff auf eine Web-API

In dieser Schnellstartanleitung stellen Sie eine bei der Microsoft Identity Platform registrierte Client-App mit bereichsbezogenem, berechtigungsbasiertem Zugriff auf Ihre eigene Web-API bereit. Außerdem ermöglichen Sie der Client-App den Zugriff auf Microsoft Graph.

Wenn Sie die Bereiche einer Web-API in der Registrierung Ihrer Client-App angeben, kann die Client-App ein Zugriffstoken mit diesen Bereichen von der Microsoft Identity Platform abrufen. Innerhalb des Codes kann die Web-API dann berechtigungsbasierten Zugriff auf die zugehörigen Ressourcen basierend auf den im Zugriffstoken enthaltenen Bereichen bereitstellen.

Voraussetzungen

Hinzufügen von Berechtigungen für den Zugriff auf Ihre Web-API

Im ersten Szenario gewähren Sie einer Client-App Zugriff auf Ihre eigene Web-API. Sie müssen sowohl die Client-App als auch die Web-API als Teil der Voraussetzungen registriert haben. Wenn Sie noch nicht sowohl eine Client-App als auch eine Web-API registriert haben, führen Sie die unter Voraussetzungen beschriebenen Schritte aus.

Im folgenden Diagramm ist dargestellt, wie die beiden App-Registrierungen zueinander in Beziehung stehen. In diesem Abschnitt fügen Sie der Registrierung der Client-App Berechtigungen hinzu.

Line diagram showing a web API with exposed scopes on the right and a client app on the left with those scopes selected as permissions

Nachdem Sie sowohl die Client-App als auch die Web-API registriert und die API durch das Erstellen von Bereichen verfügbar gemacht haben, können Sie die Berechtigungen der Client-App für die API konfigurieren, indem Sie die folgenden Schritte ausführen:

  1. Melden Sie sich beim Azure-Portal an.

  2. Wenn Sie Zugriff auf mehrere Mandanten haben, verwenden Sie im oberen Menü den Filter Verzeichnis + Abonnement , um den Mandanten auszuwählen, der die Registrierung der Client-App enthält.

  3. Wählen Sie Azure Active Directory>App-Registrierungen aus, und wählen Sie dann Ihre Client Anwendung aus (nicht Ihre Web-API).

  4. Wählen Sie über die Option API-Berechtigungen>Berechtigung hinzufügen>Meine APIs aus.

  5. Wählen Sie die Web-API aus, die Sie als Teil der Voraussetzungen registriert haben.

    Die Option Delegierte Berechtigungen ist standardmäßig ausgewählt. Delegierte Berechtigungen sind für Client-Apps geeignet, die als angemeldeter Benutzer auf eine Web-API zugreifen und deren Zugriff auf die Berechtigungen beschränkt werden sollte, die Sie im nächsten Schritt auswählen. Übernehmen Sie für dieses Beispiel die ausgewählte Option Delegierte Berechtigungen.

    Anwendungsberechtigungen sind für Anwendungen vom Typ „Dienst“ oder „Daemon“ vorgesehen, die als solche auf eine Web-API zugreifen müssen, ohne dass eine Benutzerinteraktion für die Anmeldung oder Zustimmung erforderlich ist. Sofern Sie keine Anwendungsrollen für Ihre Web-API definiert haben, ist diese Option deaktiviert.

  6. Erweitern Sie unter Berechtigungen auswählen die Ressource, deren Bereiche Sie für Ihre Web-API definiert haben, und wählen Sie die Berechtigungen aus, über die die Client-App im Namen des angemeldeten Benutzers verfügen soll.

    Wenn Sie die im vorherigen Schnellstart angegebenen Beispielbereichsnamen verwendet haben, sollten Employees.Read.All und Employees.Write.All angezeigt werden. Wählen Sie Employees.Read.All oder eine andere Berechtigung aus, die Sie ggf. beim Ausführen der Schritte für die Voraussetzungen erstellt haben.

  7. Wählen Sie Berechtigungen hinzufügen aus, um den Vorgang abzuschließen.

Nachdem Sie Ihrer API Berechtigungen hinzugefügt haben, sollten die ausgewählten Berechtigungen unter Konfigurierte Berechtigungen angezeigt werden. In der folgenden Abbildung sehen Sie beispielhaft, dass die delegierte Berechtigung Employees.Read.All zur Registrierung der Client-App hinzugefügt wurde.

Configured permissions pane in the Azure portal showing the newly added permission

Möglicherweise sehen Sie auch die Berechtigung User.Read für die Microsoft Graph-API. Diese Berechtigung wird automatisch hinzugefügt, wenn Sie eine App im Azure-Portal registrieren.

Hinzufügen von Berechtigungen für den Zugriff auf Microsoft Graph

Zusätzlich zum Zugriff auf Ihre eigene Web-API im Namen des angemeldeten Benutzers muss Ihre Anwendung möglicherweise auch auf die in Microsoft Graph gespeicherten Daten des Benutzers (oder andere Daten) zugreifen oder diese ändern. Möglicherweise verfügen Sie auch über eine Dienst- oder Daemon-App, die als solche auf Microsoft Graph zugreifen muss und Vorgänge ohne Benutzerinteraktion ausführt.

Delegierte Berechtigung für Microsoft Graph

Konfigurieren Sie die delegierte Berechtigung für Microsoft Graph, damit Ihre Clientanwendung Vorgänge im Namen des angemeldeten Benutzers ausführen kann, z. B. das Lesen seiner E-Mail oder das Ändern seines Profils. Standardmäßig werden die Benutzer Ihrer Client-App bei der Anmeldung aufgefordert, den delegierten Berechtigungen zuzustimmen, die Sie für die App konfiguriert haben.

  1. Melden Sie sich beim Azure-Portal an.

  2. Wenn Sie Zugriff auf mehrere Mandanten haben, verwenden Sie im oberen Menü den Filter Verzeichnis + Abonnement , um den Mandanten auszuwählen, der die Registrierung der Client-App enthält.

  3. Wählen Sie Azure Active Directory>App-Registrierungen aus, und wählen Sie dann Ihre Client Anwendung aus.

  4. Wählen Sie API-Berechtigungen>Berechtigung hinzufügen>Microsoft Graph aus.

  5. Wählen Sie Delegierte Berechtigungen aus. Microsoft Graph macht viele Berechtigungen verfügbar, wobei die am häufigsten verwendeten Berechtigungen am Anfang der Liste angezeigt werden.

  6. Wählen Sie unter Berechtigungen auswählen die folgenden Berechtigungen aus:

    Berechtigung BESCHREIBUNG
    email Anzeigen der E-Mail-Adresse des Benutzers
    offline_access Zugriff auf Daten beibehalten, für die Sie der App Zugriff erteilt haben
    openid Anmelden von Benutzern
    profile Anzeigen des grundlegenden Benutzerprofils
  7. Wählen Sie Berechtigungen hinzufügen aus, um den Vorgang abzuschließen.

Wenn Sie Berechtigungen konfigurieren, werden die Benutzer Ihrer App bei der Anmeldung aufgefordert, ihre Zustimmung zu erteilen, damit Ihre App in ihrem Namen auf die Ressourcen-API zugreifen kann.

Als Administrator können Sie auch die Zustimmung im Namen aller Benutzer erteilen, damit diese nicht dazu aufgefordert werden. Die Administratoreinwilligung wird weiter unten im Abschnitt Weitere Informationen zu API-Berechtigungen und zur Administratoreinwilligung dieses Artikels erläutert.

Anwendungsberechtigung für Microsoft Graph

Konfigurieren Sie Anwendungsberechtigungen für eine Anwendung, die sich ohne Benutzerinteraktion oder Zustimmung als sie selbst authentifizieren muss. Anwendungsberechtigungen werden in der Regel von Hintergrunddiensten oder Daemon-Apps verwendet, die „monitorlos“ auf eine API zugreifen, und von Web-APIs, die auf eine andere (nachgeschaltete) API zugreifen.

In den folgenden Schritten erteilen Sie die Berechtigung für die Microsoft Graph-Berechtigung Files.Read.All als Beispiel.

  1. Melden Sie sich beim Azure-Portal an.

  2. Wenn Sie Zugriff auf mehrere Mandanten haben, verwenden Sie im oberen Menü den Filter Verzeichnis + Abonnement , um den Mandanten auszuwählen, der die Registrierung der Client-App enthält.

  3. Wählen Sie Azure Active Directory>App-Registrierungen aus, und wählen Sie dann Ihre Client Anwendung aus.

  4. Wählen Sie API-Berechtigungen>Berechtigung hinzufügen>Microsoft Graph>Anwendungsberechtigungen aus.

  5. Alle von Microsoft Graph verfügbar gemachten Berechtigungen werden unter Berechtigungen auswählen angezeigt.

  6. Wählen Sie die Berechtigung(en) aus, die Sie Ihrer Anwendung erteilen möchten. Beispielsweise verfügen Sie möglicherweise über eine Daemon-App, die Dateien in Ihrer Organisation überprüft und bei bestimmten Dateitypen oder -namen eine Warnung ausgibt.

    Erweitern Sie unter Berechtigungen auswählen die Option Dateien, und wählen Sie dann die Berechtigung Files.Read.All aus.

  7. Wählen Sie Berechtigungen hinzufügen aus.

Einige Berechtigungen (wie z. B. die Microsoft Graph-Berechtigung Files.Read.All) erfordern die Zustimmung des Administrators. Sie erteilen die Administratoreinwilligung, indem Sie die Schaltfläche Administratoreinwilligung erteilen auswählen, die weiter unten im Abschnitt Schaltfläche „Administratorzustimmung“ erläutert wird.

Konfigurieren von Clientanmeldeinformationen

Apps, die Anwendungsberechtigungen verwenden, authentifizieren sich mit ihren eigenen Anmeldeinformationen als sie selbst, ohne dass eine Benutzerinteraktion erforderlich ist. Bevor Ihre Anwendung (oder API) auf Microsoft Graph, Ihre eigene Web-API oder eine andere API mithilfe von Anwendungsberechtigungen zugreifen kann, müssen Sie die Anmeldeinformationen dieser Client-App konfigurieren.

Weitere Informationen zum Konfigurieren der Anmeldeinformationen einer App finden Sie im Abschnitt Hinzufügen von Anmeldeinformationen des Schnellstarts: Registrieren einer Anwendung bei der Microsoft Identity Platform.

Der Bereich API-Berechtigungen einer App-Registrierung enthält eine Tabelle Konfigurierte Berechtigungen und möglicherweise auch eine Tabelle Weitere gewährte Berechtigungen. Beide Tabellen sowie die Schaltfläche „Administratorzustimmung“ werden in den folgenden Abschnitten beschrieben.

Konfigurierte Berechtigungen

Die Tabelle Konfigurierte Berechtigungen im Bereich API-Berechtigungen enthält die Liste der Berechtigungen, die Ihre Anwendung zum Ausführen grundlegender Vorgänge benötigt: die Liste erforderlicher Ressourcenzugriff (Required Resource Access, RRA). Benutzer oder ihre Administratoren müssen diesen Berechtigungen zustimmen, bevor sie Ihre App verwenden können. Andere optionale Berechtigungen können später zur Laufzeit (mit dynamischer Zustimmung) angefordert werden.

Dies ist die Liste der Mindestberechtigungen, denen die Benutzer für Ihre App zustimmen müssen. Es gibt möglicherweise weitere Berechtigungen, aber diese hier werden immer benötigt. Aus Sicherheitsgründen und um die Verwendung Ihrer App für Benutzer und Administratoren angenehmer zu gestalten, sollten Sie nie etwas anfordern, das Sie nicht benötigen.

Sie können die in dieser Tabelle angezeigten Berechtigungen hinzufügen oder entfernen, indem Sie die oben beschriebenen Schritte ausführen oder aus Weitere gewährte Berechtigungen (im nächsten Abschnitt beschrieben). Als Administrator können Sie die Administratorzustimmung für den vollständigen Satz der in der Tabelle aufgeführten Berechtigungen einer API erteilen und die Zustimmung für einzelne Berechtigungen widerrufen.

Weitere gewährte Berechtigungen

Möglicherweise wird im Bereich API-Berechtigungen auch eine Tabelle mit dem Titel Weitere gewährte Berechtigungen für {Mandant} angezeigt. In der Tabelle Weitere gewährte Berechtigungen für {Mandant} werden Berechtigungen angezeigt, die dem gesamten Mandanten erteilt, aber nicht explizit für das Anwendungsobjekt konfiguriert wurden. Diese Berechtigungen wurden dynamisch im Namen aller Benutzer angefordert, und ein Administrator hat seine Einwilligung gegeben. Dieser Abschnitt wird nur angezeigt, wenn mindestens eine entsprechende Berechtigung vorhanden ist.

Sie können den vollständigen Satz der Berechtigungen einer API oder einzelne Berechtigungen, die in dieser Tabelle enthalten sind, zur Tabelle Konfigurierte Berechtigungen hinzufügen. Als Administrator können Sie in diesem Abschnitt die Administratoreinwilligung für APIs oder einzelne Berechtigungen widerrufen.

Mithilfe der Schaltfläche Administratoreinwilligung erteilen für {Mandant} kann ein Administrator eine Administratoreinwilligung für die Berechtigungen erteilen, die für die Anwendung konfiguriert sind. Wenn Sie die Schaltfläche auswählen, wird ein Dialogfeld angezeigt, in dem Sie die Einwilligungsaktion bestätigen müssen.

Grant admin consent button highlighted in the Configured permissions pane in the Azure portal

Nachdem Sie die Einwilligung erteilt haben, werden die Berechtigungen, für die eine Administratoreinwilligung erforderlich ist, als erteilt angezeigt:

Configure permissions table in Azure portal showing admin consent granted for the Files.Read.All permission

Die Schaltfläche Administratoreinwilligung erteilen ist deaktiviert, wenn Sie kein Administrator sind oder für die Anwendung keine Berechtigungen konfiguriert wurden. Wenn Sie über Berechtigungen verfügen, die erteilt, aber noch nicht konfiguriert wurden, werden Sie nach dem Auswählen der Schaltfläche für die Administratoreinwilligung aufgefordert, zu entscheiden, wie mit diesen Berechtigungen verfahren werden soll. Sie können diese Berechtigungen den konfigurierten Berechtigungen hinzufügen oder entfernen.

Nächste Schritte

In der nächsten Schnellstartanleitung der Reihe erfahren Sie, wie Sie konfigurieren, welche Kontotypen auf Ihre Anwendung zugreifen können. Beispielsweise möchten Sie den Zugriff auf die Benutzer in Ihrer Organisation (ein Mandant) beschränken oder Benutzer in anderen Active Directory (Azure AD)-Mandanten (mehrere Mandanten) und diejenigen mit persönlichen Microsoft-Konten (MSA) zulassen.