Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Sie schreiben eine benutzerdefinierte Anspruchsregel in Active Directory-Verbunddienste (AD FS) mithilfe der Anspruchsregelsprache. Dabei handelt es sich um das Framework, das vom Anspruchsausstellungsmodul zum programmgesteuerten Generieren, Transformieren, Übergeben und Filtern von Ansprüchen verwendet wird. Mithilfe einer benutzerdefinierten Regel können Sie Regeln mit komplexerer Logik als eine Standardregelvorlage erstellen. Erwägen Sie die Verwendung einer benutzerdefinierten Regel, wenn Sie Folgendes ausführen möchten:
Senden Sie Ansprüche basierend auf Werten, die aus einem SQL-Attributspeicher (Structured Query Language) extrahiert werden.
Senden Sie Ansprüche basierend auf Werten, die aus einem LDAP-Attributspeicher (Lightweight Directory Access Protocol) mithilfe eines benutzerdefinierten LDAP-Filters extrahiert werden.
Senden Sie Ansprüche basierend auf Werten, die aus einem benutzerdefinierten Attributspeicher extrahiert werden.
Senden Sie Ansprüche nur, wenn zwei oder mehr eingehende Ansprüche vorhanden sind.
Senden Sie Ansprüche nur, wenn ein eingehender Anspruchswert einem komplexen Muster entspricht.
Senden von Ansprüchen mit komplexen Änderungen am Wert eines eingehenden Anspruchs.
Erstellen Sie Anspruchsobjekte zur Verwendung in späteren Regeln, ohne die Anspruchsobjekte tatsächlich zu senden.
Erstellen Sie einen ausgehenden Anspruch aus dem Inhalt mehrerer eingehender Ansprüche.
Sie können auch eine benutzerdefinierte Regel verwenden, wenn der Anspruchswert des ausgehenden Anspruchs auf dem Wert des eingehenden Anspruchs basiert, aber auch zusätzliche Inhalte enthalten muss.
Die Anspruchsregelsprache ist regelbasiert. Sie besteht aus einem Bedingungsteil und einem Ausführungsteil. Mit der Syntax der Anspruchsregelsprache können Sie Ansprüche auflisten, hinzufügen, löschen oder ändern, um die Anforderungen Ihrer Organisation zu erfüllen. Weitere Informationen zur Funktionsweise dieser Teile finden Sie unter "Rolle der Anspruchsregelsprache".
In den folgenden Abschnitten finden Sie eine grundlegende Einführung in Anspruchsregeln. Sie enthalten auch Details dazu, wann eine benutzerdefinierte Anspruchsregel verwendet werden soll.
Informationen zu Anspruchsregeln
Eine Anspruchsregel stellt eine Instanz von Geschäftslogik dar, die einen eingehenden Anspruch akzeptiert, eine Bedingung darauf anwendet (wenn x, dann y), und einen ausgehenden Anspruch basierend auf den Bedingungsparametern erzeugt.
Von Bedeutung
- Im 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 vom Anspruchsausstellungsmodul in chronologischer Reihenfolge innerhalb eines bestimmten Regelsatzes verarbeitet. Durch Festlegen der Rangfolge für die Regeln können Sie Ansprüche weiter verfeinern oder filtern, die von vorherigen Regeln innerhalb eines bestimmten Regelsatzes generiert werden.
- Anspruchsregelvorlagen erfordern immer, dass Sie einen eingehenden Anspruchstyp angeben. Sie können jedoch mehrere Anspruchswerte mit demselben Anspruchstyp verarbeiten, indem Sie eine einzelne Regel verwenden.
Ausführlichere Informationen zu Anspruchsregeln und Anspruchsregelsätzen finden Sie unter The Role of Claim Rules. Weitere Informationen zur Verarbeitung von Regeln finden Sie unter The Role of the Claims Engine. Weitere Informationen zum Verarbeiten von Anspruchsregelsätzen finden Sie unter "The Role of the Claims Pipeline".
So erstellen Sie diese Regel
Sie erstellen diese Regel, indem Sie zunächst die erforderliche Syntax für Ihren Vorgang mithilfe der Anspruchsregelsprache erstellen und dann das Ergebnis in das Textfeld der Vorlage „Anspruch mithilfe einer benutzerdefinierten Regel senden“ für die Eigenschaften einer Anspruchsanbieter-Vertrauensstellung oder einer Vertrauensstellung der vertrauenden Seite im AD FS-Verwaltungs-Snap-In einfügen.
Diese Regelvorlage bietet die folgenden Optionen:
Einen Anspruchsregelname angeben
Geben Sie eine oder mehrere optionale Bedingungen und eine Ausstellungserklärung mithilfe der AD FS-Anspruchsregelsprache ein.
Weitere Anweisungen zum Erstellen einer benutzerdefinierten Regel mithilfe dieser Vorlage finden Sie unter Erstellen einer Regel zum Senden von Ansprüchen mithilfe einer benutzerdefinierten Regel im AD FS-Bereitstellungshandbuch.
Um die Funktionsweise der Anspruchsregelsprache besser zu verstehen, zeigen Sie die Syntax der Anspruchsregelsprache anderer Regeln an, die bereits im Snap-In vorhanden sind, indem Sie in den Eigenschaften für diese Regel auf die Registerkarte " Regelsprache anzeigen " klicken. Mithilfe der Informationen in diesem Abschnitt und den Syntaxinformationen auf dieser Registerkarte können Sie Einblicke in das Erstellen eigener benutzerdefinierter Regeln erhalten.
Weitere Informationen zur Verwendung der Anspruchsregelsprache finden Sie unter "Rolle der Anspruchsregelsprache".
Verwenden der Anspruchsregelsprache
Beispiel: Kombinieren von Vor- und Nachnamen basierend auf den Attributwerten eines Benutzers
Die folgende Regelsyntax kombiniert Vor- und Nachnamen aus Attributwerten in einem bestimmten Attributspeicher. Das Richtlinienmodul bildet ein kartesisches Produkt mit den Übereinstimmungen für jede Bedingung. Die Ausgabe für vorname {"Frank", "Alan"} und Nachnamen {"Miller", "Shen"} lautet z. B. {"Frank Miller", "Frank Shen", "Alan Miller", "Alan Shen"}:
c1:[type == "http://exampleschema/firstname" ]
&& c2:[type == "http://exampleschema/lastname",]
=> issue(type = "http://exampleschema/name", value = c1.value + " " + c2.value);
Beispiel: Ausstellen eines Manageranspruchs basierend darauf, ob benutzende Personen direkt unterstellte Mitarbeitende haben
Die folgende Regel gibt einen Vorgesetztenanspruch nur aus, wenn der Benutzer über direkte Berichte verfügt:
c:[type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name"] => add(store = "SQL Store", types = ("http://schemas.xmlsoap.org/claims/Reports"), query = "SELECT Reports FROM dbo.DirectReports WHERE UserName = {0}", param = c.value );
count([type == "http://schemas.xmlsoap.org/claims/Reports"] ) > 0 => issue(= "http://schemas.xmlsoap.org/claims/ismanager", value = "true");
Beispiel: Ausgeben eines PPID-Anspruchs basierend auf einem LDAP-Attribut
Die folgende Regel gibt einen PPID-Anspruch (Private Personal Identifier) basierend auf den Attributen "windowsaccountname " und " originalissuer " von Benutzern in einem LDAP-Attributspeicher aus:
c:[Type == "https://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname"]
=> issue(store = "_OpaqueIdStore", types = ("http://schemas.xmlsoap.org/ws/2005/05/identity/claims/privatepersonalidentifier"), query = "{0};{1};{2}", param = "ppid", param = c.Value, param = c.OriginalIssuer);
Allgemeine Attribute, die verwendet werden können, um den Benutzer für diese Abfrage eindeutig zu identifizieren, umfassen Folgendes:
Benutzer-SID
windowsaccountname
samaccountname