Partager via


Règles et groupes de règles

Mise à jour : 19 juin 2015

S’applique à : Azure

Dans Microsoft Azure Active Directory Access Control (également appelé service Access Control ou ACS), un groupe de règles est un ensemble nommé de règles de revendication qui définissent les revendications d’identité passées des fournisseurs d’identité à votre application de partie de confiance. Dans ACS, les groupes de règles sont associés à des applications de partie de confiance. Un groupe de règles peut être utilisé par plusieurs applications par partie de confiance, et une application par partie de confiance peut faire référence à plusieurs groupes de règles.

Lorsque ACS reçoit une demande de jeton ou un jeton d’un fournisseur d’identité, il s’exécute via tous les groupes de règles associés à l’application de partie de confiance pour traiter les revendications dans le jeton. Tous les groupes de règles sont examinés simultanément, comme toutes les règles de chaque groupe (l'ordre n'a pas d'importance). Si les règles entraînent l'émission de nouvelles revendications une fois l'examen terminé, les groupes de règles associés à l'application par partie de confiance sont réexaminés. Le processus d’exécution de règle et de groupe de règles s’arrête lorsqu’aucune nouvelle revendication n’est émise une fois le processus d’exécution terminé ou une fois acS terminé dix exécutions (le cas échéant).

Vous pouvez créer et modifier des groupes de règles et des règles manuellement, à l’aide du portail de gestion ACS ou par programme, à l’aide du service de gestion ACS.

Configuration de règles avec le portail de gestion ACS

Création de groupes de règles

Lorsque vous ajoutez et configurez les propriétés d’une nouvelle application de partie de confiance dans le portail de gestion ACS, vous pouvez également créer un groupe de règles associé à cette application de partie de confiance, car par défaut, l’option Créer un groupe de règles est cochée dans la page Ajouter une application de partie de confiance du portail de gestion ACS. Nous recommandons vivement de garder cette option activée, et donc de créer un groupe de règles par défaut pour votre nouvelle application par partie de confiance. (Pour plus d’informations, consultez « Groupes de règles » dans les applications de partie de confiance.) Vous pouvez également ajouter des groupes de règles à l’aide de la section Groupes de règles du portail de gestion ACS. Ensuite, lorsque vous ajoutez des applications par partie de confiance via la page Ajouter une application par partie de confiance, vous pouvez les associer à un ou plusieurs groupes de règles existants.

Génération de règles

Une fois qu’un groupe de règles est créé, vous pouvez utiliser la page Modifier le groupe de règles du portail de gestion ACS pour générer automatiquement des règles. Si vous décidez de générer automatiquement des règles, vous êtes invité à sélectionner les fournisseurs d'identité pour lesquels vous souhaitez générer les règles. Si le groupe de règles est lié à une ou plusieurs applications par partie de confiance, les fournisseurs d'identité utilisés par ces applications sont sélectionnés par défaut.

Notes

En ce qui concerne les fournisseurs d'identité WS-Federation, une règle est créée pour chaque type de revendication proposé dans les métadonnées WS-Federation du fournisseur d'identité, et cette règle transmet le type et la valeur de la revendication. Pour d'autres fournisseurs d'identité, des règles directes sont générées sur la base d'une liste de types de revendications prédéterminés.

Affichage, ajout et modification de règles

La page Modifier le groupe de règles du portail de gestion ACS affiche toutes les règles d’une table, où les colonnes incluent la revendication de sortie de la règle, l’émetteur de revendication (peut être un fournisseur d’identité ou ACS) et une description.

Si vous cliquez sur une règle donnée dans le tableau, vous êtes redirigé vers la page Modifier la règle de revendication, où vous pouvez modifier la règle. Pour ajouter une règle manuellement, vous pouvez cliquer sur Ajouter.

Règles de revendication

Les règles de revendication décrivent la logique de la façon dont ACS transforme les revendications d’entrée en revendications de sortie. Les règles sont contenues dans les groupes de règles, qui sont associées aux applications de partie de confiance et qui sont exécutées chaque fois qu’un jeton est émis par ACS pour une application. Si un groupe de règles ne contient pas de règle, aucun jeton n'est émis pour l'application par partie de confiance. Généralement, une règle est requise pour chaque type de revendication à émettre pour votre application par partie de confiance. Il est possible de créer et d'utiliser une seule règle à transmettre à tous les types et valeurs de revendication. Toutefois, l'utilisation d'une règle par type de revendication améliore la sécurité, et offre un meilleur contrôle sur les données transmises à votre application.

Dans ACS, vous pouvez configurer une règle pour transmettre une revendication reçue d’un fournisseur d’identité ou d’un client à l’application de partie de confiance sans modifier le type, l’émetteur ou la valeur de la revendication. Ces règles sont appelées règles directes. Par exemple, les jetons émis par Windows Live ID (compte Microsoft) contiennent un type de revendication nameidentifier. Pour transmettre cette revendication inchangée à l’application de partie de confiance, vous devez configurer une règle directe qui traite le type de revendication nameidentifier d’entrée à partir de l’émetteur de revendication, Windows l’ID en direct et crée une revendication de sortie identique.

Le tableau ci-dessous illustre les revendications transmises à partir d'un fournisseur d'identité 2.0 AD FS fictif nommé Contoso.com.

Revendications d'entrée Revendications de sortie

Émetteur

Type

Valeur

Émetteur

Type

Valeur

Contoso.com

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

123456789

Service de contrôle d’accès

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

Service de contrôle d’accès

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

Service de contrôle d’accès

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

John Doe

Le moteur de règles ACS vous offre également la possibilité de transformer les revendications d’entrée en revendications de sortie entièrement différentes, en fonction de l’émetteur de revendication, du type de revendication d’entrée et de la valeur. En d’autres termes, le moteur de règles ACS vous permet de transformer des jetons d’entrée en différents jetons de sortie en ajoutant, en supprimant ou en modifiant les revendications que les jetons contiennent. Cette forme de transformation de revendications rend ACS capable d’implémenter l’autorisation de base en fonction des valeurs d’entrée de revendication. L'exemple ci-dessous présente un type de revendication « role » avec une valeur « administrateur » générée si la revendication d'entrée « nameidentifier » correspond à une valeur spécifique.

Revendications d'entrée Revendications de sortie

Émetteur

Type

Valeur

Émetteur

Type

Valeur

Contoso.com

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

123456789

Service de contrôle d’accès

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

administrator

Le moteur de règles ACS permet également de créer des revendications de sortie en fonction d’une conjonction de deux revendications d’entrée. Dans l'exemple ci-dessous, la revendication de sortie est de type « action », et prend la valeur « écriture » si les revendications d'entrée « nameidentifier » et « role » de Contoso.com correspondent à des valeurs spécifiques. Quand deux revendications d'entrée sont spécifiées dans une règle, les deux valeurs doivent correspondre pour générer la revendication de sortie.

Revendications d'entrée Revendications de sortie

Émetteur

Type

Valeur

Émetteur

Type

Valeur

Contoso.com

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

123456789

Service de contrôle d’accès

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

écrire

Contoso.com

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

administrator

Pour plus d’informations et des étapes sur l’implémentation de la transformation de jeton à l’aide de règles, consultez Guide pratique pour implémenter une logique de transformation de jeton à l’aide de règles.

Lorsque vous ajoutez ou modifiez des règles de revendication existantes avec le portail de gestion ACS, vous devez configurer les paramètres suivants :

Conditions de règle (if) – Ajout d'une revendication d'entrée

Cette section présente les conditions qui doivent être remplies pour que la règle émette une revendication de sortie. Ces conditions sont les suivantes :

  • Émetteur de la revendication : fait référence à l'entité qui a émis la revendication d'entrée. Il peut s’agir d’un fournisseur d’identité configuré (par exemple) ou d’ACS. ACS est l’émetteur si la revendication d’entrée provient d’une identité de service ou que la revendication d’entrée provient d’une autre règle de revendication. Pour plus d’informations, consultez Identités de service.

  • Type de revendication entrée : désigne le type de revendication d'entrée reçu de l'émetteur de la revendication. Par exemple, le type de revendication complète pour le « nameidentifier » est https://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier. Les options pour ce champ sont les suivantes :

    • Tout : renvoie la valeur true si une revendication d'un type quelconque est reçue de l'émetteur.

    • Sélectionner le type : renvoie la valeur true si le type de revendication d'entrée correspond au type sélectionné dans le menu déroulant. Ce menu contient les types de revendications disponibles pour l'émetteur de revendication sélectionné.

    • Entrer le type : renvoie la valeur true si le type de revendication d'entrée correspond à la valeur exacte entrée dans le champ.

      Important

      Ce champ respecte la casse.

  • Valeur de la revendication d'entrée : fait référence à la valeur de la revendication d'entrée reçue. Par exemple, le type de revendication « nameidentifier » utilise une adresse de messagerie en tant que valeur, et ce champ permet de vérifier une adresse de messagerie spécifique. Les options pour ce champ sont les suivantes :

    • Tout : renvoie la valeur true si une revendication d'une valeur quelconque est reçue de l'émetteur.

    • Entrer la valeur : renvoie la valeur true si le type de revendication d'entrée correspond à la valeur exacte entrée dans le champ. Cette option requiert qu'un type de revendication d'entrée spécifique soit sélectionné ou entré dans le champ Type de revendication d'entrée.

      Important

      Ce champ respecte la casse.

Conditions de règle (if) – Ajout d'une deuxième revendication d'entrée

Pour ajouter une deuxième demande à la règle, cliquez sur Ajouter une deuxième revendication d'entrée. Cela vous permet de spécifier les conditions supplémentaires ci-dessous. Notez que, dans une règle comprenant deux revendications d'entrée, toutes les conditions doivent être remplies pour générer une revendication de sortie.

  • Émetteur de la revendication : fait référence à l'entité qui a émis la deuxième revendication d'entrée. Il peut s’agir du même fournisseur d’identité sélectionné pour la première revendication, ou il peut s’agir d’ACS. Sélectionnez ACS pour spécifier les revendications générées à partir d’autres règles de revendication pendant le traitement des règles.

    Important

    Deux fournisseurs d'identité différents ne peuvent pas être sélectionnés pour les première et deuxième revendications, car le traitement des règles ne se produit que pour un jeton émis par un fournisseur d'identité à la fois.

  • Type de revendication entrée : désigne le type de revendication d'entrée reçu de l'émetteur de la revendication. Par exemple, le type de revendication complète pour le « nameidentifier » est https://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier. Les options pour ce champ sont les suivantes :

    • Sélectionner le type : renvoie la valeur true si le type de revendication d'entrée correspond au type sélectionné dans le menu déroulant. Ce menu contient les types de revendications disponibles pour l'émetteur de revendication sélectionné.

    • Entrer le type : renvoie la valeur true si le type de revendication d'entrée correspond à la valeur exacte entrée dans le champ.

      Important

      Ce champ respecte la casse.

  • Valeur de la revendication d'entrée : fait référence à la valeur de la revendication d'entrée reçue. Par exemple, le type de revendication « nameidentifier » utilise une adresse de messagerie en tant que valeur, et ce champ permet de vérifier une adresse de messagerie spécifique. Cela renvoie la valeur true si le type de revendication d'entrée correspond à la valeur exacte entrée dans le champ.

    Important

    Ce champ respecte la casse.

Actions de règle (then)

Cette section spécifie la revendication de sortie émise par ACS si les conditions de la section If de la règle sont vraies. Les options de revendication de sortie sont les suivantes :

  • Type de revendication de sortie : type de revendication émis par ACS. Les options pour ce champ sont les suivantes :

    • Type de revendication d'entrée directe : émet une revendication de sortie qui est du même type que la revendication d'entrée.

    • Sélectionner le type : émet une revendication de sortie du type spécifié. Le menu déroulant contient une liste de types de revendications courants.

    • Entrer le type : émet une revendication du type entré. Si la revendication de sortie doit être présente dans un jeton SAML, cette valeur doit être un URI (par exemple). https://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier

      Important

      Ce champ respecte la casse.

  • Valeur de revendication de sortie : fait référence à la valeur de la revendication de sortie émise par ACS. Les options pour ce champ sont les suivantes :

    • Valeur de revendication d'entrée directe : émet une revendication de sortie dont la valeur est identique à celle de la revendication d'entrée.

    • Entrer la valeur : émet une revendication dont la valeur est celle entrée dans ce champ. Cette option requiert qu'un type de revendication d'entrée spécifique soit sélectionné ou entré dans le champ Type de revendication de sortie.

      Important

      Ce champ respecte la casse.

Informations sur la règle

Cette section permet de créer une description pour une règle.

Notes

Dans ACS, les descriptions des règles ne sont pas créées automatiquement pour les règles générées.

Configuration de règles avec le service de gestion ACS

Les règles d’un espace de noms Access Control peuvent être configurées par programmation à l’aide du service de gestion ACS. Pour obtenir un exemple de configuration de règles à l’aide de ASP.NET, consultez l’exemple de code : Service de gestion. Vous trouverez ci-dessous des éléments importants à prendre en compte lors de l’utilisation du service de gestion ACS pour configurer des règles :

  • Lors de la modification et de la suppression de règles dans un groupe de règles, il est recommandé de commencer par interroger ACS pour toutes les règles au sein de ce groupe de règles et d’utiliser les ID de règle que votre requête retourne pour effectuer les opérations de modification ou de suppression. Il est déconseillé de stocker les ID retournés par le service de gestion pour les futures opérations, car leur persistance n'est pas garantie.

  • Si vous écrivez une logique de nouvelle tentative automatique pour la création de règles (comme dans un événement d'expiration), il est recommandé de déterminer s'il existe une règle identique dans le groupe de règles actuel avant de tenter de l'ajouter une deuxième fois.

Voir aussi

Concepts

Composants ACS 2.0