Verwenden einer Anspruchsregel vom Typ "Weiterleiten" oder "Filtern"

Sie können diese Regel in Active Directory-Verbunddienste (AD FS) (AD FS) verwenden, wenn Sie einen bestimmten eingehenden Anspruchstyp ausführen müssen und dann eine Aktion anwenden, die bestimmt, welche Ausgabe basierend auf den Werten im eingehenden Anspruch auftreten soll. Wenn Sie diese Regel verwenden, werden Ansprüche weitergeleitet bzw. gefiltert, die der Regellogik in der folgenden Tabelle entsprechen. Dies geschieht auf Grundlage der Optionen, die Sie in der Regel konfigurieren.

Regeloption Regellogik
Alle Anspruchswerte weiterleiten Wenn der eingehende Anspruchstyp dem angegebenen Anspruchstyp und der Wert einem beliebigen Wert entspricht, den Anspruch weiterleiten
Nur einen bestimmten Anspruchswert weiterleiten Wenn der eingehende Anspruchstyp dem angegebenen Anspruchstyp und der Wert einem angegebenen Anspruchswert entspricht, den Anspruch weiterleiten
Nur Anspruchswerte weiterleiten, die einem bestimmten E-Mail-Suffixwert entsprechen Wenn der eingehende Anspruchstyp dem angegebenen Anspruchstyp und der Wert einem angegebenen Suffixwert entspricht, den Anspruch weiterleiten
Nur Anspruchswerte weiterleiten, die mit einem bestimmten Wert anfangen Wenn der eingehende Anspruchstyp dem angegebenen Anspruchstyp und der Wert mit einem angegebenen Anspruchswert beginnt, den Anspruch weiterleiten

Die folgenden Abschnitte enthalten eine grundlegende Einführung in Anspruchsregeln und bieten weitere Details zur Verwendung dieser Regeln.

Informationen zu Anspruchsregeln

Eine Anspruchsregel stellt eine Instanz der Geschäftslogik dar, die auf einen eingehenden Anspruch eine Bedingung anwendet (wenn x, dann y) und auf der Grundlage der Bedingungsparameter einen ausgehenden Anspruch erzeugt. Die folgende Liste enthält wichtige Tipps zu Anspruchsregeln, die Sie kennen sollten, bevor Sie fortfahren, dieses Thema zu lesen:

  • In der AD FS-Verwaltungs-Snap-In können Anspruchsregeln nur mithilfe von Anspruchsregelvorlagen erstellt werden.

  • Anspruchsregeln verarbeiten eingehende Ansprüche entweder direkt von einem Anspruchsanbieter (wie Active Directory oder einem anderen Verbunddienst) oder von der Ausgabe der Akzeptanztransformationsregeln in einer Anspruchsanbietervertrauensstellung aus.

  • Anspruchsregeln werden von der Anspruchsausstellungs-Engine chronologisch nach einem bestimmten Regelsatz verarbeitet. Indem Sie eine Rangfolge der Regeln festlegen, können Sie Ansprüche, die durch vorausgehende Regeln in einem bestimmten Regelsatz generiert werden, weiter optimieren oder filtern.

  • Anspruchsregelvorlagen erfordern immer, dass Sie einen eingehenden Anspruchstyp angeben. Allerdings können Sie mehrere Anspruchswerte mit den gleichen Anspruchstyp mithilfe einer einzigen Regel verarbeiten.

Ausführlichere Informationen zu Anspruchsregeln und Anspruchsregelsätzen finden Sie unter "Rolle der Anspruchsregeln". Weitere Informationen zum Verarbeiten von Regeln finden Sie unter "Rolle des Anspruchsmoduls". Weitere Informationen dazu, wie Anspruchsregelsätze verarbeitet werden, finden Sie unter "Rolle der Anspruchspipeline".

Alle Anspruchswerte weiterleiten

Wenn Sie diese Aktion verwenden, werden alle eingehenden Anspruchswerte für den angegebenen Anspruchstyp als ausgehende Ansprüche weitergeleitet. Wenn der Typ des eingehenden Anspruchs als Anspruchstyp "Rolle" angegeben wird, werden alle eingehenden Anspruchswerte z. B. einzeln in neue ausgehende Ansprüche mit dem ausgehenden Anspruchstyp "Rolle" kopiert.

Filtern eines Anspruchs

In AD FS bedeutet die Ausdrucksfilterung , dass eingehende Anspruchswerte gefiltert oder eingeschränkt werden, sodass nur bestimmte Werte übergeben oder als ausgehende Ansprüche gesendet werden. Diese Funktion wird durch die Regelvorlage Eingehenden Anspruch weiterleiten oder filtern ermöglicht. In den Eigenschaften der Regel können Sie Bedingungen festlegen, um eingehende Werte so zu filtern, dass nur die Werte weitergeleitet werden, die die angegebenen Kriterien erfüllen.

Mithilfe dieser Regel können Sie z. B. nur Ansprüche weiterleiten, die dem Anspruchswert "Käufer" entsprechen, wenn der Typ des eingehenden Anspruchs dem Anspruchstyp "Rolle" entspricht. Sie können mit dieser Regel auch ausschließlich Ansprüche zum Namen des Benutzers, aber keine Ansprüche ausstellen, die die Sozialversicherungsnummer des Benutzers enthalten.

Wenn Sie eine Filterbedingung mit dieser Regel verwenden, werden alle eingehenden Ansprüche untersucht, um zu bestimmen, welche Ansprüche den von der Regel festgelegten Kriterien entsprechen. Alle anderen Ansprüche werden ignoriert, sodass nur angegebene Anspruchswerte, die einem ausgewählten Anspruchstyp entsprechen, weitergeleitet werden.

Wie in der folgenden Abbildung gezeigt, werden beispielsweise alle anderen eingehenden Ansprüche ignoriert, wenn eine Regel mit der Bedingung festgelegt ist, nur eingehende Ansprüche zu filtern, die dem UPN-Anspruchstyp schlüsselt und auch @fabrikam.commit enden, werden alle anderen eingehenden Ansprüche ignoriert, es sei denn, sie erfüllen diese Kriterien. Dies schließt den eingehenden Anspruch mit dem Anspruchstyp der E-Mail-Adresse ein, obwohl der Anspruchswert in .@fabrikam.com In diesem Fall wird nur der Anspruch, der den Wert Nick@fabrikam.com enthält, an die vertrauende Partei gesendet.

when to use pass through

Konfigurieren diese Regel in einer Anspruchsanbietervertrauensstellung

Bei Verwendung einer Anspruchsanbieter-Vertrauensstellung kann diese Regel zum Weiterleiten von ausschließlich eingehenden Ansprüchen vom Anspruchsanbieter konfiguriert werden, die bestimmten Einschränkungen entsprechen. Sie können beispielsweise nur E-Mail-Ansprüche vom Anspruchsanbieter akzeptieren; Daher würden Sie diese Regelvorlage verwenden, um E-Mail-Anspruchstypen zu akzeptieren, die im Domänennamensystem (DNS) des Anspruchsanbieters enden.

Konfigurieren diese Regel in einer Vertrauensstellung der vertrauenden Seite

Wenn Sie eine Vertrauensstellung der vertrauenden Seite verwenden, kann diese Regel so konfiguriert werden, dass an die vertrauende Seite zu sendende ausgehende Ansprüche weitergeleitet oder gefiltert werden. Einige vertrauende Seiten können bestimmte Anspruchstypen ggf. nicht verstehen, oder bestimmte Ansprüche enthalten möglicherweise vertrauliche Informationen, der nicht an bestimmte vertrauende Seiten gesendet werden sollen. Diese Regelvorlage kann helfen, diese Richtlinien für eine bestimmte Vertrauensstellung der vertrauenden Seite zu erzwingen.

Erstellen dieser Regel

Sie erstellen diese Regel mithilfe der Anspruchsregelsprache oder mithilfe der Pass Through- oder Filterung einer Vorlage für eingehende Anspruchsregel im AD FS Management-Snap-In. Diese Regelvorlage bietet die folgenden Konfigurationsoptionen:

  • Angeben eines Anspruchsregelnamens

  • Angeben eines eingehenden Anspruchstyps

  • Alle Anspruchswerte weiterleiten

  • Nur einen bestimmten Anspruchswert weiterleiten

  • Nur Anspruchswerte weiterleiten, die einem bestimmten E-Mail-Suffixwert entsprechen

  • Nur Anspruchswerte weiterleiten, die mit einem bestimmten Wert anfangen

Weitere Anweisungen zum Erstellen dieser Vorlage finden Sie unter Erstellen einer Regel zum Übergeben oder Filtern eines eingehenden Anspruchs im AD FS-Bereitstellungshandbuch.

Verwenden der Anspruchsregelsprache

Falls ein Anspruch nur gesendet werden soll, wenn der Wert des Anspruchs mit einem benutzerdefinierten Muster übereinstimmt, müssen Sie eine benutzerdefinierte Regel verwenden. Weitere Informationen finden Sie unter "Wann sollte eine benutzerdefinierte Anspruchsregel verwendet werden?".

Beispiele für das Erstellen der Syntax einer Weiterleitungs- oder Filterregel

Eine einfache Filterregel filtert Ansprüche basierend auf einer der oben beschriebenen Eigenschaften. Die folgende Regel leitet beispielsweise alle E-Mail-Ansprüche weiter:

c:[type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress"]  => issue(claim  = c);

Filter können logisch mit AND verknüpft werden. Die folgende Regel akzeptiert beispielsweise alle E-Mail-Ansprüche mit Wert johndoe@fabrikam.com:

c:[type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress", value == "johndoe@fabrikam.com "]  => issue(claim  = c);

In den obigen Beispielen wurde bei den Filtern stets ein Gleichheitsoperator verwendet. Die Anspruchsregelsprache unterstützt die folgenden Operatoren:

  • == – Gleich (Groß-/Kleinschreibung beachten)

  • != – Ungleich (Groß-/Kleinschreibung beachten)

  • =~ – Übereinstimmung mit einem regulären Ausdruck

  • !~ – Nichtübereinstimmung mit einem regulären Ausdruck

Die folgende Regel akzeptiert z. B. alle E-Mail-Ansprüche, die nicht vom lokalen Verbundserver ausgestellt werden und als Suffix "boeing.com" haben:

c:[type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress", value =~ "^.*@boeing\.com$" , issuer != "LOCAL AUTHORITY"]  => issue(claim  = c);

Bewährte Methoden zum Erstellen benutzerdefinierter Regeln

Wie in der folgenden Tabelle beschrieben, kann ein Filter auf eine oder mehrere der Eigenschaften jedes Anspruchs angewendet werden.

Anspruchseigenschaft BESCHREIBUNG
type Der Anspruchstyp (in der Regel als URI dargestellt) gibt eine implizite Vereinbarung zwischen Partnern in einem Verbund dazu wieder, welche Art von Informationen im Anspruch weitergegeben wird. Die Ansprüche des Typs http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress enthalten beispielsweise die E-Mail-Adresse des Benutzers.
Wert Der Wert des Anspruchs. Beispielsweise kann ein Anspruch vom Typ http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress einen Wert von johndoe@fabrikam.com
ValueType Der ValueType stellt dar, wie die Informationen, die im Wert des Anspruchs enthalten sind, interpretiert werden sollen. In der Regel wird der ValueType auf http://www.w3.org/2001/XMLSchema#stringfestgelegt, der Anspruchswert könnte jedoch Base64Binary-codierte Daten (z. B. ein Bild) oder ein Datum, Boolean usw. enthalten.
Issuer (Aussteller) "Issuer" ist der Aussteller, der zuletzt die Ansprüche zum Benutzer ausgestellt hat. Wenn die Ansprüche auf einem Anspruchsanbieterverbundserver abgerufen werden, wird der Aussteller aller Ansprüche auf "LOKALE BEHÖRDE" festgelegt. Wenn die Ansprüche vom Verbundserver eines Verbundanbieters empfangen wurden, wird der Aussteller der Ansprüche auf die Anspruchsanbieter-ID des Anspruchsanbieters festgelegt, der das Token signiert hat. Wenn anschließend Regeln für Ansprüche verarbeitet werden, die von einem Anspruchsanbieter empfangen wurden, wird der Aussteller der Ansprüche auf denselben Wert festgelegt. Bei der Erstellung von Regeln für eine vertrauende Seite kann die "Issuer"-Eigenschaft verwendet werden, um zwischen Ansprüchen zu unterscheiden, die von verschiedenen Anspruchsanbietern stammen.
OriginalIssuer Diese Anspruchseigenschaft dient zum Angeben, von welchem Verbundserver der Anspruch ursprünglich ausgestellt wurde. Da die "Issuer"-Eigenschaft der Ansprüche auf den letzten Verbundserver festgelegt ist, der das Token signiert hat, ist der ursprüngliche Aussteller in Szenarien nützlich, in denen ein Anspruch über mehr als einen Verbundserver übertragen wird. (Beispiel: Eine vertrauende Seite, die ein Token vom Verbundserver eines Verbundanbieters empfängt, ist ggf. daran interessiert, welcher bestimmte Verbundserver eines Anspruchsanbieters den Benutzer authentifiziert hat.)
Eigenschaften Neben den oben beschriebenen fünf Eigenschaften hat jeder Anspruch auch einen Eigenschaftenbehälter, in dem benannte Eigenschaften gespeichert werden können. Diese Eigenschaften werden nicht im Token serialisiert und sind nur sinnvoll für die Übergabe von Informationen zwischen Komponenten der Anspruchsausstellungs-Pipeline innerhalb des Zuständigkeitsbereichs eines einzelnen Verbundservers. Beispiel: Festlegen einer Eigenschaft während der Verarbeitung von Anspruchsanbieterregeln und das anschließende Verweisen darauf in den Regeln der vertrauenden Seite.