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
- Ein Azure-Konto mit einem aktiven Abonnement. Sie können kostenlos ein Konto erstellen.
- Abschluss von Schnellstart: Registrieren einer Anwendung
- Abschluss von Schnellstart: Konfigurieren einer Anwendung für das Verfügbarmachen einer Web-API
Hinzufügen von Berechtigungen für den Zugriff auf Ihre Web-API
Tipp
Die Schritte in diesem Artikel können je nach dem Portal, mit dem Sie beginnen, geringfügig variieren.
Für den Zugriff auf APIs müssen Zugriffsbereiche und Rollen konfiguriert werden. Wenn Sie die Web-APIs Ihrer Ressourcenanwendung für Clientanwendungen verfügbar machen möchten, können Sie Zugriffsbereiche und Rollen für die API konfigurieren. Konfigurieren Sie Zugriffsberechtigungen für die API in der App-Registrierung, wenn eine Clientanwendung auf eine Web-API zugreifen soll.
Um einer Clientanwendung Zugriff auf Ihre eigene Web-API zu gewähren, müssen Sie über zwei App-Registrierungen verfügen.
- Eine Client-App-Registrierung
- Eine Web-API-Registrierung mit verfügbar gemachten Bereichen
In der Abbildung sehen Sie, wie sich die beiden App-Registrierungen aufeinander beziehen, sowie die verschiedenen Berechtigungstypen der Client-App und die verschiedenen Bereiche der Web-API, auf die die Clientanwendung zugreifen kann. In diesem Abschnitt fügen Sie der Registrierung der Client-App Berechtigungen hinzu.
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:
Melden Sie sich beim Microsoft Entra Admin Center mindestens als Cloudanwendungsadministrator an.
Wenn Sie Zugriff auf mehrere Mandanten haben, verwenden Sie das Symbol für Einstellungen im oberen Menü, um zum Mandanten zu wechseln, der die App-Registrierung aus dem Menü Verzeichnisse + Abonnements enthält.
Wechseln Sie zu Identität>Anwendungen>App-Registrierungen, und wählen Sie dann Ihre Clientanwendung aus (nicht Ihre Web-API).
Wählen Sie API-Berechtigungen aus, dann Berechtigung hinzufügen und in der Randleiste Meine APIs.
Wählen Sie die Web-API aus, die Sie als Teil der Voraussetzungen registriert haben, und wählen Sie Delegierte Berechtigungen aus.
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.
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.
- Wenn Sie die im vorherigen Schnellstart angegebenen Beispielbereichsnamen verwendet haben, sollten Employees.Read.All und
Wählen Sie die Berechtigung aus, die Sie beim Erfüllen der Voraussetzungen erstellt haben, z. B.
Employees.Read.All
.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.
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.
Wählen Sie in der Übersicht Ihrer Clientanwendung API-Berechtigungen>Berechtigung hinzufügen>Microsoft Graph aus.
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.
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 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.
- Melden Sie sich beim Microsoft Entra Admin Center mindestens als Cloudanwendungsadministrator an.
- Wenn Sie Zugriff auf mehrere Mandanten haben, verwenden Sie das Symbol für Einstellungen im oberen Menü, um zum Mandanten zu wechseln, der die App-Registrierung aus dem Menü Verzeichnisse + Abonnements enthält.
- Wechseln Sie zu Identität>Anwendungen>App-Registrierungen, und wählen Sie dann Ihre Clientanwendung aus.
- Wählen Sie API-Berechtigungen>Berechtigung hinzufügen>Microsoft Graph>Anwendungsberechtigungen aus.
- Alle von Microsoft Graph verfügbar gemachten Berechtigungen werden unter Berechtigungen auswählen angezeigt.
- 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. - 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.
Weitere Informationen zu API-Berechtigungen und zur Administratoreinwilligung
Der Bereich API-Berechtigungen einer App-Registrierung enthält die Tabelle Konfigurierte Berechtigungen und die Schaltfläche Administratoreinwilligung, die in den folgenden Abschnitten beschrieben werden.
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 Berechtigungen hinzufügen oder entfernen, die in dieser Tabelle angezeigt werden, indem Sie die oben beschriebenen Schritte ausführen. 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.
Schaltfläche „Administratorzustimmung“
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.
Nachdem Sie die Einwilligung erteilt haben, werden die Berechtigungen, für die eine Administratoreinwilligung erforderlich ist, als erteilt angezeigt:
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.
Entfernen von Anwendungsberechtigungen
Es ist wichtig, einer Anwendung nicht mehr Berechtigungen zu erteilen, als erforderlich sind. Um die Administratoreinwilligung für eine Berechtigung in Ihrer Anwendung zu widerrufen, führen Sie Folgendes durch:
- Navigieren Sie zu Ihrer Anwendung, und wählen Sie API-Berechtigungen aus.
- Wählen Sie unter Konfigurierte Berechtigungen die drei Punkte neben der Berechtigung aus, die Sie entfernen möchten, und wählen Sie Berechtigung entfernen aus.
- Wählen Sie im daraufhin angezeigten Popup Ja, entfernen aus, um die Administratoreinwilligung für die Berechtigung zu widerrufen.
Zugehöriger Inhalt
In der nächsten Schnellstartanleitung der Reihe erfahren Sie, wie Sie konfigurieren, welche Kontotypen auf Ihre Anwendung zugreifen können. Beispielsweise können Sie den Zugriff auf die Benutzer in Ihrer Organisation (einzelinstanzenfähig) beschränken oder ihn für Benutzer in anderen Microsoft Entra-Mandanten (mehrinstanzenfähig) und mit persönlichen Microsoft-Konten (MSA) zulassen.