Quand utiliser un transfert direct ou filtrer la règle de revendication
Vous pouvez utiliser cette règle dans les services de fédération Active Directory (AD FS) lorsque vous avez besoin de prendre un type de revendication entrante spécifique, puis de mettre en œuvre une action qui détermine quelle sortie appliquer en fonction des valeurs incluses dans la revendication entrante. Lorsque vous utilisez cette règle, vous passez ou filtrez les revendications qui correspondent à la logique de règle dans le tableau ci-dessous, en fonction des options que vous configurez dans la règle.
Option de règle | Logique de règle |
---|---|
Passer toutes les valeurs de revendication | Si le type de revendication entrante est égal à un type de revendication entrante donné et que la valeur est égale à toute valeur, transmettez la revendication |
Transmettre uniquement une valeur de revendication spécifique | Si le type de revendication entrante est égal à un type de revendication donné et que la valeur est égale à la valeur de revendication spécifiée, transmettez la revendication |
Transmettre uniquement les valeurs de revendication qui correspondent à une valeur de suffixe de messagerie spécifique | Si le type de revendication entrante est égal à un type de revendication donné et que la valeur est égale à une valeur de suffixe spécifiée, transmettez la revendication |
Transmettre uniquement les valeurs de revendication qui commencent par une valeur spécifique | Si le type de revendication entrante est égal au type de revendication donné et que la valeur commence par la valeur de revendication spécifiée, transmettez la revendication |
Les sections suivantes constituent une introduction aux règles de revendication et fournissent des informations détaillées sur les conditions d’utilisation de cette règle.
À propos des règles de revendication
Une règle de revendication représente une instance de logique métier qui gère une revendication entrante, lui applique une condition (si x, alors y) et génère une revendication sortante en fonction des paramètres de la condition. La liste suivante présente d’importantes astuces sur les règles de revendication dont vous devez prendre connaissance avant de poursuivre la lecture de cette rubrique :
Dans le composant logiciel enfichable Gestion AD FS, les règles de revendication peuvent uniquement être créées à l’aide de modèles de règle de revendication.
Les règles de revendication traitent les revendications entrantes soit directement depuis un fournisseur de revendications (tel qu’Active Directory ou un autre service de fédération), soit à partir du résultat des règles de transformation d’acceptation sur une approbation de fournisseur de revendications.
Les règles de revendication sont traitées par le moteur d’émission des revendications au sein d’un ensemble de règles donné et dans l’ordre chronologique. En définissant la hiérarchie des règles, vous pouvez affiner ou filtrer des revendications générées par des règles précédentes dans un ensemble de règles donné.
Les modèles de règles de revendication vous obligent toujours à spécifier un type de revendication entrante. Toutefois, vous pouvez traiter plusieurs valeurs de revendication avec le même type de revendication en vous appuyant sur une règle unique.
Pour plus d’informations sur les règles de revendication et les ensembles de règles de revendication, consultez Rôle des règles de revendication. Pour plus d’informations sur le traitement des règles, consultez Rôle du moteur de revendications. Pour plus d’informations sur le traitement des ensembles de règles de revendication, consultez Rôle du pipeline de revendications.
Passer toutes les valeurs de revendication
Lorsque vous utilisez cette action, toutes les valeurs de revendication entrante pour le type de revendication spécifiée sont transmises en tant que revendications sortantes. Par exemple, lorsque le type de revendication entrante est spécifié comme le type de revendication de rôle, toutes les valeurs de revendication entrante sont copiées individuellement dans les nouvelles revendications sortantes avec le type de revendication sortante du rôle.
Filtrage d’une revendication
Dans AD FS, le terme filtrage de revendications signifie filtrer ou limiter les valeurs de revendication entrante afin que seules certaines valeurs soient transmises ou envoyées en tant que revendications sortantes. Il s’agit du modèle de règle de transmission ou de filtrage d’une revendication entrante qui active cette fonction. Dans les propriétés de cette règle, vous pouvez définir des conditions de filtrage des valeurs entrantes de sorte que seules les valeurs répondant à vos critères soient transmises.
Par exemple, vous pouvez utiliser cette règle pour transmettre uniquement des revendications qui correspondent à la valeur de revendication de l’acheteur lorsque le type de revendication entrante correspond au type de revendication du rôle, ou vous pouvez émettre uniquement des revendications sur le nom de l’utilisateur, mais pas de revendications contenant le numéro de sécurité sociale de l’utilisateur.
Lorsque vous utilisez une condition de filtre avec cette règle, toutes les revendications entrantes sont examinées de manière à identifier les revendications qui correspondent aux critères définis par la règle. Toutes les autres revendications sont ignorées afin que seules les valeurs de revendication spécifiées qui correspondent à un type de revendication sélectionné soient transmises.
Par exemple, comme le montre l’illustration suivante, quand une règle est définie avec la condition de filtrer uniquement les revendications entrantes qui correspondent au type de revendication UPN et qui se terminent par @fabrikam.com, toutes les autres revendications entrantes sont ignorées, sauf si elles répondent à ces critères. Est incluse la revendication entrante dont le type est Adresse e-mail, même si sa valeur de revendication se termine par @fabrikam.com. Dans ce cas, seule la revendication contenant la valeur Nick@fabrikam.com est envoyée à la partie de confiance.
Configuration de cette règle sur une approbation de fournisseur de revendications
Lorsque vous utilisez une approbation de fournisseur de revendications, cette règle peut être configurée pour transmettre uniquement les revendications entrantes à partir du fournisseur de revendications qui correspondent à certaines contraintes. Par exemple, vous pouvez accepter uniquement les revendications d’e-mail du fournisseur de revendications. Ainsi, vous utilisez ce modèle de règle pour accepter des types de revendications d’e-mail qui se terminent par le nom DNS (Domain Name System) du fournisseur de revendications.
Configuration de cette règle sur une approbation de partie de confiance
Lorsque vous utilisez une approbation de partie de confiance, cette règle peut être configurée pour transmettre ou filtrer les revendications sortantes qui seront envoyées à la partie de confiance. Certaines parties de confiance risquent de ne pas comprendre des types de revendication donnés, ou certaines revendications peuvent contenir des informations sensibles qui ne doivent pas être envoyées à certaines parties de confiance. Ce modèle de règle peut aider à appliquer ces stratégies pour une approbation de partie de confiance particulière.
Comment créer cette règle
Vous créez cette règle en utilisant soit le langage de règle de revendication, soit le modèle de règle Transfert direct ou Filtrer une revendication entrante dans le composant logiciel enfichable Gestion AD FS. Ce modèle de règle fournit les options de configuration suivantes :
Spécifier un nom de règle de revendication
Spécifier un type de revendication entrante
Passer toutes les valeurs de revendication
Transmettre uniquement une valeur de revendication spécifique
Transmettre uniquement les valeurs de revendication qui correspondent à une valeur de suffixe de messagerie spécifique
Transmettre uniquement les valeurs de revendication qui commencent par une valeur spécifique
Pour obtenir des instructions sur la création de ce modèle, consultez Créer une règle pour passer ou filtrer une revendication entrante dans le guide de déploiement AD FS.
Utilisation du langage des règles de revendication
Si une revendication doit être envoyée uniquement lorsque la valeur de revendication correspond à un modèle personnalisé, vous devez utiliser une règle personnalisée. Pour plus d’informations, consultez la section Quand utiliser une règle personnalisée.
Exemples de syntaxe d’une règle de transmission ou de filtrage
Une règle de filtrage simple permet de filtrer les revendications selon l’une des propriétés présentées ci-dessus. Par exemple, la règle suivante permet de transmettre toutes les revendications de courrier électronique :
c:[type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress"] => issue(claim = c);
Plusieurs filtres peuvent être logiquement associés. Par exemple, la règle suivante accepte toutes les revendications d’e-mail contenant la valeur johndoe@fabrikam.com :
c:[type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress", value == "johndoe@fabrikam.com "] => issue(claim = c);
Dans les exemples ci-dessus, les filtres utilisent toujours un opérateur d’égalité. Le langage des règles de revendication prend en charge les opérateurs suivants :
== - égal (sensible à la casse)
!= - différent (sensible à la casse)
= ~- correspondance avec une expression régulière
!~ - non-correspondance avec une expression régulière
Par exemple, la règle suivante accepte toutes les réclamations de courrier électronique non émises par le serveur de fédération local qui ont le suffixe boeing.com :
c:[type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress", value =~ "^.*@boeing\.com$" , issuer != "LOCAL AUTHORITY"] => issue(claim = c);
Meilleures pratiques pour la création de règles personnalisées
Un filtre peut être appliqué à une ou plusieurs des propriétés de chaque revendication, comme décrit dans le tableau suivant.
Propriété de revendication | Description |
---|---|
Type | Le type de revendication (généralement représenté par un URI) reflète un accord implicite entre partenaires dans une fédération sur le type d’informations transmises dans la revendication. Par exemple, les revendications de type http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress contiennent l’adresse e-mail de l’utilisateur. |
Valeur | Valeur de la revendication. Par exemple, une revendication de type http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress peut avoir une valeur johndoe@fabrikam.com. |
ValueType | Le type de valeur représente la façon dont les informations contenues dans la valeur de la revendication doivent être interprétées. En général, le type de valeur est défini sur http://www.w3.org/2001/XMLSchema#string, mais la valeur de la revendication peut contenir des données encodées au format binaire en base 64 (par exemple, une image) ou une date, une valeur booléenne, etc. |
Émetteur | L’émetteur représente la partie qui a émis pour la dernière fois des revendications relatives à l’utilisateur. Si les revendications sont obtenues sur un serveur de fédération du fournisseur de revendications, l’émetteur de toutes les revendications va être défini sur « AUTORITÉ LOCALE ». Si les revendications ont été reçues par un serveur de fédération du fournisseur de fédération, l’émetteur des revendications va être configuré comme l’identifiant du fournisseur de revendications qui a signé le jeton. Par conséquent, lors du traitement des règles sur les revendications en provenance du fournisseur de revendications, l’émetteur de toutes les revendications va être associé à la même valeur. Lorsque vous créez des règles pour une partie de confiance, la propriété de l’émetteur peut être utilisée pour distinguer les revendications issues des différents fournisseurs de revendications. |
OriginalIssuer | Cette propriété de revendication est destinée à transmettre le serveur de fédération qui a émis initialement la revendication. Étant donné que la propriété de l’émetteur de revendications est configurée sur le dernier serveur de fédération qui a signé le jeton, l’émetteur d’origine est utile dans les scénarios où une revendication a transité par plusieurs serveurs de fédération (par exemple, une partie de confiance qui reçoit un jeton provenant d’un serveur de fédération du fournisseur de fédération peut vouloir savoir quel serveur de fédération du fournisseur de revendications a authentifié l’utilisateur). |
Propriétés | Outre les cinq propriétés présentées ci-dessus, chaque revendication possède également un jeu de propriétés dans lequel peuvent être stockées les propriétés nommées. Ces propriétés ne sont pas sérialisées dans le jeton et ne sont pertinentes pour le transfert d’informations entre les composants du pipeline d’émission de revendications qu’au niveau d’un serveur de fédération unique. Par exemple, la configuration d’une propriété dans le cadre du traitement des règles du fournisseur de revendications, puis la référence à cette propriété dans les règles de la partie de confiance. |