Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Du kan använda den här regeln i Active Directory Federation Services (AD FS) när du behöver ta en inkommande anspråkstyp och sedan tillämpa en åtgärd som avgör om en användare ska tillåtas eller nekas åtkomst baserat på det värde som du anger i regeln. När du använder den här regeln skickar eller transformerar du anspråk som matchar följande regellogik, baserat på något av de alternativ som du konfigurerar i regeln:
| Regelalternativ | Regellogik |
|---|---|
| Tillåt alla användare | Om inkommande anspråkstyp är lika med och någon anspråkstyp är, och värdet är lika med och något värde är, då utfärda anspråk med värdet lika med Tillåt. |
| Tillåt åtkomst till användare med det här inkommande anspråket | Om den inkommande anspråkstypen är lika med , den specificerade anspråkstypen, och värdet är lika med , det specificerade anspråksvärdet, så utfärdas ett anspråk med värdet lika med Tillåt. |
| Neka åtkomst till användare med det här inkommande anspråket | Om inkommande anspråkstyp är lika med angiven anspråkstyp och värdet är lika med angivet anspråksvärde, då utfärdas ett anspråk med värdet lika med , Neka |
Följande avsnitt innehåller en grundläggande introduktion till anspråksregler och ger ytterligare information om när den här regeln ska användas.
Om anspråksregler
En anspråksregel representerar en instans av affärslogik som tar ett inkommande anspråk, tillämpar ett villkor på den (om x sedan y) och skapar ett utgående anspråk baserat på villkorsparametrarna. I följande lista beskrivs viktiga tips som du bör känna till om anspråksregler innan du läser vidare i det här avsnittet:
I snapin-modulen AD FS Management kan anspråksregler endast skapas med hjälp av anspråksregelmallar
Anspråksregler bearbetar inkommande anspråk antingen direkt från en anspråksprovider (till exempel Active Directory eller en annan federationstjänst) eller från utdata från reglerna för godkännandetransformering på ett anspråksproviderförtroende.
Anspråksregler bearbetas av anspråksutfärdarmotorn i kronologisk ordning inom en viss regeluppsättning. Genom att ange prioritet för regler kan du ytterligare förfina eller filtrera anspråk som genereras av tidigare regler i en viss regeluppsättning.
Anspråksregelmallar kräver alltid att du anger en inkommande anspråkstyp. Du kan dock bearbeta flera anspråksvärden med samma anspråkstyp med hjälp av en enda regel.
Mer detaljerad information om anspråksregler och anspråksregeluppsättningar finns i Rollen för anspråksregler. Mer information om hur regler bearbetas finns i Rollen för anspråksmotorn. Mer information om hur anspråksregeluppsättningar bearbetas finns i Rollen för anspråkspipelinen.
Tillåt alla användare
När du använder regelmallen Tillåt alla användare har alla användare åtkomst till den förlitande parten. Du kan dock använda ytterligare auktoriseringsregler för att ytterligare begränsa åtkomsten. Om en regel tillåter en användare att komma åt den förlitande parten och en annan regel nekar användaren åtkomst till den förlitande parten åsidosätter neka-resultatet tillståndsresultatet och användaren nekas åtkomst.
Användare som har åtkomst till den förlitande parten från federationstjänsten kan fortfarande nekas tjänsten av den förlitande parten.
Tillåt åtkomst till användare med det här inkommande anspråket
När du använder mallen Tillåt eller Neka användare baserat på en regel för inkommande anspråk för att skapa en regel och ange villkoret som ska tillåtas, kan du tillåta specifik användares åtkomst till den förlitande parten baserat på typen och värdet för ett inkommande anspråk. Du kan till exempel använda den här regelmallen för att skapa en regel som endast tillåter de användare som har ett gruppanspråk med värdet Domänadministratörer. Om en regel tillåter en användare att komma åt den förlitande parten och en annan regel nekar användaren åtkomst till den förlitande parten åsidosätter neka-resultatet tillståndsresultatet och användaren nekas åtkomst.
Användare som har behörighet att komma åt den förlitande parten från federationstjänsten kan fortfarande nekas tjänsten av den förlitande parten. Om du vill tillåta alla användare att komma åt den förlitande parten använder du regelmallen Tillåt alla användare.
Neka åtkomst till användare med det här inkommande anspråket
När du använder mallen Tillåt eller Neka användare baserat på en regel för inkommande anspråk för att skapa en regel och ange villkoret att neka kan du neka användarens åtkomst till den förlitande parten baserat på typen och värdet för ett inkommande anspråk. Du kan till exempel använda den här regelmallen för att skapa en regel som nekar alla användare som har ett gruppanspråk med värdet Domänanvändare.
Om du vill använda neka-villkoret men även aktivera åtkomst till den förlitande parten för specifika användare måste du senare uttryckligen lägga till auktoriseringsregler med tillståndsvillkoret för att ge användarna åtkomst till den förlitande parten.
Om en användare nekas åtkomst när anspråksutfärdarmotorn bearbetar regeluppsättningen stängs ytterligare regelbearbetning av och AD FS returnerar felet "Åtkomst nekad" till användarens begäran.
Auktorisera användare
I AD FS används auktoriseringsregler för att utfärda ett tillstånd eller neka anspråk som avgör om en användare eller en grupp användare (beroende på vilken anspråkstyp som används) får åtkomst till webbaserade resurser i en viss förlitande part eller inte. Auktoriseringsregler kan endast anges för förlitandeparter.
Auktoriseringsregeluppsättningar
Olika auktoriseringsregeluppsättningar finns beroende på vilken typ av tillstånd eller neka-åtgärder du behöver konfigurera. Dessa regeluppsättningar omfattar:
Regler för utfärdande av auktorisering: Dessa regler avgör om en användare kan ta emot anspråk för en förlitande part och därför åtkomst till den förlitande parten.
regler för delegeringsauktorisering: Dessa regler avgör om en användare kan fungera som en annan användare för den förlitande parten. När en användare fungerar som en annan användare placeras fortfarande påståenden om den begärande användaren i token.
auktoriseringsregler för personifiering: Dessa regler avgör om en användare helt kan personifiera en annan användare till den förlitande parten. Att personifiera en annan användare är en mycket kraftfull funktion, eftersom den förlitande parten inte vet att användaren personifieras.
Mer information om hur auktoriseringsregelprocessen passar in i anspråksutfärdningspipelinen finns i Rollen för anspråksutfärdarmotorn.
Anspråkstyper som stöds
AD FS definierar två anspråkstyper som används för att avgöra om en användare tillåts eller nekas. Dessa uniforma resursidentifierare för anspråkstyp (URI:er) är följande:
Tillåt: http://schemas.microsoft.com/authorization/claims/permit
Neka: http://schemas.microsoft.com/authorization/claims/deny
Så här skapar du den här regeln
Du kan skapa båda auktoriseringsreglerna med antingen anspråksregelspråket eller med hjälp av regelmallen Tillåt alla användare eller Tillåt eller Neka användare baserat på en regelmall för inkommande anspråk i snapin-modulen FÖR AD FS-hantering. Regelmallen Tillåt alla användare innehåller inga konfigurationsalternativ. Mallen Tillåt eller Neka användare baserat på en regel för inkommande anspråk innehåller dock följande konfigurationsalternativ:
Ange ett namn på anspråksregeln
Ange en inkommande anspråkstyp
Ange ett inkommande anspråksvärde
Tillåt åtkomst till användare med det här inkommande anspråket
Neka åtkomst till användare med det här inkommande anspråket
Mer information om hur du skapar den här mallen finns i Skapa en regel för att tillåta alla användare eller Skapa en regel för att tillåta eller neka användare baserat på ett inkommande anspråk i AD FS-distributionsguiden.
Att använda anspråksregelspråket
Om ett anspråk endast ska skickas när anspråksvärdet matchar ett anpassat mönster måste du använda en anpassad regel. Mer information finns i När du ska använda en anpassad anspråksregel.
Exempel på hur du skapar en auktoriseringsregel baserat på flera anspråk
När du använder syntaxen för anspråksregelspråket för att auktorisera anspråk kan ett anspråk också utfärdas baserat på förekomsten av flera anspråk i användarens ursprungliga anspråk. Följande regel utfärdar endast ett auktoriseringsanspråk om användaren är medlem i gruppredigeraren och har autentiserats med Windows-autentisering:
[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");
Exempel på hur du skapar auktoriseringsregler som delegerar vem som kan skapa eller ta bort proxyförtroenden för federationsserver
Innan en federationstjänst kan använda en federationsserverproxy för att omdirigera klientbegäranden måste ett förtroende först upprättas mellan federationstjänsten och federationsserverproxydatorn. Som standard upprättas ett proxyförtroende när någon av följande autentiseringsuppgifter har angetts korrekt i AD FS Federation Server Proxy Configuration Wizard:
Tjänstkontot som används av federationstjänsten och som proxyn skyddar
Ett Active Directory-domänkonto som är medlem i den lokala gruppen Administratörer på alla federationsservrar i en federationsservergrupp
När du vill ange vilken användare eller användare som ska kunna skapa ett proxyförtroende för en viss federationstjänst kan du använda någon av följande delegeringsmetoder. Den här listan över metoder är i prioritetsordning, baserat på AD FS-produktteamets rekommendationer om de säkraste och minst problematiska delegeringsmetoderna. Det är nödvändigt att endast använda en av dessa metoder, beroende på organisationens behov:
Skapa en domänsäkerhetsgrupp i Active Directory (till exempel FSProxyTrustCreators), lägg till den här gruppen i den lokala gruppen Administratörer på var och en av federationsservrarna i servergruppen och lägg sedan bara till de användarkonton som du vill delegera den här rätten till till den nya gruppen. Det här är den metod som föredras.
Lägg till användarens domänkonto i administratörsgruppen på var och en av federationsservrarna i servergruppen.
Om du av någon anledning inte kan använda någon av dessa metoder kan du också skapa en auktoriseringsregel för detta ändamål. Även om det inte rekommenderas – på grund av eventuella komplikationer som kan uppstå om den här regeln inte är korrekt skriven – kan du använda en anpassad auktoriseringsregel för att delegera vilka Active Directory-domänanvändarkonton som också kan skapa eller till och med ta bort förtroenden mellan alla federationsserverproxys som är associerade med en viss federationstjänst.
Om du väljer metod 3 kan du använda följande regelsyntax för att utfärda ett auktoriseringsanspråk som gör det möjligt för en angiven användare (i det här fallet contoso\frankm) att skapa förtroenden för en eller flera federationsserverproxy till federationstjänsten. Du måste tillämpa den här regeln med hjälp av Windows PowerShell-kommandotSet-ADFSProperties AddProxyAuthorizationRules.
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 );Senare, om du vill ta bort användaren så att användaren inte längre kan skapa proxyförtroenden, kan du återgå till standardregeln för proxyförtroendeauktorisering för att ta bort rätten för användaren att skapa proxyförtroenden för federationstjänsten. Du måste också tillämpa den här regeln med hjälp av Windows PowerShell-kommandotSet-ADFSProperties AddProxyAuthorizationRules.
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 );
Mer information om hur du använder anspråksregelspråket finns i Rollen för anspråksregelspråket.