Verwenden einer Anspruchsregel vom Typ "Weiterleiten" oder "Filtern"When to Use a Pass Through or Filter Claim Rule

Sie können diese Regel in Active Directory-Verbunddienste (AD FS) ( AD FS verwenden ) , wenn Sie einen bestimmten eingehenden Anspruchstyp verwenden und dann eine Aktion anwenden, die bestimmt, welche Ausgabe auf Basis der Werte im eingehenden Anspruch erfolgen soll.You can use this rule in Active Directory Federation Services (AD FS) when you need to take a specific incoming claim type and then apply an action that will determine what output should occur based on the values in the incoming claim. 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.When you use this rule, you pass through or filter any claims that match the rule logic in the following table, based on either of the options you configure in the rule.

RegeloptionRule option RegellogikRule logic
Alle Anspruchswerte weiterleitenPass through all claim values Wenn der eingehende Anspruchstyp dem angegebenen Anspruchstyp und der Wert einem beliebigen Wert entspricht, den Anspruch weiterleitenIf incoming claim type equals specified claim type and value equals any value, then pass the claim through
Nur einen bestimmten Anspruchswert weiterleitenPass through only a specific claim value Wenn der eingehende Anspruchstyp dem angegebenen Anspruchstyp und der Wert einem angegebenen Anspruchswert entspricht, den Anspruch weiterleitenIf incoming claim type equals specified claim type and value equals specified claim value, then pass the claim through
Nur Anspruchs Werte weiterleiten, die einem bestimmten e- - Mail-suffixwert entsprechenPass through only claim values that match a specific e-mail suffix value Wenn der eingehende Anspruchstyp dem angegebenen Anspruchstyp und der Wert einem angegebenen Suffixwert entspricht, den Anspruch weiterleitenIf incoming claim type equals specified claim type and value equals specified suffix value, then pass the claim through
Nur Anspruchswerte weiterleiten, die mit einem bestimmten Wert anfangenPass through only claim values that start with a specific value Wenn der eingehende Anspruchstyp dem angegebenen Anspruchstyp und der Wert mit einem angegebenen Anspruchswert beginnt, den Anspruch weiterleitenIf incoming claim type equals specified claim type and value begins with specified claim value, then pass the claim through

Die folgenden Abschnitte enthalten eine grundlegende Einführung in Anspruchsregeln und bieten weitere Details zur Verwendung dieser Regeln.The following sections provide a basic introduction to claim rules and provide further details about when to use this rule.

Informationen zu AnspruchsregelnAbout claim rules

Eine Anspruchs Regel stellt eine Instanz der Geschäftslogik dar, die einen eingehenden Anspruch annimmt, eine Bedingung darauf anwendet, ( Wenn x und y ist, ) und einen ausgehenden Anspruch basierend auf den Bedingungs Parametern erzeugt.A claim rule represents an instance of business logic that will take an incoming claim, apply a condition to it (if x then y) and produce an outgoing claim based on the condition parameters. Die folgende Liste enthält wichtige Tipps zu Anspruchsregeln, die Sie kennen sollten, bevor Sie fortfahren, dieses Thema zu lesen:The following list outlines important tips that you should know about claim rules before you read further in this topic:

  • Im Snap-in "AD FS-Verwaltung" - können Anspruchs Regeln nur mithilfe von Anspruchs Regel Vorlagen erstellt werden.In the AD FS Management snap-in, claim rules can only be created using claim rule templates

  • Anspruchs Regeln verarbeiten eingehende Ansprüche entweder direkt von einem Anspruchs Anbieter ( ( z. b. Active Directory oder einem anderen Verbunddienst ) oder von der Ausgabe der Akzeptanz Transformationsregeln für eine Anspruchs Anbieter-Vertrauensstellung.Claim rules process incoming claims either directly from a claims provider (such as Active Directory or another Federation Service) or from the output of the acceptance transform rules on a claims provider trust.

  • Anspruchsregeln werden von der Anspruchsausstellungs-Engine chronologisch nach einem bestimmten Regelsatz verarbeitet.Claim rules are processed by the claims issuance engine in chronological order within a given rule set. 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.By setting precedence on rules, you can further refine or filter claims that are generated by previous rules within a given rule set.

  • Anspruchsregelvorlagen erfordern immer, dass Sie einen eingehenden Anspruchstyp angeben.Claim rule templates will always require you to specify an incoming claim type. Allerdings können Sie mehrere Anspruchswerte mit den gleichen Anspruchstyp mithilfe einer einzigen Regel verarbeiten.However, you can process multiple claim values with the same claim type using a single rule.

Ausführlichere Informationen zu Anspruchs Regeln und Anspruchs Regelsätzen finden Sie unter Rolle der Anspruchs Regeln.For more detailed information about claim rules and claim rule sets, see The Role of Claim Rules. Weitere Informationen zur Verarbeitung von Regeln finden Sie unter The Role of the Claims Engine.For more information about how rules are processed, see The Role of the Claims Engine. Weitere Informationen zur Verarbeitung von Anspruchs Regelsätzen finden Sie unter der Rolle der Anspruchs Pipeline.For more information how claim rule sets are processed, see The Role of the Claims Pipeline.

Alle Anspruchswerte weiterleitenPass through all claim values

Wenn Sie diese Aktion verwenden, werden alle eingehenden Anspruchswerte für den angegebenen Anspruchstyp als ausgehende Ansprüche weitergeleitet.When using this action, all incoming claim values for the specified claim type are passed through as outgoing claims. 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.For example, when the incoming claim type is specified as the Role claim type, all incoming claim values are copied individually into new outgoing claims with the outgoing claim type of Role.

Filtern eines AnspruchsFiltering a claim

In AD FS bedeutet der Begriff " Anspruchs Filterung " das Filtern oder einschränken eingehender Anspruchs Werte, sodass nur bestimmte Werte als ausgehende Ansprüche übermittelt oder gesendet werden.In AD FS, the term claims filtering means to filter or restrict incoming claim values so that only certain values are passed or sent through as outgoing claims. Diese Funktion wird durch die Regelvorlage Eingehenden Anspruch weiterleiten oder filtern ermöglicht.It is the Pass Through or Filter an Incoming Claim rule template that makes this function possible. 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.Within the properties of this rule, you can set conditions to filter incoming values so that only the values that meet your specified criteria are passed through.

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.For example, you can use this rule to only pass through claims that match the claim value of Purchaser when the incoming claim type matches the claim type of Role or you might want to issue only claims about the name of the user, but not claims containing the social security number of the user.

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.When you use a filter condition with this rule, all incoming claims are examined to determine which claims match the criteria set by the rule. Alle anderen Ansprüche werden ignoriert, sodass nur angegebene Anspruchswerte, die einem ausgewählten Anspruchstyp entsprechen, weitergeleitet werden.All other claims are ignored so that only specified claim values that match a selected claim type will pass through.

Wenn z. b. in der folgenden Abbildung gezeigt wird, dass eine Regel mit der Bedingung festgelegt wird, dass nur eingehende Ansprüche gefiltert werden, die an den UPN-Anspruchstyp und schließlich auf enden @fabrikam.com , werden alle anderen eingehenden Ansprüche ignoriert, es sei denn, Sie erfüllen diese Kriterien.For example, as shown in the following illustration, when a rule is set with the condition to filter only incoming claims that are keyed to the UPN claim type and also end with @fabrikam.com, all other incoming claims are ignored unless they meet this criteria. Dies schließt den eingehenden Anspruch mit dem Anspruchstyp E-Mail-Adresse ein, obwohl der - Anspruchs Wert in endet @fabrikam.com .This includes the incoming claim with the claim type of E-Mail Address even though its claim value ends in @fabrikam.com. In diesem Fall wird nur der Anspruch, der den Wert von enthält, Nick@fabrikam.com an die vertrauende Seite gesendet.In this case, only the claim containing the value of Nick@fabrikam.com is sent to the relying party.

Verwendungsweise von Pass-Through

Konfigurieren diese Regel in einer AnspruchsanbietervertrauensstellungConfiguring this rule on a claims provider trust

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.When you use a claims provider trust, this rule can be configured to pass through only incoming claims from the claims provider that match certain constraints. Angenommen, Sie möchten nur e- - Mail-Ansprüche vom Anspruchs Anbieter akzeptieren. Daher verwenden Sie diese Regel Vorlage, um e- - Mail-Anspruchs Typen zu akzeptieren, die mit dem Domain Name System DNS-Namen des Anspruchs Anbieters enden ( ) .For example, you might want to only accept e-mail claims from the claims provider; therefore, you would use this rule template to accept e-mail claim types that end in the claims provider's Domain Name System (DNS) name.

Konfigurieren diese Regel in einer Vertrauensstellung der vertrauenden SeiteConfiguring this rule on a relying party trust

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.When you use a relying party trust, this rule can be configured to pass through or filter outgoing claims that will be sent to the relying party. 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.Some relying parties might not understand certain claim types, or certain claims might contain sensitive information that should not be sent to certain relying parties. Diese Regelvorlage kann helfen, diese Richtlinien für eine bestimmte Vertrauensstellung der vertrauenden Seite zu erzwingen.This rule template can help to enforce those policies for a particular relying party trust.

Erstellen dieser RegelHow to create this rule

Sie erstellen diese Regel entweder mithilfe der Anspruchs Regel Sprache oder mithilfe der Regel Vorlage zum Weiterleiten oder Filtern eingehender Ansprüche im Snap-in "AD FS-Verwaltung" - .You create this rule using either the claim rule language or using the Pass Through or Filter an Incoming Claim rule template in the AD FS Management snap-in. Diese Regelvorlage bietet die folgenden Konfigurationsoptionen:This rule template provides the following configuration options:

  • Angeben eines AnspruchsregelnamensSpecify a claim rule name

  • Angeben eines eingehenden AnspruchstypsSpecify a incoming claim type

  • Alle Anspruchswerte weiterleitenPass through all claim values

  • Nur einen bestimmten Anspruchswert weiterleitenPass through only a specific claim value

  • Nur Anspruchs Werte weiterleiten, die einem bestimmten e- - Mail-suffixwert entsprechenPass through only claim values that match a specific e-mail suffix value

  • Nur Anspruchswerte weiterleiten, die mit einem bestimmten Wert anfangenPass through only claim values that start with a specific value

Weitere Anweisungen zum Erstellen dieser Vorlage finden Sie unter Erstellen einer Regel zum Weiterleiten oder Filtern eines eingehenden Anspruchs im AD FS Bereitstellungs Handbuch.For more instructions on how to create this template, see Create a Rule to Pass Through or Filter an Incoming Claim in the AD FS Deployment Guide.

Verwenden der AnspruchsregelspracheUsing the claim rule language

Falls ein Anspruch nur gesendet werden soll, wenn der Wert des Anspruchs mit einem benutzerdefinierten Muster übereinstimmt, müssen Sie eine benutzerdefinierte Regel verwenden.If a claim should be sent only when the claim value matches a custom pattern, you must use a custom rule. Weitere Informationen finden Sie unter "Wann sollte eine benutzerdefinierte Anspruchsregel verwendet werden?".For more information, see When to Use a Custom Rule.

Beispiele für das Erstellen der Syntax einer Weiterleitungs- oder FilterregelExamples of how to construct a pass through or filter rule syntax

Eine einfache Filterregel filtert Ansprüche basierend auf einer der oben beschriebenen Eigenschaften.A simple filtering rule would filter claims based on one of the properties outlined above. Beispielsweise werden mit der folgenden Regel alle e-Mail-Ansprüche weitergeleitet - :For example, the following rule will pass through all e-mail claims:

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

Filter können logisch und - zusammengefasst werden.Filters can be logically AND-ed together. Die folgende Regel akzeptiert z. b. alle e- - Mail-Ansprüche mit dem Wert. johndoe@fabrikam.com:For example, the following rule will accept all e-mail claims with value 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.In the above examples the filters always used an equality operator. Die Anspruchsregelsprache unterstützt die folgenden Operatoren:The claim rule language supports the following operators:

  • ==- ( Groß-/Kleinschreibung -)== - equals (case-sensitive)

  • !=ungleich - Groß-/Kleinschreibung beachten ( -)!= - not equals (case-sensitive)

  • =~- reguläre Ausdrucks Übereinstimmung=~- regular expression match

  • !~ -nicht Übereinstimmung regulärer Ausdrücke -!~ - regular expression non-match

Die folgende Regel akzeptiert z. b. alle e- - Mail-Ansprüche, die nicht vom lokalen Verbund Server ausgegeben werden und das Suffix Boeing.com aufweisen:For example, the following rule will accept all e-mail claims not issued by the local federation server that have a suffix of boeing.com:

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 RegelnBest practices for creating custom rules

Wie in der folgenden Tabelle beschrieben, kann ein Filter auf eine oder mehrere der Eigenschaften jedes Anspruchs angewendet werden.A filter can be applied to one or more of the properties of each claim, as described in the following table.

AnspruchseigenschaftClaim property BESCHREIBUNGDescription
typeType Der Anspruchstyp, der in der ( Regel als URI dargestellt ) wird, spiegelt eine implizite Vereinbarung zwischen Partnern in einem Verbund darüber wider, welche Art von Informationen im Anspruch übermittelt wird.The claim type (usually represented as an Uri) reflects an implicit agreement between partners in a Federation about what kind of information is conveyed in the claim. Beispielsweise enthalten Ansprüche vom Typ http: / /schemas.xmlSOAP.org / WS / 2005 / 05 / Identity / Claims / EmailAddress die e- - Mail-Adresse des Benutzers.For example, claims of type http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress will contain the e-mail address of the user.
WertValue Der Wert des Anspruchs.The value of the claim. Beispielsweise kann ein Anspruch des Typs "http: / /schemas.xmlSOAP.org / WS / 2005 / 05 / Identity / Claims / EmailAddress" den Wertjohndoe@fabrikam.comFor example, a claim of type http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress may have a value of johndoe@fabrikam.com
ValueTypeValueType Der ValueType stellt dar, wie die Informationen, die im Wert des Anspruchs enthalten sind, interpretiert werden sollen.The ValueType represents how the information contained in the claim's Value is to be interpreted. In der Regel wird ValueType auf http: / / www.w3.org / 2001 / XmlSchema String festgelegt # , aber der Anspruchs Wert kann Base64Binary-codierte Daten enthalten, ( z ) . b. ein Bild oder ein Datum, einen booleschen Wert usw.Typically the ValueType will be set to http://www.w3.org/2001/XMLSchema#string, but the claim value could contain Base64Binary encoded data (for example, an image) or a date, Boolean, and so on.
Issuer (Aussteller)Issuer "Issuer" ist der Aussteller, der zuletzt die Ansprüche zum Benutzer ausgestellt hat.The issuer represents the party that last issued the claims about the user. Wenn die Ansprüche auf einem Anspruchs Anbieter-Verbund Server abgerufen werden, wird der Aussteller aller Ansprüche auf "Local Authority" festgelegt.If the claims are obtained at a claims provider federation server the issuer of all claims is going to be set to "LOCAL AUTHORITY". 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.If the claims were received by a Federation Provider federation server, the issuer of the claims is going to be set to the claims provider identifier of the claims provider that signed the token. 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.Thus, when processing rules on claims received from a claims provider the issuer of all claims is going to be set to the same value. 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.When authoring rules for a relying party, the issuer property can be used to distinguish between claims originating from different claims providers.
OriginalIssuerOriginalIssuer Diese Anspruchseigenschaft dient zum Angeben, von welchem Verbundserver der Anspruch ursprünglich ausgestellt wurde.This claim property is meant to convey which federation server originally issued the claim. Da die Eigenschaft Aussteller der Ansprüche auf den letzten Verbund Server festgelegt ist, der das Token signiert hat, ist der ursprüngliche Aussteller in Szenarios nützlich, in denen ein Anspruch durch mehr als einen Verbund Server übertragen wurde. eine vertrauende Seite, die ( ein Token von einem Verbund Server für Verbund Anbieter empfängt, ist möglicherweise interessiert, welcher bestimmte Anspruchs Anbieter-Verbund Server den Benutzer authentifiziert hat.)Since the issuer property of claims is set to the last federation server that signed the token, the original issuer is useful in scenarios where a claim has flowed through more than one federation server (For example, a relying party that receives a token from a federation provider federation server might be interested which particular claims provider federation server authenticated the user)
EigenschaftenProperties Neben den oben beschriebenen fünf Eigenschaften hat jeder Anspruch auch einen Eigenschaftenbehälter, in dem benannte Eigenschaften gespeichert werden können.In addition to the five properties outlined above, each claim also has a property bag where named properties can be stored. 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.These properties are not serialized in the token and only make sense for passing information between components of the claims issuance pipeline within the scope of a single federation server. Beispiel: Festlegen einer Eigenschaft während der Verarbeitung von Anspruchsanbieterregeln und das anschließende Verweisen darauf in den Regeln der vertrauenden Seite.For example, setting a property during claims provider rules processing and then referring to it in relying party rules.