Anpassen von Ansprüchen mithilfe der benutzerdefinierten Anspruchsrichtlinie von Microsoft Graph (Preview)
Ein Anspruch (Claim) bezeichnet Informationen, die ein Identitätsanbieter über einen Benutzer in dem für diesen Benutzer ausgestellten Token angibt. Mandantenadministratoren passen in Token ausgegebene Ansprüche für eine bestimmte Anwendung in ihrem Mandanten an. Die Anspruchsanpassung unterstützt das Konfigurieren von Richtlinien für Anwendungen, die die Protokolle SAML, OAuth und OpenID Connect verwenden. Sie können die Anspruchsanpassung für Folgendes verwenden:
- Auswählen, welche Ansprüche in Token enthalten sind
- Erstellen Sie Anspruchstypen, die es noch nicht gibt.
- Auswählen, aus welcher Quelle die in bestimmten Ansprüchen ausgegebenen Daten stammen, oder diese ändern
In dieser Schrittanleitung werden einige allgemeine Szenarios abgedeckt, anhand derer veranschaulicht wird, wie Sie die benutzerdefinierten Anspruchsrichtlinie verwenden können.
Voraussetzungen
- Ein Microsoft Entra-Mandant
- EineUnternehmensanwendung, die im Microsoft Entra Admin Center konfiguriert ist.
- PowerShell-Benutzerinnen und -Benutzer laden zunächst das neueste Microsoft Graph PowerShell SDK herunter. Dieser Schritt ist optional.
Anspruchsanpassung in Microsoft Entra ID
Microsoft Entra ID unterstützt zwei Möglichkeiten zum Anpassen von Ansprüchen mithilfe von Microsoft Graph/PowerShell für Ihre Anwendungen:
- Verwenden der Benutzerdefinierten Anspruchsrichtlinie (Preview)
- Anhand der Anspruchszuordnungsrichtlinie
In den folgenden Beispielen erstellen, aktualisieren, und ersetzen Sie Richtlinien für Dienstprinzipale. Benutzerdefinierte Anspruchsrichtlinien sind immer mit Dienstprinzipal-Objekten verknüpft. Stellen Sie sicher, dass Sie Ihre Unternehmensanwendung als Teil der Voraussetzungen konfiguriert haben, bevor Sie eine benutzerdefinierte Anspruchsrichtlinie für die Anwendung/den Dienstprinzipal erstellen.
Öffnen Sie den Microsoft Graph-Explorer in Ihrem Browser, melden Sie sich bei Microsoft Graph-Explorer mindestens als Anwendungsadmin an, und wählen Sie eines der folgenden Szenarien aus.
- Weglassen der grundlegenden Ansprüche aus Token
- Schließen Sie EmployeeID und TenantCountry als Ansprüche in Token ein
- Verwenden Sie eine Anspruchstransformation in Token
Nachdem Sie eine benutzerdefinierte Anspruchsrichtlinie erstellt haben, konfigurieren Sie Ihre Anwendung so, dass bestätigt wird, dass die Token die benutzerdefinierten Ansprüche enthalten. Weitere Informationen finden Sie unter Überlegungen zur Sicherheit.
Weglassen der grundlegenden Ansprüche aus Token
In diesem Beispiel erstellen Sie eine benutzerdefinierte Anspruchsrichtlinie, die den grundlegenden Anspruchssatz aus den Token entfernt, die an den verknüpften Dienstprinzipal ausgestellte wurden.
Identifizieren Sie im Microsoft Graph-Explorer die Anwendung, für die Sie die benutzerdefinierte Anspruchsrichtlinie für die Verwendung der Dienstprinzipal-API konfigurieren möchten.
Erstellen Sie die benutzerdefinierte Anspruchsrichtlinie, indem Sie die folgende API ausführen. Diese mit einem Dienstprinzipal verknüpfte Richtlinie verzichtet auf die grundlegenden Ansprüche der Token.
PUT https://graph.microsoft.com/beta/servicePrincipals/<servicePrincipal-id>/claimsPolicy
Anforderungstext:
{ "includeBasicClaimSet": false }
Führen Sie den folgenden Befehl aus, um Ihre neue Richtlinie abzurufen
GET https://graph.microsoft.com/beta/servicePrincipals/<servicePrincipal-id>/claimsPolicy
Antwort:
HTTP/1.1 200 OK Content-type: application/json { "@odata.context": "…", "id": "aaaaaaaa-bbbb-cccc-1111-222222222222.", "includeBasicClaimSet": false, "includeApplicationIdInIssuer": false, "audienceOverride": null, "groupFilter": null, "claims": [] }
Einschließen von EmployeeID
und TenantCountry
als Ansprüche in Tokens
In diesem Beispiel erstellen Sie eine Anpassung an die Ansprüche, die die EmployeeID
und TenantCountry
zu Token hinzufügen. In diesem Beispiel schließen wir auch den grundlegenden Anspruchssatz in Token ein.
Identifizieren Sie im Microsoft Graph-Explorer die Anwendung, für die Sie die benutzerdefinierte Anspruchsrichtlinie für die Verwendung der Dienstprinzipal-API konfigurieren möchten.
Erstellen Sie die benutzerdefinierte Anspruchsrichtlinie, indem Sie die folgende API ausführen. Diese Richtlinie, die mit einem Dienstprinzipal verknüpft ist, fügt den Token die Ansprüche „EmployeeID“ und „TenantCountry“ hinzu.
PUT https://graph.microsoft.com/beta/servicePrincipals/<servicePrincipal-id>/claimsPolicy
Anforderungstext:
{ "includeBasicClaimSet": true, "claims": [ { "@odata.type": "#microsoft.graph.customClaim", "name": "employeeId", "namespace": null, "tokenFormat": [ "jwt" ], "samlAttributeNameFormat": null, "configurations": [ { "condition": null, "attribute": { "@odata.type": "#microsoft.graph.sourcedAttribute", "id": " employeeid", "source": "user", "isExtensionAttribute": false }, "transformations": [] } ] }, { "@odata.type": "#microsoft.graph.customClaim", "name": "country", "namespace": null, "tokenFormat": [ "jwt" ], "samlAttributeNameFormat": null, "configurations": [ { "condition": null, "attribute": { "@odata.type": "#microsoft.graph.sourcedAttribute", "id": " tenantcountry", "source": "user", "isExtensionAttribute": false }, "transformations": [] } ] } ] }
Führen Sie den folgenden Befehl aus, um Ihre neue Richtlinie abzurufen:
GET https://graph.microsoft.com/beta/servicePrincipals/<servicePrincipal-id>/claimsPolicy
Antwort:
{ "@odata.context": "…", "id": "aaaaaaaa-bbbb-cccc-1111-222222222222", "includeBasicClaimSet": true, "includeApplicationIdInIssuer": false, "audienceOverride": null, "groupFilter": null, "claims": [...] }
Verwenden Sie eine Anspruchstransformation in Token
In diesem Beispiel aktualisieren Sie eine Richtlinie, die einen benutzerdefinierten Anspruch „JoinedData“ an JWTs ausgibt, die für verknüpfte Dienstprinzipale ausgestellt werden. Dieser Anspruch enthält einen Wert, der durch das Verknüpfen der im Attribut „extensionattribute1“ im Benutzerobjekt mit „.-ext“ gespeicherten Daten erstellt wird. In diesem Beispiel schließen wir den grundlegenden Anspruchssatz in Token aus.
Identifizieren Sie im Microsoft Graph-Explorer die Anwendung, für die Sie die benutzerdefinierte Anspruchsrichtlinie für die Verwendung der Dienstprinzipal-API konfigurieren möchten.
Erstellen Sie die benutzerdefinierte Anspruchsrichtlinie, indem Sie die folgende API ausführen. Diese Richtlinie gibt einen benutzerdefinierten Anspruch
JoinedData
an Token aus.PATCH https://graph.microsoft.com/beta/servicePrincipals/<servicePrincipal-id>/claimsPolicy
Anforderungstext:
{ "includeBasicClaimSet": true, "claims": [ { "@odata.type": "#microsoft.graph.customClaim", "name": "JoinedData", "namespace": null, "tokenFormat": [ "jwt" ], "samlAttributeNameFormat": null, "configurations": [ { "condition": null, "attribute": null, "transformations": [ { "@odata.type": "#microsoft.graph.joinTransformation", "separator": "-", "input": { "treatAsMultiValue": false, "attribute": { "@odata.type": "#microsoft.graph.sourcedAttribute", "id": "extensionattribute1", "source": "user", "isExtensionAttribute": false } }, "input2": { "treatAsMultiValue": false, "attribute": { "@odata.type":"#microsoft.graph.valueBasedAttribute", "value": "ext" } } } ] } ] } ] }
Hinweis
Benutzerdefinierte Anspruchsrichtlinie ist eine stark typisierte Richtlinie, und jede Transformation verwendet einen anderen
@odata.type
-Wert.Führen Sie den folgenden Befehl aus, um Ihre neue Richtlinie anzuzeigen und deren
ObjectId
abzurufen:GET https://graph.microsoft.com/beta/servicePrincipals/<servicePrincipal-id>/claimsPolicy
Antwort:
{ "@odata.context": "…", "id": "aaaaaaaa-bbbb-cccc-1111-222222222222", "includeBasicClaimSet": true, "includeApplicationIdInIssuer": false, "audienceOverride": null, "groupFilter": null, "claims": [...] }
Zugehöriger Inhalt
- Erfahren Sie mehr über die Unterschiede zwischen Richtlinien in Anspruchsanpassung mithilfe einer Richtlinie.
- Microsoft.Graph-Identitätsanmeldungen