Cette documentation est archivée et n’est pas conservée.

Règles et groupes de règles

Publication: avril 2011

Mis à jour: juin 2015

S'applique à: Azure

Dans Microsoft Azure Active Directory Access Control (également appelé Access Control Service ou ACS), un groupe de règles est un jeu nommé de règles de revendication qui définissent les revendications d'identité qui sont transmises par des fournisseurs d'identité à votre application par partie de confiance. Dans ACS, des groupes de règles sont associés à des applications par 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.

Quand ACS reçoit une demande de jeton ou un jeton d'un fournisseur d'identité, il examine rapidement tous les groupes de règles associés à l'application par partie de confiance pour traiter les revendications du 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'examen des règles et groupes de règles s'arrête quand aucune nouvelle revendication n'est émise à l'issue de l'examen ou quand ACS a accompli dix cycles d'examen (selon la situation qui se présente en premier).

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

Lorsque vous ajoutez et configurez les propriétés d'une nouvelle application par partie de confiance dans le portail de gestion ACS, vous pouvez également créer un groupe de règles associé à cette application car, par défaut, l'option Créer un groupe de règles est activée dans la page Ajouter une application par 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 la section « Groupes de règles » dans Applications par partie de confiance. Vous pouvez également ajouter des groupes de règles via 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.

Une fois un groupe de règles créé, la page Modifier le groupe de règles du portail de gestion ACS vous permet de 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.

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

La page Modifier le groupe de règles du portail de gestion ACS affiche toutes les règles dans un tableau, où les colonnes indiquent la Revendication de sortie pour la règle, l'Émetteur de revendication (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.

Les règles de revendication décrivent la logique utilisée par ACS pour transformer les revendications d'entrée en revendications de sortie. Les règles sont contenues dans des groupes de règles associés à des applications par partie de confiance, et examinés chaque fois qu'ACS émet un jeton 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 via l'application par 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 par partie de confiance, vous devez configurer une règle directe qui traite le type de revendication d'entrée nameidentifier reçu de l'émetteur de la revendication, Windows Live ID, 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

Issuer,

Type

Valeur

Issuer,

Type

Valeur

Contoso.com

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

123456789

Service de contrôle d'accès

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

123456789

Contoso.com

http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress

john@contoso.com

Service de contrôle d'accès

http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress

john@contoso.com

Contoso.com

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

John Doe

Service de contrôle d'accès

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

John Doe

Le moteur de règles ACS permet également de transformer les revendications d'entrée en revendications de sortie totalement différentes, sur la base de l'émetteur de la 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 jetons de sortie différent, en ajoutant, en supprimant ou en modifiant les revendications que les jetons contiennent. Cette forme de transformation de revendication permet à ACS d'implémenter l'autorisation de base en fonction des valeurs d'entrée de la 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

Issuer,

Type

Valeur

Issuer,

Type

Valeur

Contoso.com

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

123456789

Service de contrôle d'accès

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

administrateur

Le moteur de règles ACS offre également la possibilité de créer des revendications de sortie basées sur une combinaison des 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

Issuer,

Type

Valeur

Issuer,

Type

Valeur

Contoso.com

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

123456789

Service de contrôle d'accès

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

écriture

Contoso.com

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

administrateur

Pour plus d'informations et découvrir comment implémenter une transformation de jetons à l'aide de règles, consultez Implémentation de la logique de transformation de jetons à l'aide de règles.

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

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 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 complet pour « nameidentifier » est http://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.

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

      ImportantImportant
      Ce champ respecte la casse.

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 fournisseur d'identité sélectionné pour la première revendication, ou 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.

    ImportantImportant
    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 complet pour « nameidentifier » est http://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.

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

    ImportantImportant
    Ce champ respecte la casse.

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

  • Type de revendication de sortie : type de la revendication émise 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 déclaration de sortie doit être présente dans un jeton SAML, cette valeur doit être un URI (par exemple, http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier).

      ImportantImportant
      Ce champ respecte la casse.

  • Valeur de la 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.

      ImportantImportant
      Ce champ respecte la casse.

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

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

Les règles figurant dans un espace de noms Access Control peuvent être configurées par programmation via le Service de gestion ACS. Pour un exemple de configuration de règles à l'aide d'ASP.NET, consultez Exemple de code : Service de gestion. Voici des éléments importants à prendre en considération 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 d'un groupe de règles, il est recommandé de commencer par interroger ACS pour toutes les règles du groupe, et d'utiliser les ID de règle que votre requête renvoie pour effectuer les opérations de modification ou de suppression. Il est déconseillé de stocker les ID renvoyé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

Afficher: