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

Sie können diese Regel in den Active Directory-Verbunddiensten (Active Directory Federation Services, AD FS) verwenden, wenn Sie auf einen bestimmten eingehenden Anspruchstyp eine Aktion anwenden müssen, die anhand der Werte im eingehenden Anspruch bestimmt, welche Ausgabe erfolgen 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:

  • Im AD FS-Verwaltungs-Snap-In können Anspruchsregeln nur mit 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 Die Rolle von Anspruchsregeln. Weitere Informationen dazu, wie Regeln verarbeitet werden, finden Sie unter Die Rolle der Anspruchs-Engine. Weitere Informationen dazu, wie Anspruchsregelsätze verarbeitet werden, finden Sie unter Die 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 steht der Begriff Anspruchsfilterung für das Filtern bzw. Einschränken eingehender Anspruchswerte, sodass nur bestimmte Werte als ausgehende Ansprüche weitergeleitet bzw. 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.

Wenn z. B. (wie in der folgenden Abbildung gezeigt) eine Regel mit der Bedingung festgelegt ist, dass nur eingehende Ansprüche gefiltert werden, die dem Anspruchstyp „UPN“ entsprechen und außerdem auf @fabrikam.com enden, dann werden alle anderen eingehenden Ansprüche ignoriert – es sei denn, sie erfüllen diese Kriterien. Dies gilt auch für den eingehenden Anspruch mit dem Anspruchstyp „E-Mail-Adresse“, obwohl der zugehörige Anspruchswert auf @fabrikam.com endet. In diesem Fall wird nur der Anspruch mit dem Wert Nick@fabrikam.com an die vertrauende Seite 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. Angenommen, Sie möchten nur E-Mail-Ansprüche vom Anspruchsanbieter akzeptieren. Aus diesem Grund verwenden Sie diese Regelvorlage, um E-Mail-Anspruchstypen zu akzeptieren, die auf den DNS-Namen (Domain Name System) 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 entweder mithilfe der Anspruchsregelsprache oder der Regelvorlage „Eingehenden Anspruch weiterleiten oder filtern“ im AD FS-Verwaltungs-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 Weiterleiten oder Filtern eines eingehenden Anspruchs im AD FS-Bereitstellungsleitfaden.

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 z. B. alle E-Mail-Ansprüche mit dem 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. Ansprüche des Typs http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress enthalten zum Beispiel die E-Mail-Adresse des Benutzers.
Wert Der Wert des Anspruchs. Ein Anspruch des Typs http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress kann zum Beispiel den Wert johndoe@fabrikam.com aufweisen.
ValueType „ValueType“ gibt an, wie die Informationen im Anspruchswert interpretiert werden. Üblicherweise wird „ValueType“ auf http://www.w3.org/2001/XMLSchema#string festgelegt, aber der Anspruchswert könnte Base64Binary-codierte Daten (z. B. ein Bild) oder ein Datum, boolesche Werte usw. enthalten.
Issuer (Aussteller) "Issuer" ist der Aussteller, der zuletzt die Ansprüche zum Benutzer ausgestellt hat. Wenn die Ansprüche vom Verbundserver eines Anspruchsanbieters bezogen werden, wird der Aussteller aller Ansprüche auf „LOCAL AUTHORITY“ 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.