Auth Benutzer-Token


Grundlagen der Authentifizierung und Autorisierung

Microsoft Graph ist eine geschützte Web-API für den Zugriff auf Daten in Microsoft-Clouddiensten wie Microsoft Entra ID und Microsoft 365. Es wird durch die Microsoft Identity Platform geschützt, die OAuth-Zugriffstoken verwendet, um zu überprüfen, ob eine App zum Aufrufen von Microsoft Graph autorisiert ist.

Dieser Artikel bietet eine Übersicht über die Microsoft Identity Platform, Zugriffstoken und wie Ihre App Zugriffstoken abrufen kann. Weitere Informationen zur Microsoft Identity Platform finden Sie unter Was ist die Microsoft Identity Platform?. Wenn Sie wissen, wie Sie eine App in die Microsoft Identity Platform integrieren, um Token abzurufen, finden Sie in den Microsoft Identity Platform-Codebeispielen Informationen und Beispiele speziell für Microsoft Graph.

Registrieren der Anwendung

Bevor Ihre App ein Zugriffstoken von der Microsoft Identity Platform abrufen kann, muss sie bei das Microsoft Entra Admin Center. Durch die Registrierung wird Ihre App in die Microsoft Identity Platform integriert und die Informationen festgelegt, die zum Abrufen von Token verwendet werden, einschließlich:

  • Anwendungs-ID : Ein eindeutiger Bezeichner, der von der Microsoft Identity Platform zugewiesen wird.
  • Umleitungs-URI/URL: Ein oder mehrere Endpunkte, an denen Ihre App Antworten von der Microsoft Identity Platform empfängt. (Bei nativen und mobilen Apps wird der URI von der Microsoft Identity Platform zugewiesen.)
  • Geheimer Clientschlüssel: Ein Kennwort, das Ihre App für die Authentifizierung bei der Microsoft Identity Platform verwendet. Sie können optional ein Zertifikat oder Anmeldeinformationen für eine Verbundidentität verwenden. Diese Eigenschaft ist für öffentliche Clients wie native, mobile und Single-Page-Anwendungen nicht erforderlich.

Weitere Informationen finden Sie unter Registrieren einer Anwendung bei der Microsoft Identity Platform.

Zugriffsszenarien

Die Methode, die eine App zum Authentifizieren bei Microsoft Identity Platform verwendet, hängt davon ab, wie die App auf die Daten zugreifen soll. Dieser Zugriff kann auf zwei Arten erfolgen, wie in der folgenden Abbildung dargestellt.

  • Delegierter Zugriff , eine App, die im Namen eines angemeldeten Benutzers handelt.
  • Nur-App-Zugriff , eine App, die mit einer eigenen Identität agiert.

Delegierter Zugriff (Zugriff im Namen eines Benutzers)

In diesem Zugriffsszenario hat sich ein Benutzer bei einer Clientanwendung angemeldet, und die Clientanwendung ruft Microsoft Graph im Namen des Benutzers auf. Sowohl der Client als auch der Benutzer müssen berechtigt sein, die Anforderung zu stellen .

Für den delegierten Zugriff sind delegierte Berechtigungen erforderlich, die auch als Bereiche bezeichnet werden . Bereiche sind Berechtigungen, die von einer bestimmten Ressource verfügbar gemacht werden, und sie stellen die Vorgänge dar, die eine App im Namen eines Benutzers ausführen kann.

Da sowohl die App als auch der Benutzer autorisiert sein müssen, die Anforderung zu stellen, erteilt die Ressource der Client-App die delegierten Berechtigungen, damit die Client-App im Namen des angegebenen Benutzers auf Daten zugreifen kann. Für den Benutzer hängen die Aktionen, die er für die Ressource ausführen kann, von den Berechtigungen ab, die er für den Zugriff auf die Ressource hat. Der Benutzer kann z. B. der Besitzer der Ressource sein, oder ihm kann eine bestimmte Rolle über ein rollenbasiertes Zugriffssteuerungssystem (Role-Based Access Control System, RBAC) wie Microsoft Entra RBAC zugewiesen werden.

Hinweis

Endpunkte und APIs mit dem Alias funktionieren nur für den angemeldeten Benutzer und werden daher in Szenarien mit delegiertem Zugriff aufgerufen.

Nur-App-Zugang (Zugriff ohne Benutzer)

In diesem Zugang Szenario kann die Anwendung selbstständig mit Daten interagieren, ohne dass ein Benutzer angemeldet ist. Der Nur-App-Zugriff wird in Szenarien wie Automatisierung und Sicherung verwendet und wird hauptsächlich von Apps verwendet, die als Hintergrunddienste oder Daemons ausgeführt werden. Es ist geeignet, wenn es unerwünscht ist, dass ein Benutzer angemeldet ist, oder wenn die erforderlichen Daten nicht auf einen einzelnen Benutzer beschränkt werden können.

Apps erhalten Berechtigungen zum Aufrufen von Microsoft Graph mit ihrer eigenen Identität auf eine der folgenden Arten:

  • Wenn der App Anwendungsberechtigungen zugewiesen werden, auch App-Rollen genannt
  • Wenn der App der Besitz der Ressource zugewiesen wird, die sie verwalten möchte

Hinweis

Eine App kann Berechtigungen auch über Berechtigungen erhalten, die von einem rollenbasierten Zugriffssteuerungssystem wie Microsoft Entra RBAC erteilt werden.

Microsoft Graph-Berechtigungen

Microsoft Graph macht granulare Berechtigungen verfügbar, die den Zugriff von Apps auf Microsoft Graph-Ressourcen wie Benutzer, Gruppen und E-Mails steuern. Als Entwickler entscheiden Sie, welche Microsoft Graph-Berechtigungen für Ihre App angefordert werden sollen, basierend auf dem Zugriffsszenario und den Vorgängen, die Sie ausführen möchten.

Microsoft Graph macht zwei Arten von Berechtigungen für die unterstützten Zugriffsszenarien verfügbar:

  • Delegierte Berechtigungen: Auch als Bereiche bezeichnet, ermöglichen es der Anwendung, im Namen des angemeldeten Benutzers zu handeln.
  • Anwendungsberechtigungen: Auch als App-Rollen bezeichnet, ermöglichen es der App, selbstständig auf Daten zuzugreifen, ohne dass ein Benutzer angemeldet ist.

Wenn sich ein Benutzer bei einer App anmeldet, muss die App die Berechtigungen angeben, die im Zugriffstoken enthalten sein sollen. Diese Berechtigungen:

  • Kann von einem Administrator für die Anwendung vorautorisiert werden.
  • Kann vom Nutzer direkt eingewilligt werden.
  • Wenn nicht vorab autorisiert, sind möglicherweise Administratorrechte erforderlich, um die Zustimmung zu erteilen. Zum Beispiel für Berechtigungen mit einer größeren potenziellen Auswirkung auf die Sicherheit.

Weitere Informationen zu Berechtigungen und Zustimmung finden Sie unter Einführung in Berechtigungen und Einwilligung.

Hinweis

Es empfiehlt sich, die Berechtigungen mit den geringsten Berechtigungen anzufordern, die Ihre App benötigt, um auf Daten zuzugreifen und ordnungsgemäß zu funktionieren. Das Anfordern von Berechtigungen mit mehr als den erforderlichen Berechtigungen ist eine schlechte Sicherheitspraxis, die dazu führen kann, dass Benutzer ihre Zustimmung verweigern und die Nutzung Ihrer App beeinträchtigen.

Weitere Informationen zu Microsoft Graph-Berechtigungen und deren Verwendung finden Sie in der Übersicht über Microsoft Graph-Berechtigungen.

Zugriffstoken

Eine Anwendung sendet eine Authentifizierungsanforderung an den Microsoft-Server Identity Platform zum Abrufen von Zugriffstoken, die zum Aufrufen einer API, z. B. Microsoft Graph, verwendet werden. Zugriffstoken, die von der Microsoft Identity Platform ausgestellt werden, enthalten Ansprüche, bei denen es sich um Details zur Anwendung und in Szenarien mit delegiertem Zugriff um den Benutzer handelt. Web-APIs, die durch die Microsoft Identity Platform gesichert sind, z. B. Microsoft Graph, verwenden die Ansprüche, um den Aufrufer zu überprüfen und sicherzustellen, dass der Aufrufer über die richtigen Berechtigungen zum Ausführen des angeforderten Vorgangs verfügt. Der Aufrufer sollte Zugriffstoken als undurchsichtige Zeichenfolgen behandeln, da der Inhalt des Tokens nur für die API bestimmt ist. Schützen Sie beim Aufrufen von Microsoft Graph Zugriffstoken immer, indem Sie sie über einen sicheren Kanal übertragen, der TLS (Transport Layer Security) verwendet.

Zugriffstoken sind eine Art Sicherheitstoken, die von der Microsoft Identity Platform bereitgestellt werden. Sie sind kurzlebig, haben aber variable Standardlebensdauer.

Um Microsoft Graph aufzurufen, sendet die App eine Autorisierungsanforderung, indem sie das Zugriffstoken als Bearertoken an den Authorization-Header in einer HTTP-Anforderung anfügt. Beispiel: der folgende Aufruf, der die Profilinformationen des angemeldeten Benutzers zurückgibt (das Zugriffstoken wurde zur besseren Lesbarkeit gekürzt):

Weitere Informationen zu Microsoft Identity Platform-Zugriffstoken finden Sie unter ID-Token in der Microsoft Identity Platform.

Abrufen eines Zugriffstokens

Es wird empfohlen, Authentifizierungsbibliotheken zu verwenden, um Ihre Tokeninteraktionen mit der Microsoft Identity Platform zu verwalten. Microsoft veröffentlicht Open-Source-Clientbibliotheken und Servermiddleware.

Für den Microsoft Identity Platform-Endpunkt:

  • MSAL-Clientbibliotheken (Microsoft Authentication Library) sind für verschiedene Frameworks verfügbar, z. B. für . Alle Plattformen befinden sich in der produktionsunterstützten Vorschau, und für den Fall, dass wichtige Änderungen eingeführt werden, garantiert Microsoft einen Pfad zum Upgrade.
  • Server-Middleware von Microsoft ist für .NET Core und ASP.NET (OWIN, OpenID Connect und OAuth) sowie für Node.js (Microsoft Identity Platform Passport.js) verfügbar.
  • Die Microsoft Identity Platform ist auch mit vielen Authentifizierungsbibliotheken von Drittanbietern kompatibel.

Eine vollständige Liste der Microsoft-Clientbibliotheken, der Microsoft-Servermiddleware und kompatibler Bibliotheken von Drittanbietern finden Sie in der Microsoft Identity Platform-Dokumentation.

Sie müssen keine Authentifizierungsbibliothek verwenden, um ein Zugriffstoken zu erhalten. Informationen zur direkten Verwendung der Microsoft Identity Platform-Endpunkte ohne die Hilfe einer Authentifizierungsbibliothek finden Sie in den folgenden Artikeln:

Verwandte Inhalte