Anpassen von SAML-Tokenansprüchen

Die Microsoft-Identitätsplattform unterstützt Single Sign-On (SSO) mit den meisten vorintegrierten Anwendungen in der Anwendungsgalerie und benutzerdefinierten Anwendungen. Wenn sich ein Benutzer mithilfe des SAML 2.0-Protokolls über die Microsoft Identity Platform bei einer Anwendung authentifiziert, wird ein Token an die Anwendung gesendet. Die Anwendung überprüft und verwendet das Token, um den Benutzer anzumelden, anstatt den Benutzernamen und das Kennwort anzufordern.

Diese SAML-Token enthalten Informationen über den Benutzer, die als Ansprüche bezeichnet werden. Ein Anspruch (Claim) bezeichnet Informationen, die ein Identitätsanbieter über einen Benutzer in dem für diesen Benutzer ausgestellten Token angibt. In einem SAML-Token sind Anspruchsdaten in der Regel in der SAML-Attributanweisung enthalten. Die eindeutige ID des Benutzers wird normalerweise im SAML-Betreff dargestellt und wird auch Namensbezeichner (nameID) genannt.

Standardmäßig stellt Microsoft Identity Platform für eine Anwendung ein SAML-Token aus, das einen Anspruch enthält, dessen Wert dem Benutzernamen (auch als Benutzerprinzipalname bezeichnet) entspricht. Dadurch kann der Benutzer eindeutig identifiziert werden. Das SAML-Token enthält außerdem weitere Ansprüche, zu denen E-Mail-Adresse, Vorname und Nachname des Benutzers zählen.

Anzeigen oder Bearbeiten von Ansprüchen

So können Sie die im SAML-Token an die Anwendung ausgestellten Ansprüche anzeigen oder bearbeiten:

  1. Melden Sie sich beim Microsoft Entra Admin Center mindestens als Cloudanwendungsadministrator an.
  2. Browsen Sie zu Identität>Anwendungen>Unternehmensanwendungen>Alle Anwendungen.
  3. Wählen Sie die Anwendung aus, wählen Sie im Menü auf der linken Seite Einmaliges Anmelden und dann im Abschnitt Attribute und Ansprüche die Option Bearbeiten aus.

Sie müssen die im SAML-Token ausgestellten Ansprüche aus den folgenden Gründen möglicherweise bearbeiten:

  • Die Anwendung erfordert, dass es sich beim NameIdentifier- oder nameID-Anspruch nicht um den gespeicherten Benutzernamen (oder Benutzer-Hauptnamen) handelt.
  • Die Anwendung wurde so geschrieben, dass sie einen anderen Satz an Anspruchs-URIs oder Anspruchswerten erfordert.

Bearbeiten von nameID

So bearbeiten Sie die Wertanforderung des Namensbezeichners:

  1. Öffnen Sie die Seite Wert für Namensbezeichner.
  2. Wählen Sie das gewünschte Attribut oder die auf das Attribut anzuwendende Transformation aus. Optional können Sie auch das Format für den nameID-Anspruch angeben.

NameID-Format

Wenn die SAML-Anforderung das NameIDPolicy-Element in einem bestimmten Format enthält, berücksichtigt Microsoft Identity Platform das Format in der Anforderung.

Wenn die SAML-Anforderung kein Element für NameIDPolicy enthält, gibt Microsoft Identity Platform die nameID in dem von Ihnen angegebenen Format aus. Wenn kein Format angegeben ist, verwendet Microsoft Identity Platform das Standardquellformat, das der ausgewählten Anspruchsquelle zugeordnet ist. Wenn eine Transformation zu einem NULL-Wert oder einem ungültigen Wert führt, sendet Microsoft Entra ID in nameID einen persistenten paarweisen Bezeichner.

Wählen Sie im Dropdownmenü Namensbezeichnerformat auswählen eine der Optionen in der folgenden Tabelle aus:

nameID-Format BESCHREIBUNG
Standard Microsoft Identity Platform verwendet das Standardquellformat.
Persistent Die Microsoft Identity Platform verwendet Persistent als nameID-Format.
E-Mail-Adresse Die Microsoft Identity Platform verwendet EmailAddress als nameID-Format.
Nicht angegeben Die Microsoft Identity Platform verwendet Unspecified als nameID-Format.
Qualifizierter Name der Windows-Domäne Die Microsoft Identity Platform verwendet das WindowsDomainQualifiedName-Format.

Eine vorübergehende nameID wird ebenfalls unterstützt, ist jedoch im Dropdownmenü nicht verfügbar und kann in Azure nicht konfiguriert werden. Weitere Informationen zum NameIDPolicy-Attribut finden Sie unter SAML-Protokoll für einmaliges Anmelden.

Attribute

Tipp

Die Schritte in diesem Artikel können je nach dem Portal, mit dem Sie beginnen, geringfügig variieren.

Wählen Sie die gewünschte Quelle für den Anspruch NameIdentifier (oder nameID) aus. Sie können aus den Optionen in der folgenden Tabelle auswählen.

Name Beschreibung
Email Die E-Mail-Adresse des Benutzers.
userprincipalName Der Benutzerprinzipalname (User Principal Name, UPN) des Benutzers.
onpremisessamaccountname Der SAM-Kontoname der aus der lokalen Microsoft Entra ID synchronisiert wurde.
objectid Die Objekt-ID des Benutzers in Microsoft Entra ID.
employeeid Die Mitarbeiter-ID des Benutzers.
Directory extensions Die Verzeichniserweiterungen, die über die Microsoft Entra Connect-Synchronisierung aus dem lokalen Active Directory synchronisiert wurden.
Extension Attributes 1-15 Die lokalen Erweiterungsattribute, die zur Erweiterung des Microsoft Entra-Schemas verwendet werden.
pairwiseid Die persistente Form der Benutzer-ID.

Weitere Informationen zu ID-Werten finden Sie weiter unten auf dieser Seite in der Tabelle, in der die gültigen ID-Werte pro Quelle aufgeführt sind.

Jeder Konstantenwert (statischer Wert) kann beliebigen definierten Ansprüchen zugewiesen werden. Befolgen Sie die folgenden Schritte, um einen Konstantenwert zuzuweisen:

  1. Wählen Sie auf dem Blatt Attribute und Ansprüche den erforderlichen Anspruch aus, den Sie ändern möchten.
  2. Geben Sie als Quellattribut den Konstantenwert (ohne Anführungszeichen) entsprechend Ihrer Organisation ein, und wählen Sie Speichern aus. Der Konstantenwert wird angezeigt.

Verzeichnisschemaerweiterungen

Sie können Erweiterungsattribute für das Verzeichnisschema auch als nicht bedingte/bedingte Attribute konfigurieren. Befolgen Sie die folgenden Schritte, um das Attribut der ein- oder mehrwertigen Verzeichnisschemaerweiterung als Anspruch zu konfigurieren:

  1. Wählen Sie auf dem Blatt Attribute und Ansprüche die Option Neuen Anspruch hinzufügen aus, oder bearbeiten Sie einen vorhandenen Anspruch.
  2. Wählen Sie in der Anwendungsauswahl die Quellanwendung aus, in der die Erweiterungseigenschaft definiert ist.
  3. Wählen Sie Hinzufügen aus, um die Auswahl den Ansprüchen hinzuzufügen.
  4. Klicken Sie auf Speichern, um die Änderungen zu übernehmen.

Transformationen besonderer Ansprüche

Sie können die folgenden Funktionen für die Transformation besonderer Ansprüche verwenden:

Funktion BESCHREIBUNG
ExtractMailPrefix() Entfernt das Domänensuffix aus der E-Mail-Adresse oder dem Benutzerprinzipalnamen. Mit dieser Funktion wird nur der erste Teil des Benutzernamens übergeben (z.B. „joe_smith“ anstelle von joe_smith@contoso.com).
ToLower() Konvertiert die Zeichen des ausgewählten Attributs in Kleinbuchstaben.
ToUpper() Konvertiert die Zeichen des ausgewählten Attributs in Großbuchstaben.

Hinzufügen anwendungsspezifischer Ansprüche

Gehen Sie wie folgt vor, um anwendungsspezifische Ansprüche hinzuzufügen:

  1. Wählen Sie auf dem Blatt Attribute und Ansprüche die Option Neuen Anspruch hinzufügen aus, um die Seite Benutzeransprüche verwalten zu öffnen.
  2. Geben Sie den Namen der Ansprüche ein. Der Wert muss nicht unbedingt einem URI-Muster gemäß der SAML-Spezifikation folgen. Wenn Sie ein URI-Muster benötigen, können Sie es im Feld Namespace angeben.
  3. Wählen Sie die Quelle aus, aus der der Anspruch den zugehörigen Wert abruft. Sie können ein Benutzerattribut aus der Dropdownliste für „Quellattribut“ auswählen oder eine Transformation auf das Benutzerattribut anwenden, bevor es als Anspruch ausgegeben wird.

Gruppenanspruch hinzufügen

Gruppenansprüche werden verwendet, um Autorisierungsentscheidungen für den Zugriff auf eine Ressource durch eine App oder einen Dienstanbieter zu treffen. So fügen Sie Gruppenansprüche hinzu;

  1. Navigieren Sie zu App-Registrierungen, und wählen Sie die App aus, der Sie einen Gruppenanspruch hinzufügen möchten.
  2. Wählen Sie Anspruchsgruppen hinzufügen aus.
  3. Wählen Sie die Gruppentypen aus, die in Ihr Token eingeschlossen werden sollen. Sie können Sicherheitsgruppen, Verzeichnisgruppen oder Gruppen hinzufügen, die einer bestimmten Anwendung zugewiesen sind.
  4. Wählen Sie die Werte aus, die Sie in Ihren Gruppenanspruch einbeziehen möchten, und wählen Sie dann Hinzufügen aus.

Anspruchstransformationen

So wenden Sie eine Transformation auf ein Benutzerattribut an

  1. Wählen Sie unter Anspruch verwalten die Option Transformation als Anspruchsquelle aus, um die Seite Transformation verwalten zu öffnen.
  2. Wählen Sie in der Dropdownliste der Transformationen die Funktion aus. Abhängig von der ausgewählten Funktion müssen Sie Parameter und einen konstanten Wert angeben, die in der Transformation ausgewertet werden sollen.
  3. Wählen Sie die Quelle des Attributs aus, indem Sie auf das entsprechende Optionsfeld klicken.
  4. Wählen Sie in der Dropdownliste den Attributnamen aus.
  5. Quelle als mehrwertige Quelle behandeln ist ein Kontrollkästchen, das angibt, ob die Transformation auf alle Werte oder nur auf den ersten angewendet werden soll. Standardmäßig werden Transformationen nur auf das erste Element in einem Mehrwertanspruch angewendet. Durch Aktivieren dieses Kontrollkästchens stellen Sie sicher, dass sie auf alle angewendet werden. Dieses Kontrollkästchen wird nur für mehrwertige Attribute aktiviert (z. B. user.proxyaddresses).
  6. Klicken Sie auf Transformation hinzufügen, um mehrere Transformationen anzuwenden. Sie können maximal zwei Transformationen auf einen Anspruch anwenden. Beispielsweise könnten Sie zuerst das E-Mail-Präfix von user.mailextrahieren. Dann könnten Sie die Zeichenfolge in Großbuchstaben umwandeln.

Zum Transformieren von Ansprüchen können Sie die folgenden Funktionen verwenden.

Funktion BESCHREIBUNG
ExtractMailPrefix() Entfernt das Domänensuffix aus der E-Mail-Adresse oder dem Benutzerprinzipalnamen. Diese Funktion extrahiert nur den ersten Teil des durchgeschleusten Benutzernamens. Beispiel: joe_smith anstelle von joe_smith@contoso.com.
Join() Erstellt einen neuen Wert durch Verknüpfen von zwei Attributen. Optional können Sie ein Trennzeichen zwischen den beiden Attributen verwenden. Bei der nameIDAnspruchstransformation weist die Join()-Funktion ein bestimmtes Verhalten auf, wenn die Transformationseingabe einen Domänenteil beinhaltet. Sie entfernt den Domänenteil aus der Eingabe, bevor sie mit der Trennlinie und dem ausgewählten Parameter verbunden wird. Wenn die Eingabe der Transformation beispielsweise joe_smith@contoso.com, die Trennlinie @ und der Parameter fabrikam.com ist, führt diese Eingabekombination zu joe_smith@fabrikam.com.
ToLowercase() Konvertiert die Zeichen des ausgewählten Attributs in Kleinbuchstaben.
ToUppercase() Konvertiert die Zeichen des ausgewählten Attributs in Großbuchstaben.
Contains() Gibt ein Attribut oder eine Konstante aus, wenn die Eingabe dem angegebenen Wert entspricht. Andernfalls können Sie eine andere Ausgabe angeben, wenn keine Übereinstimmung vorhanden ist. Beispiel: Sie möchten eine Forderung ausgeben, deren Wert die E-Mail-Adresse des Benutzers ist, wenn sie die Domäne @contoso.com enthält, andernfalls möchten Sie den Benutzerprinzipalnamen ausgeben. Konfigurieren Sie zum Ausführen dieser Funktion die Werte Parameter 1(input): user.email, Value: "@contoso.com", Parameter 2 (output): user.email, und Parameter 3 (output if there's no match): user.userprincipalname.
EndWith() Gibt ein Attribut oder eine Konstante aus, wenn die Eingabe mit dem angegebenen Wert endet. Andernfalls können Sie eine andere Ausgabe angeben, wenn keine Übereinstimmung vorhanden ist.
Beispiel: Sie möchten einen Anspruch ausgeben, dessen Wert der Mitarbeiter-ID des Benutzers entspricht, wenn die Mitarbeiter-ID mit 000 endet. Andernfalls soll ein Erweiterungsattribut ausgegeben werden. Konfigurieren Sie zum Ausführen dieser Funktion die Werte Parameter 1(input): user.employeeid, Value: "000", Parameter 2 (output): user.employeeid, und Parameter 3 (output if there's no match): user.extensionattribute1.
StartWith() Gibt ein Attribut oder eine Konstante aus, wenn die Eingabe mit dem angegebenen Wert beginnt. Andernfalls können Sie eine andere Ausgabe angeben, wenn keine Übereinstimmung vorhanden ist. Beispiel: Sie möchten einen Anspruch ausgeben, bei dem der Wert der Mitarbeiter-ID des Benutzer entspricht, wenn das Land bzw. die Region mit US beginnt. Andernfalls soll ein Erweiterungsattribut ausgegeben werden. Konfigurieren Sie zum Ausführen dieser Funktion die Werte Parameter 1(input): user.country, Value: "US", Parameter 2 (output): user.employeeid, und Parameter 3 (output if there's no match): user.extensionattribute1.
Extract() – nach dem Abgleich Gibt die Teilzeichenfolge bei Übereinstimmung mit dem angegebenen Wert zurück. Beispiel: Wenn der Eingabewert Finance_BSimon und der übereinstimmende Wert Finance_ ist, dann ist die Ausgabe des Anspruchs BSimon.
Extract() – vor dem Abgleich Gibt die Teilzeichenfolge zurück, bis sie mit dem angegebenen Wert übereinstimmt. Beispiel: Wenn der Eingabewert BSimon_US und der übereinstimmende Wert _US ist, dann ist die Ausgabe des Anspruchs BSimon.
Extract() – zwischen Abgleichen Gibt die Teilzeichenfolge zurück, bis sie mit dem angegebenen Wert übereinstimmt. Beispiel: Wenn der Eingabewert Finance_BSimon_US ist, der erste übereinstimmende Wert Finance_ und der zweite übereinstimmende Wert _US lautet, dann ist die Ausgabe des Anspruchs BSimon.
ExtractAlpha() – Präfix Gibt den alphabetischen Teil des Präfixes der Zeichenfolge zurück. Beispiel: Wenn der Eingabewert BSimon_123 ist, wird BSimon zurückgegeben.
ExtractAlpha() – Suffix Gibt den alphabetischen Teil des Suffixes der Zeichenfolge zurück. Beispiel: Wenn der Eingabewert 123_Simon ist, wird Simon zurückgegeben.
ExtractNumeric() – Präfix Gibt den numerischen Teil des Präfixes der Zeichenfolge zurück. Beispiel: Wenn der Eingabewert 123_BSimon ist, wird 123 zurückgegeben.
ExtractNumeric() – Suffix Gibt den numerischen Teil des Suffixes der Zeichenfolge zurück. Beispiel: Wenn der Eingabewert BSimon_123 ist, wird 123 zurückgegeben.
IfEmpty() Gibt ein Attribut oder eine Konstante aus, wenn die Eingabe null oder leer ist. Beispiel: Sie möchten ein in einem Erweiterungsattribut gespeichertes Attribut ausgeben, wenn die Mitarbeiter-ID für einen Benutzer leer ist. Konfigurieren Sie zum Ausführen dieser Funktion die Werte Parameter 1(input): user.employeeid, Parameter 2 (output): user.extensionattribute1 und Parameter 3 (output if there's no match): user.employeeid.
IfNotEmpty() Gibt ein Attribut oder eine Konstante aus, wenn die Eingabe nicht null oder leer ist. Beispiel: Sie möchten ein in einem Erweiterungsattribut gespeichertes Attribut ausgeben, wenn die Mitarbeiter-ID für einen Benutzer nicht leer ist. Konfigurieren Sie zum Ausführen dieser Funktion die Werte Parameter 1(input): user.employeeid und Parameter 2 (output): user.extensionattribute1.
Substring() – feste Länge Extrahiert Teile eines Zeichenfolgenanspruchstyps ab dem Zeichen an der angegebenen Position und gibt die angegebene Anzahl von Zeichen zurück. sourceClaim ist die Anspruchsquelle der Transformation, die ausgeführt werden soll StartIndex ist die nullbasierte Anfangsposition einer Teilzeichenfolge in dieser Instanz. Length ist die Länge der Teilzeichenfolge in Zeichen. Beispiel: sourceClaim - PleaseExtractThisNow, StartIndex - 6 und Length - 11 erzeugen eine Ausgabe von ExtractThis.
Substring() – EndOfString Extrahiert Teile eines Zeichenfolgenanspruchstyps ab dem Zeichen an der angegebenen Position und gibt den Rest des Anspruchs vom angegebenen StartIndex-Wert zurück. sourceClaim ist die Anspruchsquelle der Transformation, die ausgeführt werden soll StartIndex ist die nullbasierte Anfangsposition einer Teilzeichenfolge in dieser Instanz. Beispiel: sourceClaim - PleaseExtractThisNow und StartIndex - 6 erzeugen eine Ausgabe von ExtractThisNow.
RegexReplace() Weitere Informationen zur Transformation regex-basierter Ansprüche finden Sie im nächsten Abschnitt.

RegEx-basierte Anspruchstransformation

Die folgende Abbildung zeigt ein Beispiel für die Transformation der ersten Ebene:

Screenshot: Transformation der ersten Ebene

Die in der folgenden Tabelle aufgeführten Aktionen enthalten Informationen über die erste Transformationsebene und entsprechen den Bezeichnungen in der vorherigen Abbildung. Wählen Sie Bearbeiten aus, um das Blatt für die Anspruchstransformation zu öffnen.

Aktion Feld Beschreibung
1 Transformation Wählen Sie aus den Optionen Transformation die Option RegexReplace() aus, um die RegEx-basierte Anspruchstransformationsmethode für die Anspruchstransformation zu verwenden.
2 Parameter 1 Die Eingabe für die Transformation regulärer Ausdrücke. „user.mail“ ergibt beispielsweise die E-Mail-Adresse des Benutzers, etwa admin@fabrikam.com.
3 Treat source as multivalued Einige Eingabebenutzerattribute können mehrwertige Benutzerattribute sein. Wenn das ausgewählte Benutzerattribut mehrere Werte unterstützt und der Benutzer mehrere Werte für die Transformation verwenden möchte, muss er Quelle als mehrwertige Quelle behandeln auswählen. Wenn diese Option ausgewählt ist, werden alle Werte für die RegEx-Übereinstimmung verwendet, andernfalls wird nur der erste Wert verwendet.
4 Regex pattern Ein regulärer Ausdruck, der anhand des Werts des als Parameter 1 ausgewählten Benutzerattributs ausgewertet wird. Ein regulärer Ausdruck zum Extrahieren des Benutzeralias aus der E-Mail-Adresse des Benutzers würde z. B. (?'domain'^.*?)(?i)(\@fabrikam\.com)$ lauten.
5 Add additional parameter Für die Transformation können mehrere Benutzerattribute verwendet werden. Die Werte der Attribute würden dann mit der RegEx-Transformationsausgabe zusammengeführt. Bis zu fünf weitere Parameter werden unterstützt.
6 Replacement pattern Das Ersetzungsmuster ist die Textvorlage, die Platzhalter für RegEx-Ergebnisse enthält. Alle Gruppennamen müssen in geschweifte Klammern eingeschlossen sein, z. B. {group-name}. Angenommen, der Administrator möchte den Benutzeralias mit einem anderen Domänennamen (etwa xyz.com) verwenden und den Ländernamen damit zusammenführen. In diesem Fall wäre das Ersetzungsmuster {country}.{domain}@xyz.com. Dabei steht {country} für den Wert des Eingabeparameters und {domain} für die Gruppenausgabe der Auswertung regulärer Ausdrücke. In diesem Fall ist das erwartete Ergebnis US.swmal@xyz.com.

Die folgende Abbildung zeigt ein Beispiel für die Transformation der zweiten Ebene:

Screenshot: Transformation der zweiten Ebene

Die folgende Tabelle enthält Informationen zur Transformation der zweiten Ebene. Die in der Tabelle aufgeführten Aktionen entsprechen den Bezeichnungen in der vorherigen Abbildung.

Aktion Feld BESCHREIBUNG
1 Transformation RegEx-basierte Anspruchstransformationen sind nicht auf die erste Transformation beschränkt und können auch als Transformation der zweiten Ebene verwendet werden. Jede andere Transformationsmethode kann als erste Transformation verwendet werden.
2 Parameter 1 Wenn RegexReplace() als Transformation der zweiten Ebene ausgewählt wird, wird die Ausgabe der Transformation der ersten Ebene als Eingabe für die Transformation der zweiten Ebene verwendet. Um die Transformation anzuwenden, muss der RegEx-Ausdruck der zweiten Ebene mit der Ausgabe der ersten Transformation übereinstimmen.
3 Regex pattern RegEx-Muster ist der reguläre Ausdruck für die Transformation der zweiten Ebene.
4 Parameter input Benutzerattributeingaben für die Transformationen der zweiten Ebene.
5 Parameter input Administratoren können den ausgewählten Eingabeparameter löschen, wenn sie ihn nicht mehr benötigen.
6 Replacement pattern Das Ersetzungsmuster ist die Textvorlage, die Platzhalter für den Namen der RegEx-Ergebnisgruppe, den Namen der Eingabeparametergruppe und den statischen Textwert enthält. Alle Gruppennamen müssen in geschweifte Klammern eingeschlossen sein, z. B. {group-name}. Angenommen, der Administrator möchte den Benutzeralias mit einem anderen Domänennamen (etwa xyz.com) verwenden und den Ländernamen damit zusammenführen. In diesem Fall wäre das Ersetzungsmuster {country}.{domain}@xyz.com. Dabei steht {country} für den Wert des Eingabeparameters und „{domain}“ für die Gruppenausgabe der Auswertung regulärer Ausdrücke. In diesem Fall ist das erwartete Ergebnis US.swmal@xyz.com.
7 Test transformation Die RegexReplace()-Transformation wird nur ausgewertet, wenn der Wert des ausgewählten Benutzerattributs für Parameter 1 mit dem regulären Ausdruck übereinstimmt, der im Textfeld RegEx-Muster angegeben ist. Stimmen die Werte nicht überein, wird dem Token der Standardanspruchswert hinzugefügt. Um den regulären Ausdruck anhand des Eingabeparameterwerts zu überprüfen, steht eine Testumgebung auf dem Transformationsblatt zur Verfügung. Diese Testumgebung funktioniert nur für Dummywerte. Wenn weitere Eingabeparameter verwendet werden, wird dem Testergebnis der Name des Parameters anstelle des tatsächlichen Werts hinzugefügt. Um auf den Testabschnitt zuzugreifen, wählen Sie Testtransformation aus.

Die folgende Abbildung zeigt ein Beispiel zum Testen der Transformationen:

Screenshot: Testen der Transformation

Die folgende Tabelle enthält Informationen zum Testen der Transformationen. Die in der Tabelle aufgeführten Aktionen entsprechen den Bezeichnungen in der vorherigen Abbildung.

Aktion Feld BESCHREIBUNG
1 Test transformation Wählen Sie die Schaltfläche „Schließen“ (X) aus, um den Testabschnitt auszublenden und die Schaltfläche Testtransformation wieder auf dem Blatt anzuzeigen.
2 Test regex input Akzeptiert die Eingabe, die für die Testauswertung des regulären Ausdrucks verwendet wird. Falls die RegEx-basierte Anspruchstransformation als Transformation der zweiten Ebene konfiguriert ist, wird ein Wert angegeben, der die erwartete Ausgabe der ersten Transformation darstellt.
3 Run test Nachdem die RegEx-Testeingabe bereitgestellt und das RegEx-Muster, das Ersetzungsmuster und die Eingabeparameter konfiguriert wurden, kann der Ausdruck durch Auswählen von Test ausführen ausgewertet werden.
4 Test transformation result Wenn die Auswertung erfolgreich war, wird eine Ausgabe von Testtransformation mit der Bezeichnung Ergebnis der Testtransformation gerendert.
5 Remove transformation Die Transformation der zweiten Ebene kann entfernt werden, indem Sie Transformation entfernen auswählen.
6 Specify output if no match Wenn ein RegEx-Eingabewert für Parameter 1 konfiguriert wird, der nicht mit Regulärer Ausdruck übereinstimmt, wird die Transformation übersprungen. In solchen Fällen können Sie das alternative Benutzerattribut konfigurieren, das dem Token für den Anspruch hinzugefügt wird, indem Sie das Kontrollkästchen Ausgabe angeben, wenn keine Übereinstimmung vorliegt aktivieren.
7 Parameter 3 Falls ein alternatives Benutzerattribute zurückgegeben werden muss, wenn keine Übereinstimmung vorhanden ist und Ausgabe angeben, wenn keine Übereinstimmung vorliegt aktiviert ist, kann ein alternatives Benutzerattribute mithilfe der Dropdownliste ausgewählt werden. Dieses Dropdownmenü ist für Parameter 3 (Ausgabe bei Nichtübereinstimmung) verfügbar.
8 Summary Am unteren Rand des Blatts wird eine vollständige Zusammenfassung des Formats angezeigt, die die Bedeutung der Transformation in einfachem Text erläutert.
9 Add Nach der Überprüfung der Konfigurationseinstellungen für die Transformation kann diese in einer Anspruchsrichtlinie gespeichert werden, indem Sie Hinzufügen auswählen. Wählen Sie die Option Speichern auf dem Blatt Anspruch verwalten aus, um die Änderungen zu speichern.

Die RegexReplace()-Transformation ist auch für Gruppenanspruchstransformationen verfügbar.

RegexReplace()-Transformationsüberprüfungen

Wenn die folgenden Bedingungen auftreten, nachdem Hinzufügen oder Test ausführen ausgewählt wurde, wird eine Meldung mit weiteren Informationen zum Problem angezeigt:

  • Eingabeparameter mit doppelten Benutzerattributen sind nicht zulässig.
  • Nicht verwendete Eingabeparameter gefunden. Definierte Eingabeparameter sollten eine entsprechende Verwendung im Text des Ersetzungsmusters aufweisen.
  • Die bereitgestellte RegEx-Testeingabe stimmt nicht mit dem angegebenen regulären Ausdruck überein.
  • Die Quelle für die Gruppen im Ersatzmuster wurde nicht gefunden.

Hinzufügen des UPN-Anspruchs zu SAML-Token

Der http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn-Anspruch gehört zum eingeschränkten SAML-Anspruchssatz. Wenn ein benutzerdefinierter Signaturschlüssel konfiguriert ist, können Sie diesen im Abschnitt Attribute und Ansprüche hinzufügen.

Falls kein benutzerdefinierter Signaturschlüssel konfiguriert ist, finden Sie weitere Informationen unter Eingeschränkter SAML-Anspruchssatz. Sie können ihn im Azure-Portal über App-Registrierungen als optionalen Anspruch hinzufügen.

Öffnen Sie die Anwendung unter App-Registrierungen. Wählen Sie Tokenkonfiguration und dann Optionalen Anspruch hinzufügen aus. Wählen Sie den Tokentyp SAML und dann UPN in der Liste aus. Klicken Sie auf Hinzufügen, um den Anspruch zum Token hinzuzufügen.

Eine Anpassung der Werte im Abschnitt Attribute und Ansprüche kann die optionalen Ansprüche in der App-Registrierung überschreiben.

Ausgeben von Ansprüchen aufgrund von Bedingungen

Sie können die Anspruchsquelle auf Basis des Benutzertyps und der Gruppe, zu der der Benutzer gehört, angeben.

Folgende Benutzertypen stehen zur Auswahl:

  • Alle: Alle Benutzer dürfen auf die Anwendung zugreifen.
  • Mitglieder: Native Mitglieder des Mandanten
  • Alle Gäste: Der Benutzer stammt aus einer externen Organisation mit oder ohne Microsoft Entra ID.
  • Microsoft Entra-Gäste: Der Gastbenutzer gehört zu einer anderen Organisation mit Microsoft Entra ID.
  • Externe Gäste: Der Gastbenutzer gehört zu einer externen Organisation, die nicht über Microsoft Entra ID verfügt.

Der Benutzertyp ist hilfreich bei einem Szenario, bei dem sich die Anspruchsquelle für einen Gast und einen Mitarbeiter, die auf eine Anwendung zugreifen, unterscheidet. Sie können angeben, dass NameID aus „user.email“ erstellt wird, wenn es sich bei dem Benutzer um einen Mitarbeiter handelt. Wenn der Benutzer ein Gast ist, wird NameID aus „user.extensionattribute1“ erstellt.

So fügen Sie eine Anspruchsbedingung hinzu

  1. Erweitern Sie unter Anspruch verwalten die Anspruchsbedingungen.
  2. Wählen Sie den Benutzertyp aus.
  3. Wählen Sie die Gruppe(n) aus, zu der bzw. denen der Benutzer gehören soll. Sie können übergreifend über alle Ansprüche für eine bestimmte Anwendung bis zu 50 eindeutige Gruppen auswählen.
  4. Wählen Sie die Quelle aus, aus der der Anspruch den zugehörigen Wert abruft. Sie können entweder ein Benutzerattribut aus der Dropdownliste für „Quellattribut“ auswählen oder eine Transformation auf das Benutzerattribut anwenden. Sie können auch eine Verzeichnisschemaerweiterung auswählen, bevor Sie sie als Anspruch ausgeben.

Die Reihenfolge, in der Sie die Bedingungen hinzufügen, spielt eine wichtige Rolle. Microsoft Entra wertet zuerst alle Bedingungen mit der Quelle Attribute und dann alle Bedingungen mit der Quelle Transformation aus, um zu entscheiden, welcher Wert im Anspruch ausgegeben werden soll. Bedingungen mit derselben Quelle werden von oben nach unten ausgewertet. Der letzte Wert, der mit dem Ausdruck übereinstimmt, wird im Anspruch ausgegeben. Transformationen wie IsNotEmpty und Contains fungieren wie Einschränkungen.

Beispiel: Britta Simon ist Gastbenutzer im Contoso-Mandanten. Britta gehört zu einer anderen Organisation, die ebenfalls Microsoft Entra ID verwendet. Wenn Britta bei der folgenden Konfiguration für die Fabrikam-Anwendung versucht, sich bei Fabrikam anzumelden, wertet Microsoft Identity Platform die Bedingungen aus.

Zuerst überprüft Microsoft Identity Platform, ob der Benutzertyp von Britta Alle Gäste lautet. Da der Typ Alle Gäste lautet, ordnet die Microsoft-Identitätsplattform die Quelle für den Anspruch user.extensionattribute1 zu. Als Nächstes überprüft Microsoft Identity Platform, ob der Benutzertyp von Britta Microsoft Entra-Gäste lautet. Da der Typ Alle Gäste lautet, ordnet die Microsoft-Identitätsplattform die Quelle für den Anspruch user.mail zu. Abschließend wird der Anspruch mit dem Wert user.mail für Britta ausgegeben.

Ein weiteres Beispiel: Britta Simon versucht, sich anzumelden, und sie verwendet die folgende Konfiguration. Alle Bedingungen werden zuerst mit der Quelle von Attribute ausgewertet. Da der Benutzertyp von Britta Microsoft Entra-Gäste ist, wird user.mail als Quelle für den Anspruch zugewiesen. Als Nächstes werden die Transformationen ausgewertet. Da Britta Gast ist, ist user.extensionattribute1 jetzt die neue Quelle für den Anspruch. Da sich Britta auch noch in Microsoft Entra-Gäste befindet, ist user.othermail jetzt die neue Quelle für diesen Anspruch. Abschließend wird der Anspruch mit dem Wert user.othermail für Britta ausgegeben.

Als letztes Beispiel betrachten wir, was geschieht, wenn Britta den Wert user.othermail nicht konfiguriert hat oder dieser leer ist. In beiden Fällen wird der Bedingungseintrag ignoriert, und der Anspruch verwendet stattdessen user.extensionattribute1.

Erweiterte SAML-Anspruchsoptionen

Erweiterte Anspruchsoptionen können für SAML2.0-Anwendungen konfiguriert werden, um denselben Anspruch für OIDC-Token verfügbar zu machen, und umgekehrt für Anwendungen, die denselben Anspruch sowohl für SAML2.0- als auch für OIDC-Antworttoken verwenden möchten.

Erweiterte Anspruchsoptionen können konfiguriert werden, indem Sie auf dem Blatt Ansprüche verwalten das Kontrollkästchen unter Erweiterte SAML-Anspruchsoptionen aktivieren.

In der folgenden Tabelle sind weitere erweiterte Optionen aufgeführt, die für eine Anwendung konfiguriert werden können.

Option BESCHREIBUNG
Anwendungs-ID an Aussteller anfügen Fügt dem Ausstelleranspruch automatisch die Anwendungs-ID hinzu. Diese Option stellt einen eindeutigen Anspruchswert für jede Instanz sicher, wenn mehrere Instanzen derselben Anwendung vorhanden sind. Diese Einstellung wird ignoriert, wenn kein benutzerdefinierter Signaturschlüssel für die Anwendung konfiguriert ist.
Zielgruppenanspruch überschreiben Ermöglicht die Außerkraftsetzung des Zielgruppenanspruchs, der an die Anwendung gesendet wird. Der bereitgestellte Wert muss ein gültiger absoluter URI sein. Diese Einstellung wird ignoriert, wenn kein benutzerdefinierter Signaturschlüssel für die Anwendung konfiguriert ist.
Format des Attributnamens einschließen Falls ausgewählt, fügt Microsoft Entra ID ein Attribut namens NameFormat hinzu, das das Format des Namens für eingeschränkte, zentrale und optionale Ansprüche für die Anwendung beschreibt. Weitere Informationen finden Sie unter Richtlinientyp für die Anspruchszuordnung.