Freigeben über


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:

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