Wann eine Autorisierungsanspruchsregel verwendet werden sollte

Sie können diese Regel in Active Directory-Verbunddiensten (AD FS) verwenden, wenn Sie einen eingehenden Anspruchstyp annehmen und dann eine Aktion anwenden müssen, die bestimmt, ob einem Benutzer basierend auf dem Wert, den Sie in der Regel angeben, Zugriff gewährt oder verweigert wird. Wenn Sie diese Regel verwenden, übergeben oder transformieren Sie Ansprüche, die der folgenden Regellogik entsprechen, basierend auf einer der beiden Optionen, die Sie innerhalb der Regel konfigurieren.

Regeloption Regellogik
Alle Benutzer zulassen Wenn der Typ des eingehenden Anspruchs gleich einem beliebigen Anspruchstyp und Wert gleich einem beliebigen Wert ist, geben Sie einen Anspruch mit dem Wert Permit aus.
Benutzern mit diesem eingehenden Anspruch Zugriff gewähren Wenn der eingehende Anspruchstyp dem angegebenen Anspruchstyp entspricht und der Wert dem angegebenen Anspruchswert entspricht, geben Sie den Anspruch mit dem Wert "Permit" aus.
Verweigern Sie den Zugriff für Benutzer mit diesem eingehenden Anspruch Wenn der eingehende Anspruchstyp dem angegebenen Anspruchstyp entspricht und der Wert dem angegebenen Anspruchswert entspricht, geben Sie den Anspruch mit dem Wert "Deny" aus.

In den folgenden Abschnitten finden Sie eine grundlegende Einführung in Anspruchsregeln und weitere Details zur Verwendung dieser Regel.

Informationen zu Anspruchsregeln

Eine Anspruchsregel stellt eine Instanz von Geschäftslogik dar, die einen eingehenden Anspruch akzeptiert, eine Bedingung auf ihn anwendet (wenn x dann y), und einen ausgehenden Anspruch basierend auf den Bedingungsparametern erzeugt. In der folgenden Liste sind wichtige Tipps aufgeführt, die Sie über Anspruchsregeln wissen sollten, bevor Sie weiter in diesem Thema lesen:

  • 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 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 mithilfe einer einzigen Regel verarbeiten.

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".

Alle Benutzer zulassen

Wenn Sie die Regelvorlage "Alle Benutzer zulassen" verwenden, haben alle Benutzer Zugriff auf die vertrauende Seite. Sie können jedoch zusätzliche Autorisierungsregeln verwenden, um den Zugriff weiter einzuschränken. Wenn eine Regel einem Benutzer den Zugriff auf die vertrauende Seite zulässt und eine andere Regel den Benutzerzugriff auf die vertrauende Seite verweigert, setzt das Verweigerungsergebnis das Genehmigungsergebnis außer Kraft, und der Benutzer wird der Zugriff verweigert.

Benutzende, denen der Zugriff auf die vertrauende Seite über den Verbunddienst erlaubt wird, kann der Dienst durch die vertrauende Seite dennoch verweigert werden.

Benutzern mit diesem eingehenden Anspruch Zugriff gewähren

Wenn Sie die Regelvorlage "Benutzer basierend auf einem eingehenden Antrag zulassen oder ablehnen" verwenden, um eine Regel zu erstellen und die Bedingung auf Zulassen festlegen, können Sie den Zugriff bestimmter Benutzer auf eine vertrauenswürdige Partei basierend auf dem Typ und Wert eines eingehenden Anspruchs zulassen. Sie können beispielsweise diese Regelvorlage verwenden, um eine Regel zu erstellen, die nur die Benutzer mit einem Gruppenanspruch mit dem Wert "Domänenadministratoren" zulässt. Wenn eine Regel einem Benutzer den Zugriff auf die vertrauende Seite zulässt und eine andere Regel den Benutzerzugriff auf die vertrauende Seite verweigert, setzt das Verweigerungsergebnis das Genehmigungsergebnis außer Kraft, und der Benutzer wird der Zugriff verweigert.

Benutzern, denen der Zugriff auf die vertrauende Seite über den Verbunddienst erlaubt wird, kann der Dienst durch die vertrauende Seite dennoch verweigert werden. Wenn Sie allen Benutzern den Zugriff auf die vertrauende Seite gestatten möchten, verwenden Sie die Regelvorlage "Alle Benutzer zulassen".

Verweigern Sie den Zugriff für Benutzer mit diesem eingehenden Anspruch

Wenn Sie die Regelvorlage "Benutzer basierend auf einem eingehenden Anspruch zulassen oder verweigern" verwenden, um eine Regel zu erstellen und die Bedingung auf "Verweigern" festlegen, können Sie den Zugriff des Benutzers auf die anfragende Partei basierend auf dem Typ und Wert eines eingehenden Anspruchs verweigern. Sie können z. B. diese Regelvorlage verwenden, um eine Regel zu erstellen, die allen Benutzern, die über einen Gruppenanspruch mit dem Wert "Domänenbenutzer" verfügen, verweigert.

Wenn Sie die Verweigerungsbedingung verwenden möchten, aber auch den Zugriff auf die vertrauende Seite für bestimmte Benutzer aktivieren möchten, müssen Sie später explizit Autorisierungsregeln mit der Genehmigungsbedingung hinzufügen, um diesen Benutzern den Zugriff auf die vertrauende Seite zu ermöglichen.

Wird Benutzenden bei der Verarbeitung des Regelsatzes durch die Anspruchsausstellungs-Engine der Zugriff verweigert, wird die weitere Regelverarbeitung beendet, und AD FS gibt auf die Anforderung der Benutzenden „Zugriff verweigert“ zurück.

Autorisieren von Benutzern

In AD FS werden Autorisierungsregeln verwendet, um einen Genehmigungs- oder Ablehnungsanspruch auszugeben, der bestimmt, ob ein Benutzer oder eine Gruppe von Benutzern (abhängig vom verwendeten Anspruchstyp) auf webbasierte Ressourcen in einer bestimmten vertrauenden Partei zugreifen darf oder nicht. Autorisierungsregeln können nur für Vertrauensstellungen der vertrauenden Seite festgelegt werden.

Autorisierungsregelsätze

Je nachdem, welche Art von Genehmigungs- oder Ablehnungsvorgängen Sie konfigurieren müssen, sind unterschiedliche Autorisierungsregelsätze vorhanden. Zu diesen Regelsätzen gehören:

  • Ausstellungsautorisierungsregeln: Diese Regeln bestimmen, ob Benutzende Ansprüche für eine vertrauende Seite empfangen und damit auf die vertrauende Seite zugreifen können.

  • Delegierungsautorisierungsregeln: Diese Regeln bestimmen, ob ein Benutzer als anderer Benutzer der vertrauenden Seite fungieren kann. Wenn ein Benutzer als anderer Benutzer fungiert, werden Ansprüche über den anfordernden Benutzer weiterhin im Token platziert.

  • Autorisierungsregeln für Identitätswechsel: Diese Regeln bestimmen, ob ein Benutzer einen vollständigen Identitätswechsel eines anderen Benutzers für die vertrauende Seite ausführen kann. Die Identität anderer Benutzender anzunehmen ist eine sehr leistungsstarke Funktion, da die vertrauende Seite nicht weiß, dass die Benutzenden die Identität von anderen angenommen haben.

Weitere Informationen dazu, wie der Autorisierungsregelprozess in die Forderungsausstellungspipeline passt, finden Sie unter The Role of the Claims Issuance Engine.

Unterstützte Anspruchstypen

AD FS definiert zwei Anspruchstypen, die verwendet werden, um festzustellen, ob einem Benutzer der Zugriff erlaubt oder verweigert wird. Diese Anspruchstyp-URIs (Uniform Resource Identifiers) sind wie folgt:

  1. Genehmigung: http://schemas.microsoft.com/authorization/claims/permit

  2. Ablehnen: http://schemas.microsoft.com/authorization/claims/deny

So erstellen Sie diese Regel

Sie können beide Autorisierungsregeln entweder mithilfe der Anspruchsregelsprache erstellen oder die Regelvorlage Alle Benutzer zulassen oder die Regelvorlage Zulassen oder Benutzer basierend auf einem eingehenden Anspruch verweigern im AD FS-Verwaltungs-Snap-In verwenden. Die Regelvorlage "Alle Benutzer zulassen" bietet keine Konfigurationsoptionen. Die Regelvorlage „Zulassen oder Verweigern von Benutzern auf der Grundlage eines eingehenden Anspruchs“ bietet dagegen die folgenden Konfigurationsoptionen:

  • Einen Anspruchsregelname angeben

  • Angeben eines eingehenden Anspruchstyps

  • Geben Sie einen eingehenden Anspruchswert ein.

  • Benutzern mit diesem eingehenden Anspruch Zugriff gewähren

  • Verweigern Sie den Zugriff für Benutzer mit diesem eingehenden Anspruch

Weitere Anweisungen zum Erstellen dieser Vorlage finden Sie unter Eine Regel erstellen, um allen Benutzern den Zugriff zu gestatten oder Eine Regel erstellen, um Benutzern basierend auf einem eingehenden Anspruch den Zugang zu erlauben oder zu verweigern im AD FS Deployment Guide.

Verwenden der Anspruchsregelsprache

Wenn ein Anspruch nur gesendet werden soll, wenn der Anspruchswert einem benutzerdefinierten Muster entspricht, müssen Sie eine benutzerdefinierte Regel verwenden. Weitere Informationen finden Sie unter Verwendung einer benutzerdefinierten Anspruchsregel.

Beispiel für das Erstellen einer Autorisierungsregel basierend auf mehreren Ansprüchen

Wenn Sie die Syntax der Anspruchsregelsprache zum Autorisieren von Ansprüchen verwenden, kann ein Anspruch auch basierend auf dem Vorhandensein mehrerer Ansprüche in den ursprünglichen Ansprüchen des Benutzers ausgestellt werden. Die folgende Regel gibt einen Autorisierungsanspruch nur aus, wenn der Benutzer Mitglied der Gruppen-Editoren ist und sich mit der Windows-Authentifizierung authentifiziert hat:

[type == "https://schemas.microsoft.com/ws/2008/06/identity/claims/authenticationmethod",
value == "urn:federation:authentication:windows" ]
&& [type == "http://schemas.xmlsoap.org/claims/Group ", value == "editors"]
=> issue(type = "http://schemas.xmlsoap.org/claims/authZ", value = "Granted");

Beispiel für das Erstellen von Autorisierungsregeln, die delegieren, wer Vertrauensstellungen für Verbundserver-Proxys erstellen oder entfernen kann

Bevor ein Verbunddienst einen Verbundserverproxy verwenden kann, um Clientanforderungen umzuleiten, muss zuerst eine Vertrauensstellung zwischen dem Verbunddienst und dem Verbundserverproxycomputer eingerichtet werden. Standardmäßig wird eine Proxy-Vertrauensstellung eingerichtet, wenn eine der folgenden Anmeldeinformationen erfolgreich im AD FS-Verbundserver-Proxy-Konfigurationsassistent eingegeben wird.

  • Das Dienstkonto, das vom Verbunddienst verwendet wird und das der Proxy schützt

  • Ein Active Directory-Domänenkonto, das Mitglied der lokalen Administratorgruppe auf allen Verbundservern in einer Verbundserverfarm ist

Wenn Sie angeben möchten, welche Benutzer oder Benutzer eine Proxyvertrauensstellung für einen bestimmten Verbunddienst erstellen können, können Sie eine der folgenden Delegierungsmethoden verwenden. Diese Liste der Methoden ist in der Reihenfolge der Priorität, basierend auf den Empfehlungen des AD FS-Produktteams zu den sichersten und am wenigsten problematischen Methoden der Delegierung. Es ist erforderlich, je nach den Anforderungen Ihrer Organisation nur eine dieser Methoden zu verwenden:

  1. Erstellen Sie eine Domänensicherheitsgruppe in Active Directory (z. B. FSProxyTrustCreators), fügen Sie diese Gruppe der lokalen Administratorgruppe auf jedem Der Verbundserver in der Farm hinzu, und fügen Sie dann nur die Benutzerkonten hinzu, an die Sie dieses Recht an die neue Gruppe delegieren möchten. Dies ist die bevorzugte Methode.

  2. Fügen Sie das Domänenkonto des Benutzers der Administratorgruppe auf jedem Verbundserver in der Farm hinzu.

  3. Wenn Sie aus irgendeinem Grund keine dieser Methoden verwenden können, können Sie hierfür auch eine Autorisierungsregel erstellen. Obwohl es nicht empfohlen wird – aufgrund möglicher Komplikationen, die auftreten können, wenn diese Regel nicht richtig geschrieben wurde – können Sie eine benutzerdefinierte Autorisierungsregel verwenden, um zu delegieren, welche Active Directory-Domänenbenutzerkonten auch die Vertrauensstellungen zwischen allen Verbundserverproxys erstellen oder sogar entfernen können, die einem bestimmten Verbunddienst zugeordnet sind.

    Wenn Sie Methode 3 auswählen, können Sie die folgende Regelsyntax verwenden, um einen Autorisierungsanspruch ausstellen, der es einem bestimmten Benutzer (in diesem Fall contoso\frankm) ermöglicht, Vertrauensstellungen für einen oder mehrere Verbundserverproxys für den Verbunddienst zu erstellen. Sie müssen diese Regel mit dem Windows PowerShell-Befehl Set-ADFSProperties AddProxyAuthorizationRules anwenden.

    c:[Type == "https://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname", issuer=~"^AD AUTHORITY$" value == "contoso\frankm" ] => issue(Type = "https://schemas.microsoft.com/authorization/claims/permit", Value = "true")
    
    exists([Type == "https://schemas.microsoft.com/ws/2008/06/identity/claims/groupsid", Value == "S-1-5-32-544", Issuer =~ "^AD AUTHORITY$"])
    => issue(Type = "https://schemas.microsoft.com/authorization/claims/permit", Value = "true");
    
    c:[Type == "https://schemas.microsoft.com/ws/2008/06/identity/claims/primarysid", Issuer =~ "^AD AUTHORITY$" ] => issue(store="_ProxyCredentialStore",types=("https://schemas.microsoft.com/authorization/claims/permit"),query="isProxyTrustManagerSid({0})", param= c.Value );
    
    c:[Type == "https://schemas.microsoft.com/ws/2008/06/identity/claims/proxytrustid", Issuer =~ "^SELF AUTHORITY$" ] => issue(store="_ProxyCredentialStore",types=("https://schemas.microsoft.com/authorization/claims/permit"),query="isProxyTrustProvisioned({0})", param=c.Value );
    

    Wenn Sie den Benutzer später entfernen möchten, damit der Benutzer keine Proxyvertrauensstellungen mehr erstellen kann, können Sie die Standardautorisierungsregel für die Proxyvertrauensstellung wiederherstellen, um das Recht für den Benutzer zum Erstellen von Proxyvertrauensstellungen für den Verbunddienst zu entfernen. Sie müssen diese Regel auch mit dem Windows PowerShell-Befehl Set-ADFSProperties AddProxyAuthorizationRules anwenden.

    exists([Type == "https://schemas.microsoft.com/ws/2008/06/identity/claims/groupsid", Value == "S-1-5-32-544", Issuer =~ "^AD AUTHORITY$"])
    => issue(Type = "https://schemas.microsoft.com/authorization/claims/permit", Value = "true");
    
    c:[Type == "https://schemas.microsoft.com/ws/2008/06/identity/claims/primarysid", Issuer =~ "^AD AUTHORITY$" ] => issue(store="_ProxyCredentialStore",types=("https://schemas.microsoft.com/authorization/claims/permit"),query="isProxyTrustManagerSid({0})", param= c.Value );
    
    c:[Type == "https://schemas.microsoft.com/ws/2008/06/identity/claims/proxytrustid", Issuer =~ "^SELF AUTHORITY$" ] => issue(store="_ProxyCredentialStore",types=("https://schemas.microsoft.com/authorization/claims/permit"),query="isProxyTrustProvisioned({0})", param=c.Value );
    

Weitere Informationen zur Verwendung der Anspruchsregelsprache finden Sie unter "Rolle der Anspruchsregelsprache".