Sicherheitstoken

Ein zentraler Identitätsanbieter ist besonders nützlich für Apps mit weltweit verteilten Benutzern, die sich nicht immer über das Netzwerk des Unternehmens anmelden. Microsoft Identity Platform authentifiziert Benutzer und stellt Sicherheitstoken bereit, wie z. B. Zugriffstoken, Aktualisierungstoken und ID-Token. Mit Sicherheitstoken kann eine Clientanwendung auf geschützte Ressourcen auf einem Ressourcenserver zugreifen.

Zugriffstoken: Ein Zugriffstoken ist ein Sicherheitstoken, das von einem Autorisierungsserver im Rahmen eines OAuth 2.0-Flows ausgestellt wird. Es enthält Informationen zum Benutzer und zu der Ressource, für die das Token vorgesehen ist. Die Informationen können für den Zugriff auf Web-APIs und andere geschützte Ressourcen verwendet werden. Zugriffstoken werden von Ressourcen überprüft, um einer Client-App Zugriff zu gewähren. Weitere Informationen dazu, wie Microsoft Identity Platform Zugriffstoken ausstellt, finden Sie unter Zugriffstoken.

Aktualisierungstoken: Da Zugriffstoken nur kurze Zeit gültig sind, stellen Autorisierungsserver manchmal gleichzeitig mit dem Zugriffstoken auch ein Aktualisierungstoken aus. Die Clientanwendung kann dann dieses Aktualisierungstoken bei Bedarf gegen ein neues Zugriffstoken austauschen. Weitere Informationen dazu, wie Microsoft Identity Platform Aktualisierungstoken zum Widerrufen von Berechtigungen verwendet, finden Sie unter Aktualisierungstoken.

ID-Token: ID-Token werden als Teil eines OpenID Connect-Flows an die Clientanwendung gesendet. Sie können zusammen mit einem Zugriffstoken oder anstelle dessen gesendet werden. Mithilfe des ID-Tokens authentifiziert der Client den Benutzer. Weitere Informationen dazu, wie Microsoft Identity Platform ID-Token ausstellt, finden Sie unter ID-Token.

Hinweis

In diesem Artikel werden Sicherheitstoken erläutert, die von den OAuth2- und OpenID Connect-Protokollen verwendet werden. Viele Unternehmensanwendungen verwenden SAML zum Authentifizieren von Benutzern. Weitere Informationen zu SAML-Assertionen finden Sie in der Azure Active Directory-SAML-Tokenreferenz.

Überprüfen von Sicherheitstoken

Die Überprüfung des Tokens wird auf eine der folgenden Arten durchgeführt: von der App, für die das Token generiert wurde, der Web-App, mit der der Benutzer angemeldet wurde, oder der Web-API, die für die Überprüfung des Tokens aufgerufen wird. Das Token wird vom Autorisierungsserver mit einem privaten Schlüssel signiert. Der Autorisierungsserver veröffentlicht den entsprechenden öffentlichen Schlüssel. Zur Überprüfung eines Tokens verifiziert die App die Signatur, indem mit dem öffentlichen Schlüssel vom Autorisierungsserver überprüft wird, ob die Signatur mit dem privaten Schlüssel erstellt wurde.

Token sind nur für einen begrenzten Zeitraum gültig. In der Regel stellt der Autorisierungsserver ein Tokenpaar bereit, z. B.:

  • Ein Zugriffstoken für den Zugriff auf die Anwendung oder die geschützte Ressource
  • Ein Aktualisierungstoken zum Aktualisieren des Zugriffstokens, wenn dieses demnächst abläuft

Zugriffstoken werden als Bearertoken im Authorization-Header an eine Web-API übergeben. Eine App kann ein Aktualisierungstoken an den Autorisierungsserver übergeben. Wenn der Benutzerzugriff auf die App nicht widerrufen wurde, erhält sie ein neues Zugriffstoken und ein neues Aktualisierungstoken zurück. So wird ein Fall behandelt, bei dem eine Person aus dem Unternehmen ausscheidet. Wenn der Autorisierungsserver ein Aktualisierungstoken empfängt, stellt er kein weiteres gültiges Zugriffstoken aus, falls der Benutzer nicht mehr autorisiert ist.

JSON Web Token und Ansprüche

Microsoft Identity Platform implementiert Sicherheitstoken als JSON Web Token (JWTs), die Ansprüche enthalten. Da JWT-Token als Sicherheitstoken verwendet werden, wird diese Art der Authentifizierung manchmal auch als JWT-Authentifizierung bezeichnet.

Ein Anspruch stellt Assertionen zu einer Entität (z. B. Clientanwendung oder Ressourcenbesitzer) für eine andere Entität (z. B. Ressourcenserver) bereit. Ein Anspruch kann auch als JWT-Anspruch bzw. JSON Web Token-Anspruch bezeichnet werden.

Ansprüche sind Name-Wert-Paare zur Weitergabe von Informationen zum Tokenantragsteller. Ein Anspruch kann beispielsweise Informationen zum Sicherheitsprinzipal enthalten, der vom Autorisierungsserver authentifiziert wurde. Welche Ansprüche in einem Token enthalten sind, hängt von verschiedenen Dingen ab. Hierzu zählen unter anderem die Art des Tokens, die Art der Anmeldeinformationen für die Authentifizierung des Antragstellers und die Anwendungskonfiguration.

Anwendungen können Ansprüche für verschiedene Aufgaben verwenden, z. B.:

  • Überprüfen des Tokens
  • Identifizieren des Mandanten des Tokenantragstellers
  • Anzeigen von Benutzerinformationen
  • Bestimmen der Autorisierung des Antragstellers

Ein Anspruch besteht aus Schlüssel-Wert-Paaren, mit denen beispielsweise die folgenden Informationen bereitgestellt werden:

  • Sicherheitstokenserver, der das Token generiert hat
  • Datum, an dem das Token generiert wurde
  • Antragsteller (z. B. der Benutzer – mit Ausnahme von Daemons)
  • Zielgruppe, d. h. App, für die das Token generiert wurde
  • App (der Client), die das Token angefordert hat. Bei Web-Apps kann diese App mit der Zielgruppe identisch sein.

Weitere Informationen dazu, wie Microsoft Identity Platform Token und Anspruchsinformationen implementiert, finden Sie unter Zugriffstoken und ID-Token.

Ausgabe von Token und Codes für die einzelnen Abläufe

Je nach Art Ihres Clients kann einer (oder auch mehrere) der Authentifizierungsabläufe verwendet werden, die von der Microsoft Identity Platform unterstützt werden. Diese Flows können verschiedene Token (ID-Token, Aktualisierungstoken, Zugriffstoken) und Autorisierungscodes erzeugen. Sie erfordern unterschiedliche Token, damit sie funktionieren. Diese Tabelle enthält eine Übersicht.

Flow Erforderlich ID-Token Zugriffstoken Aktualisierungstoken Authorization code (Autorisierungscode)
Autorisierungscodeflow x x x x
Impliziter Flow x x
Hybrid-OIDC-Ablauf x x
Einlösung des Aktualisierungstokens Aktualisierungstoken x x x
„Im Auftrag von“-Ablauf Zugriffstoken x x x
Clientanmeldeinformationen x (nur App)

Für Token, die im impliziten Modus ausgestellt werden, gilt eine Längenbeschränkung, da sie per URL zurück an den Browser übergeben werden (response_mode ist hierbei query oder fragment). Bei einigen Browsern gilt eine Größenbeschränkung für die URL, die in die Browserleiste eingefügt werden kann. Es tritt ein Fehler auf, wenn die URL zu lang ist. Daher verfügen diese Token nicht über die Ansprüche groups oder wids.

Nächste Schritte

Weitere Informationen zur Authentifizierung und Autorisierung in der Microsoft Identity Platform finden Sie in den folgenden Artikeln: