Regelgrupper och regler
Uppdaterad: 19 juni 2015
Gäller för: Azure
I Microsoft Azure Active Directory Access Control (kallas även Access Control Service eller ACS) är en regelgrupp en namngiven uppsättning anspråksregler som definierar vilka identitetsanspråk som skickas från identitetsprovidrar till ditt förlitande partprogram. I ACS är regelgrupper associerade med förlitande partprogram. En regelgrupp kan användas av fler än ett förlitande partprogram och ett förlitande partprogram kan referera till mer än en regelgrupp.
När ACS tar emot en tokenbegäran eller en token från en identitetsprovider körs den genom alla regelgrupper som är associerade med det förlitande partprogrammet för att bearbeta anspråken i token. Alla regelgrupper körs igenom samtidigt, liksom alla regler i varje regelgrupp (ordningen spelar ingen roll). Om reglerna gör att nya anspråk utfärdas när körningen är klar körs regelgrupperna som är associerade med det förlitande partprogrammet igen. Körningsprocessen för regel- och regelgrupper stoppas när inga nya anspråk utfärdas när körningsprocessen har slutförts eller när ACS har slutfört tio genomkörningar (beroende på vilket som inträffar först).
Du kan skapa och redigera regelgrupper och regler antingen manuellt med hjälp av ACS-hanteringsportalen eller programmatiskt med hjälp av ACS-hanteringstjänsten.
Konfigurera regler med ACS-hanteringsportalen
Skapa regelgrupper
När du lägger till och konfigurerar egenskaperna för ett nytt förlitande partprogram i ACS-hanteringsportalen kan du också skapa en regelgrupp som är associerad med det här förlitande partprogrammet, eftersom alternativet Skapa ny regelgrupp som standard är markerat på sidan Lägg till förlitande partprogram på ACS-hanteringsportalen. Vi rekommenderar starkt att du behåller det här alternativet valt och därmed skapar en standardregelgrupp för ditt nya förlitande partprogram. (Mer information finns i "Regelgrupper" i förlitande partprogram.) Du kan också lägga till regelgrupper med hjälp av avsnittet Regelgrupper i ACS-hanteringsportalen. När du sedan lägger till förlitande partprogram med hjälp av sidan Lägg till förlitande partprogram kan du associera dem med en eller flera befintliga regelgrupper.
Generera regler
När en regelgrupp har skapats kan du använda sidan Redigera regelgrupp i ACS-hanteringsportalen för att automatiskt generera regler. Om du väljer att generera regler automatiskt uppmanas du att välja de identitetsprovidrar som du vill generera reglerna för. När regelgruppen är länkad till ett eller flera förlitande partprogram väljs identitetsprovidrar som används av de förlitande partprogrammen som standard.
Anteckning
För WS-Federation identitetsprovidrar skapas en regel för varje anspråkstyp som erbjuds i identitetsproviderns WS-Federation metadata och den här regeln passerar genom anspråkstypen och värdet. För andra identitetsprovidrar genereras direktregler baserat på en lista över förutbestämda anspråkstyper.
Visa, lägga till och redigera regler
Sidan Redigera regelgrupp i ACS-hanteringsportalen visar alla regler i en tabell, där kolumnerna innehåller utdataanspråket för regeln, anspråksutfärdaren (kan vara en identitetsprovider eller ACS) och en beskrivning.
Om du klickar på en viss regel i tabellen omdirigeras du till sidan Redigera anspråksregel , där regeln kan redigeras. Om du vill lägga till en ny regel manuellt kan du klicka på Lägg till.
Anspråksregler
Anspråksregler beskriver logiken i hur ACS omvandlar indataanspråk till utdataanspråk. Regler finns i regelgrupper som är associerade med förlitande partprogram och körs igenom när en token utfärdas av ACS för ett program. Om en regelgrupp inte innehåller några regler utfärdas ingen token till det förlitande partprogrammet. Vanligtvis krävs en regel för varje anspråkstyp som du vill utfärda till ditt förlitande partprogram. Du kan bara skapa och använda en regel för att gå igenom alla anspråkstyper och värden. Att använda en regel per varje anspråkstyp förbättrar dock säkerheten och ger större kontroll över de data som skickas till ditt program.
I ACS kan du konfigurera en regel för att skicka ett anspråk som tagits emot från en identitetsprovider eller klient till det förlitande partprogrammet utan att ändra anspråkets typ, utfärdare eller värde. Dessa regler kallas för genomströmningsregler . Token som utfärdats av Windows Live ID (Microsoft-konto) innehåller till exempel en anspråkstyp för namnidentifierare. Om du vill skicka det här anspråket oförändrat till det förlitande partprogrammet måste du konfigurera en direktregel som bearbetar anspråkstypen indatanamnidentifierare från anspråksutfärdaren, Windows Live-ID och skapar ett identiskt utdataanspråk.
Tabellen nedan illustrerar anspråk som skickas från en fiktiv AD FS 2.0-identitetsprovider med namnet Contoso.com.
Indataanspråk | Utdataanspråk | ||||
---|---|---|---|---|---|
Emittenten |
Typ |
Värde |
Emittenten |
Typ |
Värde |
Contoso.com |
https://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier |
123456789 |
Access Control Service |
https://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier |
123456789 |
Contoso.com |
https://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress |
john@contoso.com |
Access Control Service |
https://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress |
john@contoso.com |
Contoso.com |
https://schemas.xmlsoap.org/ws/2005/05/identity/claims/name |
John Doe |
Access Control Service |
https://schemas.xmlsoap.org/ws/2005/05/identity/claims/name |
John Doe |
ACS-regelmotorn ger dig också möjlighet att omvandla indataanspråk till helt olika utdataanspråk, baserat på anspråksutfärdaren, indataanspråkstypen och värdet. Med hjälp av ACS-regelmotorn kan du med andra ord omvandla indatatoken till olika utdatatoken genom att lägga till, ta bort eller ändra de anspråk som token innehåller. Den här typen av anspråkstransformering gör att ACS kan implementera grundläggande auktorisering baserat på anspråksindatavärden. Exemplet nedan visar en anspråkstyp av "roll" med värdet "administratör" som utdata om indataanspråket "nameidentifier" matchar ett visst värde.
Indataanspråk | Utdataanspråk | ||||
---|---|---|---|---|---|
Emittenten |
Typ |
Värde |
Emittenten |
Typ |
Värde |
Contoso.com |
https://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier |
123456789 |
Access Control Service |
https://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier |
administratör |
ACS-regelmotorn ger också möjlighet att skapa utdataanspråk baserat på en konjunktion av två indataanspråk. I exemplet nedan är utdataanspråket av typen "åtgärd" med värdet "write" om både "nameidentifier" och "role"-indataanspråken från Contoso.com matcha specifika värden. När två indataanspråk anges i en regel måste båda värdena matcha för att generera utdataanspråket.
Indataanspråk | Ouutput-anspråk | ||||
---|---|---|---|---|---|
Emittenten |
Typ |
Värde |
Emittenten |
Typ |
Värde |
Contoso.com |
https://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier |
123456789 |
Access Control Service
|
https://schemas.xmlsoap.org/ws/2005/05/identity/claims/action
|
skriva
|
Contoso.com |
https://schemas.xmlsoap.org/ws/2005/05/identity/claims/role |
administratör |
Mer information och steg om hur du implementerar tokentransformering med hjälp av regler finns i Så här implementerar du tokentransformeringslogik med hjälp av regler.
När du lägger till nya eller redigerar befintliga anspråksregler med ACS-hanteringsportalen måste du konfigurera följande inställningar:
Regelvillkor (om) – Lägga till ett indataanspråk
Det här avsnittet innehåller de villkor som måste vara sanna för att regeln ska kunna utfärda ett utdataanspråk. Dessa villkor omfattar följande:
Anspråksemittent – refererar till entiteten som utfärdade indataanspråket. Detta kan vara en konfigurerad identitetsprovider (till exempel ) eller ACS. ACS är utfärdaren om det inkommande anspråket kommer från en tjänstidentitet eller om det inkommande anspråket kommer från en annan anspråksregel. Mer information finns i Tjänstidentiteter.
Typ av inkommande anspråk – Refererar till den inkommande anspråkstypen som tagits emot från anspråksemissionen. Den fullständiga anspråkstypen för "nameidentifier" är https://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifiertill exempel . Alternativen för det här fältet är:
Any – returnerar true om någon anspråkstyp tas emot från utfärdaren.
Välj typ – Returnerar sant om den inkommande anspråkstypen matchar den typ som valts i den nedrullningsbara menyn. Den här menyn är ifylld med tillgängliga anspråkstyper för den valda anspråks utfärdaren.
Ange typ – Returnerar sant om den inkommande anspråkstypen matchar det exakta värde som anges i fältet.
Viktigt
Det här fältet är skiftlägeskänsligt.
Inkommande anspråksvärde – Refererar till värdet för det inkommande anspråk som tas emot. Anspråkstypen "nameidentifier" använder till exempel en e-postadress som värde och det här fältet kan användas för att söka efter en specifik e-postadress. Alternativen för det här fältet är:
Any – returnerar true om ett anspråksvärde tas emot från utfärdaren.
Ange värde – Returnerar sant om den inkommande anspråkstypen matchar det exakta värde som anges i fältet. Det här alternativet kräver att en specifik typ av inkommande anspråk markeras eller anges i fältet Typ av inkommande anspråk .
Viktigt
Det här fältet är skiftlägeskänsligt.
Regelvillkor (om) – Lägga till ett andra inkommande anspråk
Om du vill lägga till ett andra anspråk i regeln klickar du på Lägg till ett andra inkommande anspråk. På så sätt kan du ange de ytterligare villkor som visas nedan. Observera att i en regel med två inkommande anspråk måste alla villkor vara sanna för att generera ett utgående anspråk.
Anspråksemissionerare – refererar till entiteten som utfärdade det andra inkommande anspråket. Det kan vara samma identitetsprovider som valts för det första anspråket, eller så kan det vara ACS. Välj ACS för att ange anspråk som genererats från andra anspråksregler under regelbearbetningen.
Viktigt
Två olika identitetsprovidrar kan inte väljas för det första och andra anspråket, eftersom regelbearbetning endast sker för en token som utfärdas från en identitetsprovider i taget.
Typ av inkommande anspråk – Refererar till den inkommande anspråkstypen som tagits emot från anspråksemissionen. Den fullständiga anspråkstypen för "nameidentifier" är https://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifiertill exempel . Alternativen för det här fältet är:
Välj typ – Returnerar sant om den inkommande anspråkstypen matchar den typ som valts i den nedrullningsbara menyn. Den här menyn är ifylld med tillgängliga anspråkstyper för den valda anspråks utfärdaren.
Ange typ – Returnerar sant om den inkommande anspråkstypen matchar det exakta värde som anges i fältet.
Viktigt
Det här fältet är skiftlägeskänsligt.
Inkommande anspråksvärde – Refererar till värdet för det inkommande anspråk som tas emot. Anspråkstypen "nameidentifier" använder till exempel en e-postadress som värde och det här fältet kan användas för att söka efter en specifik e-postadress. Detta returnerar sant om den inkommande anspråkstypen matchar det exakta värdet som anges i fältet.
Viktigt
Det här fältet är skiftlägeskänsligt.
Regelåtgärder (sedan)
Det här avsnittet anger utdataanspråket som utfärdas av ACS om villkoren i avsnittet If i regeln är sanna. Alternativen för utdataanspråk innehåller följande:
Utgående anspråkstyp – anspråkstypen som utfärdas av ACS. Alternativen för det här fältet omfattar följande:
Typ av inkommande direktanspråk – Utfärdar ett utdataanspråk som är av samma typ som det inkommande anspråket.
Välj typ – Utfärdar ett utdataanspråk av den angivna typen. Den nedrullningsbara menyn innehåller en lista över vanliga anspråkstyper.
Ange typ – Utfärdar ett anspråk av den angivna typen. Om utdataanspråket ska finnas i en SAML-token måste det här värdet vara en URI (till exempel https://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier).
Viktigt
Det här fältet är skiftlägeskänsligt.
Utgående anspråksvärde – Refererar till värdet för utdataanspråket som utfärdats av ACS. Alternativen för det här fältet omfattar följande:
Inkommande anspråksvärde via direktströmning – Utfärdar ett utdataanspråk med värdet identiskt med värdet för det inkommande anspråket.
Ange värde – Utfärdar ett anspråk som har det värde som anges i det här fältet. Det här alternativet kräver att en specifik typ av inkommande anspråk markeras eller anges i fältet Utgående anspråkstyp .
Viktigt
Det här fältet är skiftlägeskänsligt.
Regelinformation
Du kan använda det här avsnittet för att skapa en beskrivning av en regel.
Anteckning
I ACS skapas inte regelbeskrivningar automatiskt för de genererade reglerna.
Konfigurera regler med ACS-hanteringstjänsten
Regler i ett Access Control namnområde kan konfigureras programmatiskt med hjälp av ACS-hanteringstjänsten. Ett exempel på hur du konfigurerar regler med hjälp av ASP.NET finns i Kodexempel: Hanteringstjänst. Nedan visas viktiga saker att tänka på när du använder ACS-hanteringstjänsten för att konfigurera regler:
När du redigerar och tar bort regler i en regelgrupp rekommenderar vi att du först frågar ACS efter alla regler i regelgruppen och använder regel-ID:t som frågan returnerar för att utföra redigerings- eller borttagningsåtgärderna. Vi rekommenderar inte att du lagrar de ID:t som returneras av hanteringstjänsten för framtida åtgärder, eftersom dessa ID:er inte garanteras bevaras.
Om du skriver logik för automatiskt återförsök för att skapa regler (till exempel vid timeout) rekommenderar vi att du först frågar efter förekomsten av en identisk regel i den aktuella regelgruppen innan du försöker lägga till den en andra gång.