Anpassen von Token
Dieser Artikel hilft Ihnen dabei, ID-Token, Zugriffstoken und Sicherheitstoken von Microsoft Identity Platform zu verwenden, um Sicherheit in Anwendungen zu integrieren. Sie erfahren, welche Informationen Sie in Microsoft Entra-Token empfangen und wie Sie sie anpassen können. Dies ist der fünfte Artikel in einer Reihe dazu, wie unabhängige Softwareentwickler (Independent Software Developers, ISVs) ihre Anwendungen für Microsoft Entra ID erstellen und optimieren können. In dieser Reihe finden Sie weitere Informationen zu folgenden Themen:
- Microsoft Entra ID für unabhängige Softwareentwickler beschreibt, wie Sie diesen cloudbasierten Identitäts- und Zugriffsverwaltungsdienst verwenden, um Mitarbeitern mit Ihrer Anwendung den Zugriff auf Ressourcen zu ermöglichen.
- Im Artikel zum Einrichten von Anwendungen im Microsoft Entra ID-Ökosystem wird beschrieben, wie Sie das Microsoft Entra Admin Center oder die Microsoft Graph-API (Application Programming Interface; Anwendungsprogrammierschnittstelle) zum Registrieren von Apps in einem Microsoft Entra ID-Mandanten verwenden.
- Im Artikel zum Authentifizieren von Anwendungen und Benutzern erfahren Sie, wie Anwendungen Microsoft Entra ID zum Authentifizieren von Benutzern und Anwendungen verwenden.
- Im Artikel zum Autorisieren von Anwendungen, Ressourcen und Workloads wird das Autorisierungsszenario behandelt, in dem einzelne Benutzer mit einer Anwendung interagieren und sie steuern. (In diesem Szenario agieren APIs für einen Benutzer.) Außerdem wird das Szenario behandelt, in dem Anwendungen oder Dienste unabhängig arbeiten.
Anwendungen, die eine Verbindung mit Microsoft Entra ID herstellen, fordern primär Token an und verarbeitet sie. Entwickler können das Token anpassen, das Microsoft Entra ID an Ihre App oder API mit delegierter Berechtigung sendet. Workloadtoken können nicht angepasst werden.
Wenn Ihre Anwendung OpenID Connect (OIDC) implementiert und ID-Token anfordert, können Sie das ID-Token für Ihre App anpassen. Wenn Sie eine API implementieren, können Sie die Zugriffstoken anpassen, die von Apps, die Ihre API aufrufen, empfangen werden. Die von einer Anwendung empfangenen Zugriffstoken, die den API-Zugriff einer App autorisieren, können von der Anwendung nicht angepasst werden.
Die primäre Tokenanpassungsmethode für ISVs besteht darin, optionale Ansprüche zu Token in der App-Registrierung hinzuzufügen. In der Referenz zu optionalen Ansprüchen finden Sie eine Liste mit optionalen Ansprüchen.
Für mehrinstanzenfähige Apps stehen optionale Ansprüche für jeden Mandanten zur Verfügung. Sie können Ihre API-Zugriffstoken so konfigurieren, dass sie den optionalen onprem_sid
-Anspruch enthalten, um den lokalen Sicherheitsidentitätsanspruch von Benutzern einzuschließen. Sie können zwar einen optionalen Anspruch konfigurieren, Ihre App muss jedoch immer auf den Fall vorbereitet sein, dass das Token nicht den von Ihnen konfigurierten optionalen Anspruch enthält. Beispielsweise kann es sich bei dem Benutzer um einen reinen Microsoft Entra ID-Benutzer handeln, der nicht über einen lokalen Sicherheitsbezeichner verfügt. In diesem Fall enthält Microsoft Entra ID nicht den optionalen Anspruch im Token. Microsoft Entra ID gibt keinen Anspruch mit einem leeren Wert ("") zurück.
Der Gruppenanspruch ist ein optionaler Anspruch, der eine spezielle Behandlung erfordert. Eine App oder API kann die Sicherheitsgruppen und geschachtelten Gruppen von Benutzern im Token enthalten oder sie mit Verteilerlisten mit dem Gruppenanspruch einschließen. Anwendungen können die Verzeichnisrollen eines Benutzers mit dem Anspruch wids
(mandantenweite Rollen) in das Token einschließen. Das Einschließen der Gruppen und/oder Verteilerlisten aller Benutzer kann dazu führen, dass keine Gruppen oder Verteilerlisten im Token enthalten sind.
Die Menge der Gesamteinträge in den Gruppenansprüchen wird durch die Tokengröße auf 200 (für OAuth 2.0-Apps), 150 (für SAML-Apps) bzw. sechs (für Apps, die die implizite Genehmigung im Rahmen eines Hybridflows verwenden) beschränkt. Wenn zu viele Gruppen vorhanden sind, enthält das Token einen Gruppenüberschreitungsanspruch. Wenn Ihr Token einen Gruppenüberschreitungsanspruch enthält, verwenden Sie einen Microsoft Graph-Aufruf, um die Gruppen des Benutzers abzurufen. Da Sie nicht wissen können, wann der Benutzer zu vielen Gruppen angehört, sorgen Sie immer dafür, dass Microsoft Graph in Ihrer App aufgerufen werden kann, um die Gruppenmitgliedschaften des Benutzers abzurufen. Aufgrund der Codeanforderungen von Microsoft Graph empfehlen wird die Verwendung von Microsoft Graph anstelle des Gruppenanspruchs.
Konfigurieren Sie den Gruppenanspruch so, dass nur Gruppen einbezogen werden, für die eine Anwendung über eine Zuweisung verfügt, um Gruppenüberschreitungen zu vermeiden. Bei diesem Ansatz enthält der Gruppenanspruch nur Gruppen, die einer App oder API zugewiesen sind, wenn der Benutzer der Gruppe angehört (ohne Unterstützung geschachtelter Gruppen). Benutzer müssen ein direktes Mitglied der Gruppe sein, für die eine App über eine Zuweisung verfügt.
Eine weitere Möglichkeit, Gruppenüberschreitungen zu vermeiden, ist die Verwendung von Rollen anstelle von Gruppen. Sie können Rollen für Ihre Anwendung oder API konfigurieren, die Sie in Ihrem Token empfangen. IT-Administratoren können Gruppen den von Ihnen definierten Rollen in einem Microsoft Entra ID-Mandanten zuweisen. Hierzu ist mindestens eine P1-Lizenz erforderlich. Nach der Zuweisung enthält Ihr Token einen Rollenanspruch mit der App der zugewiesenen Rollen des Benutzers (oder Rollen basierend auf der Gruppenmitgliedschaft des Benutzers).
Machen Sie sich mit den Nachteilen der Verwendung von Gruppen oder Rollen vertraut. Für ISVs empfiehlt sich die Verwendung von Rollen anstelle von Gruppen.
Nächste Schritte
- Im Artikel zu Microsoft Entra ID für unabhängige Softwareentwickler wird beschrieben, wie Sie diesen cloudbasierten Identitäts- und Zugriffsverwaltungsdienst verwenden, um Mitarbeitern den Zugriff auf Ressourcen mit Ihrer Anwendung zu ermöglichen.
- In Einrichten von Anwendungen im Microsoft Entra ID-Ökosystem wird beschrieben, wie Sie das Microsoft Entra Admin Center oder die Microsoft Graph-API zum Registrieren von Apps in einem Microsoft Entra ID-Mandanten verwenden.
- Authentifizieren von Anwendungen und Benutzern beschreibt, wie Anwendungen Microsoft Entra ID zum Authentifizieren von Benutzern und Anwendungen verwenden.
- Im Artikel zum Autorisieren von Anwendungen, Ressourcen und Workloads wird das Autorisierungsszenario behandelt, in dem ein einzelner Benutzer mit einer Anwendung interagiert und sie steuert. (In diesem Szenario agieren APIs im Namen eines Benutzers.) Außerdem wird das Szenario behandelt, in dem Anwendungen oder Dienste unabhängig arbeiten.