Share via


Regelgroepen en regels

Bijgewerkt: 19 juni 2015

Van toepassing op: Azure

In Microsoft Azure Active Directory Access Control (ook wel bekend als Access Control Service of ACS), is een regelgroep een benoemde set claimregels die definiëren welke identiteitsclaims worden doorgegeven van id-providers aan uw relying party-toepassing. In ACS worden regelgroepen gekoppeld aan relying party-toepassingen. Een regelgroep kan worden gebruikt door meer dan één relying party-toepassing en een relying party-toepassing kan verwijzen naar meer dan één regelgroep.

Wanneer ACS een tokenaanvraag of een token ontvangt van een id-provider, worden alle regelgroepen uitgevoerd die zijn gekoppeld aan de relying party-toepassing om de claims in het token te verwerken. Alle regelgroepen worden gelijktijdig uitgevoerd, net als alle regels in elke regelgroep (volgorde maakt niet uit). Als de regels ertoe leiden dat nieuwe claims worden uitgegeven nadat de uitvoering is voltooid, worden de regelgroepen die zijn gekoppeld aan de relying party-toepassing opnieuw uitgevoerd. Het uitvoeringsproces voor regel- en regelgroepen stopt wanneer er geen nieuwe claims worden uitgegeven nadat het uitvoeringsproces is voltooid of nadat ACS tien uitvoeringen heeft voltooid (afhankelijk van wat het eerst komt).

U kunt regelgroepen en regels handmatig maken en bewerken met behulp van de ACS-beheerportal of programmatisch met behulp van de ACS Management Service.

Regels configureren met de ACS-beheerportal

Regelgroepen maken

Wanneer u de eigenschappen van een nieuwe relying party-toepassing toevoegt en configureert in de ACS-beheerportal, kunt u ook een regelgroep maken die is gekoppeld aan deze relying party-toepassing. De optie Nieuwe regelgroep maken wordt standaard ingeschakeld op de pagina Relying Party-toepassing toevoegen van de ACS-beheerportal. We raden u ten zeerste aan deze optie geselecteerd te houden en dus een standaardregelgroep te maken voor uw nieuwe relying party-toepassing. (Zie Regelgroepen in Relying Party-toepassingen voor meer informatie.) U kunt ook regelgroepen toevoegen met behulp van de sectie Regelgroepen van de ACS-beheerportal. Wanneer u vervolgens relying party-toepassingen toevoegt met behulp van de pagina Relying Party-toepassing toevoegen , kunt u deze koppelen aan een of meer bestaande regelgroepen.

Regels genereren

Nadat een regelgroep is gemaakt, kunt u de pagina Regelgroep bewerken van de ACS-beheerportal gebruiken om automatisch regels te genereren. Als u besluit om automatisch regels te genereren, wordt u gevraagd de id-providers te selecteren waarvoor u de regels wilt genereren. Wanneer de regelgroep is gekoppeld aan een of meer relying party-toepassingen, worden de id-providers die worden gebruikt door die relying party-toepassingen standaard geselecteerd.

Notitie

Voor WS-Federation id-providers wordt er een regel gemaakt voor elk claimtype dat wordt aangeboden in de metagegevens van de id-provider WS-Federation en deze regel doorloopt het claimtype en de waarde. Voor andere id-providers worden passthrough-regels gegenereerd op basis van een lijst met vooraf vastgestelde claimtypen.

Regels weergeven, toevoegen en bewerken

Op de pagina Regelgroep bewerken van de ACS-beheerportal worden alle regels in een tabel weergegeven, waarbij de kolommen de uitvoerclaim voor de regel bevatten, de claimverlener (kan een id-provider of ACS zijn) en een beschrijving.

Als u in de tabel op een bepaalde regel klikt, wordt u omgeleid naar de pagina Claimregel bewerken , waar de regel kan worden bewerkt. Als u handmatig een nieuwe regel wilt toevoegen, klikt u op Toevoegen.

Claimregels

Claimregels beschrijven de logica van hoe ACS invoerclaims transformeert in uitvoerclaims. Regels bevinden zich in regelgroepen, die zijn gekoppeld aan relying party-toepassingen en worden uitgevoerd wanneer een token wordt uitgegeven door ACS voor een toepassing. Als een regelgroep geen regels bevat, wordt er geen token uitgegeven aan de relying party-toepassing. Normaal gesproken is er één regel vereist voor elk claimtype dat u aan uw relying party-toepassing wilt uitgeven. Het is mogelijk om slechts één regel te maken en te gebruiken om alle claimtypen en -waarden door te geven. Het gebruik van een regel per claimtype verbetert echter de beveiliging en biedt meer controle over de gegevens die worden doorgegeven aan uw toepassing.

In ACS kunt u een regel configureren om een claim die is ontvangen van een id-provider of client door te geven aan de relying party-toepassing zonder het type, verlener of waarde van de claim te wijzigen. Deze regels worden passthroughregels genoemd. Tokens die zijn uitgegeven door Windows Live ID (Microsoft-account) bevatten bijvoorbeeld een claimtype nameidentifier. Als u deze claim ongewijzigd wilt doorgeven aan de relying party-toepassing, moet u een passthrough-regel configureren die het claimtype invoernaamidentifier verwerkt van de claimverlener, Windows Live ID en een identieke uitvoerclaim maakt.

De onderstaande tabel illustreert claims die worden doorgegeven van een fictieve AD FS 2.0-id-provider met de naam Contoso.com.

Invoerclaims Uitvoerclaims

Uitgevende instelling

Type

Waarde

Uitgevende instelling

Type

Waarde

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

Jan de Vries

Access Control Service

https://schemas.xmlsoap.org/ws/2005/05/identity/claims/name

Jan de Vries

De ACS-regelengine biedt u ook de mogelijkheid om invoerclaims te transformeren in volledig verschillende uitvoerclaims, op basis van de claimverlener, het invoerclaimtype en de waarde. Met andere woorden, met de ACS-regelengine kunt u invoertokens omzetten in verschillende uitvoertokens door de claims die de tokens bevatten toe te voegen, te verwijderen of te wijzigen. Deze vorm van claimtransformatie maakt ACS in staat basisautorisatie te implementeren op basis van claiminvoerwaarden. In het onderstaande voorbeeld ziet u een claimtype 'rol' met de waarde 'administrator' die wordt uitgevoerd als de invoerclaim nameidentifier overeenkomt met een specifieke waarde.

Invoerclaims Uitvoerclaims

Uitgevende instelling

Type

Waarde

Uitgevende instelling

Type

Waarde

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

beheerder

De ACS-regelengine biedt ook de mogelijkheid om uitvoerclaims te maken op basis van een combinatie van twee invoerclaims. In het onderstaande voorbeeld is de uitvoerclaim van het type 'action' met de waarde 'write' als zowel de 'nameidentifier' als de 'role'-invoerclaims van Contoso.com overeenkomen met specifieke waarden. Wanneer twee invoerclaims zijn opgegeven in een regel, moeten beide waarden overeenkomen om de uitvoerclaim te genereren.

Invoerclaims Ouutput-claims

Uitgevende instelling

Type

Waarde

Uitgevende instelling

Type

Waarde

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

schrijven

Contoso.com

https://schemas.xmlsoap.org/ws/2005/05/identity/claims/role

beheerder

Zie Procedure voor het implementeren van tokentransformatie met behulp van regels voor meer informatie en stappen over het implementeren van tokentransformatielogica met behulp van regels.

Wanneer u nieuwe claimregels toevoegt of bewerkt met de ACS-beheerportal, moet u de volgende instellingen configureren:

Regelvoorwaarden (indien) – Een invoerclaim toevoegen

Deze sectie bevat de voorwaarden die waar moeten zijn voor de regel om een uitvoerclaim uit te geven. Deze voorwaarden omvatten het volgende:

  • Claimverlener: verwijst naar de entiteit die de invoerclaim heeft uitgegeven. Dit kan een geconfigureerde id-provider (bijvoorbeeld ) of ACS zijn. ACS is de verlener als de invoerclaim afkomstig is van een service-id of de invoerclaim afkomstig is van een andere claimregel. Zie Service-identiteiten voor meer informatie.

  • Invoerclaimtype: verwijst naar het invoerclaimtype dat is ontvangen van de claimverlener. Het volledige claimtype voor de 'nameidentifier' is https://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifierbijvoorbeeld. De opties voor dit veld zijn onder andere:

    • Any: retourneert true als een claimtype wordt ontvangen van de verlener.

    • Type selecteren: retourneert waar als het invoerclaimtype overeenkomt met het type dat is geselecteerd in de vervolgkeuzelijst. Dit menu wordt gevuld met beschikbare claimtypen voor de geselecteerde claimverlener.

    • Voer het type in: retourneert waar als het invoerclaimtype overeenkomt met de exacte waarde die in het veld is ingevoerd.

      Belangrijk

      Dit veld is hoofdlettergevoelig.

  • Invoerclaimwaarde: verwijst naar de waarde van de ontvangen invoerclaim. Het claimtype nameidentifier gebruikt bijvoorbeeld een e-mailadres als waarde en dit veld kan worden gebruikt om te controleren op een specifiek e-mailadres. De opties voor dit veld zijn onder andere:

    • Any: retourneert waar als er een claimwaarde wordt ontvangen van de verlener.

    • Voer de waarde in: retourneert waar als het invoerclaimtype overeenkomt met de exacte waarde die in het veld is ingevoerd. Voor deze optie moet een specifiek invoerclaimtype worden geselecteerd of ingevoerd in het veld Invoerclaimtype .

      Belangrijk

      Dit veld is hoofdlettergevoelig.

Regelvoorwaarden (indien) – Een tweede invoerclaim toevoegen

Als u een tweede claim aan de regel wilt toevoegen, klikt u op Een tweede invoerclaim toevoegen. Hiermee kunt u de aanvullende voorwaarden opgeven die hieronder worden weergegeven. Houd er rekening mee dat in een regel met twee invoerclaims alle voorwaarden waar moeten zijn om een uitvoerclaim te genereren.

  • Claimverlener: verwijst naar de entiteit die de tweede invoerclaim heeft uitgegeven. Dit kan dezelfde id-provider zijn die is geselecteerd voor de eerste claim, of het kan ACS zijn. Selecteer ACS om claims op te geven die zijn gegenereerd op basis van andere claimregels tijdens de verwerking van regels.

    Belangrijk

    Twee verschillende id-providers kunnen niet worden geselecteerd voor de eerste en tweede claims, omdat regels alleen worden verwerkt voor één token dat is uitgegeven door één id-provider tegelijk.

  • Invoerclaimtype: verwijst naar het invoerclaimtype dat is ontvangen van de claimverlener. Het volledige claimtype voor de 'nameidentifier' is https://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifierbijvoorbeeld. De opties voor dit veld zijn onder andere:

    • Type selecteren: retourneert waar als het invoerclaimtype overeenkomt met het type dat is geselecteerd in de vervolgkeuzelijst. Dit menu wordt gevuld met beschikbare claimtypen voor de geselecteerde claimverlener.

    • Voer het type in: retourneert waar als het invoerclaimtype overeenkomt met de exacte waarde die in het veld is ingevoerd.

      Belangrijk

      Dit veld is hoofdlettergevoelig.

  • Invoerclaimwaarde: verwijst naar de waarde van de ontvangen invoerclaim. Het claimtype nameidentifier gebruikt bijvoorbeeld een e-mailadres als waarde en dit veld kan worden gebruikt om te controleren op een specifiek e-mailadres. Dit retourneert waar als het invoerclaimtype overeenkomt met de exacte waarde die in het veld is ingevoerd.

    Belangrijk

    Dit veld is hoofdlettergevoelig.

Regelacties (vervolgens)

In deze sectie wordt de uitvoerclaim opgegeven die is uitgegeven door ACS als de voorwaarden in de sectie If van de regel waar zijn. De uitvoerclaimopties zijn onder andere:

  • Uitvoerclaimtype: het claimtype dat is uitgegeven door ACS. De opties voor dit veld zijn onder andere:

    • Invoerclaimtype passthrough: geeft een uitvoerclaim op die van hetzelfde type is als de invoerclaim.

    • Type selecteren: geeft een uitvoerclaim van het opgegeven type op. De vervolgkeuzelijst bevat een lijst met algemene claimtypen.

    • Voer het type in: geeft een claim van het opgegeven type op. Als de uitvoerclaim aanwezig moet zijn in een SAML-token, moet deze waarde een URI zijn (bijvoorbeeld https://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier).

      Belangrijk

      Dit veld is hoofdlettergevoelig.

  • Uitvoerclaimwaarde: verwijst naar de waarde van de uitvoerclaim die is uitgegeven door ACS. De opties voor dit veld zijn onder andere:

    • Passthrough-invoerclaimwaarde: geeft een uitvoerclaim uit met de waarde die identiek is aan de waarde van de invoerclaim.

    • Voer een waarde in: hiermee geeft u een claim op die de waarde bevat die in dit veld is ingevoerd. Voor deze optie moet een specifiek invoerclaimtype worden geselecteerd of ingevoerd in het veld Type uitvoerclaim .

      Belangrijk

      Dit veld is hoofdlettergevoelig.

Regelinformatie

U kunt deze sectie gebruiken om een beschrijving voor een regel te maken.

Notitie

In ACS worden regelbeschrijvingen niet automatisch gemaakt voor de gegenereerde regels.

Regels configureren met de ACS-beheerservice

Regels in een Access Control naamruimte kunnen programmatisch worden geconfigureerd met behulp van de ACS Management Service. Zie Codevoorbeeld: Beheerservice voor een voorbeeld van het configureren van regels met behulp van ASP.NET. Hieronder vindt u belangrijke items die u moet overwegen bij het gebruik van de ACS Management-service om regels te configureren:

  • Wanneer u regels in een regelgroep bewerkt en verwijdert, wordt u aangeraden eerst ACS op te vragen voor alle regels in die regelgroep en de regel-id's te gebruiken die door uw query worden geretourneerd om de bewerkingen uit te voeren of te verwijderen. Het wordt niet aanbevolen om de id's op te slaan die door de beheerservice worden geretourneerd voor toekomstige bewerkingen, omdat deze id's niet gegarandeerd behouden blijven.

  • Als u automatische logica voor opnieuw proberen schrijft voor het maken van regels (zoals in het geval van een time-out), wordt u aangeraden eerst een query uit te voeren op het bestaan van een identieke regel in de huidige regelgroep voordat u deze een tweede keer probeert toe te voegen.

Zie ook

Concepten

ACS 2.0-onderdelen