Personnaliser les revendications de jeton SAML

La plateforme d’identités Microsoft prend en charge l’authentification unique (SSO) avec la plupart des applications pré-intégrées dans la galerie d’applications et les applications personnalisées. Quand un utilisateur s’authentifie auprès d’une application par l’intermédiaire de la plateforme d’identités Microsoft en utilisant le protocole SAML 2.0, un jeton est envoyé à l’application. L’application valide et utilise le jeton pour inscrire l’utilisateur au lieu de demander un nom d’utilisateur et un mot de passe.

Ces jetons SAML contiennent des informations sur l’utilisateur appelées revendications. Une revendication concerne ce qu’un fournisseur d’identité déclare sur un utilisateur dans le jeton qu’il émet sur cet utilisateur. Dans un jeton SAML, ces données de revendication sont généralement contenues dans l’instruction d’attribut SAML. L’ID unique de l’utilisateur est généralement représenté dans l’objet SAML, également appelé identificateur de nom (nameID).

Par défaut, la plateforme d’identités Microsoft émet un jeton SAML à destination d’une application qui contient une revendication, dont la valeur est le nom d’utilisateur de l’utilisateur (ou nom d’utilisateur principal) qui peut identifier l’utilisateur de façon unique. Le jeton SAML contient également d’autres revendications contenant l’adresse e-mail de l’utilisateur, son prénom et son nom.

Afficher ou modifier des revendications

Pour afficher ou modifier les revendications émises dans le jeton SAML à l’application :

  1. Connectez-vous au Centre d’administration de Microsoft Entra au minimum en tant qu’Administrateur d’application cloud.
  2. Accédez à Identité>Applications>Applications d’entreprise>Toutes les applications.
  3. Sélectionnez successivement l’application, Authentification unique dans le menu de gauche, puis Modifier dans la section Attributs et revendications.

Vous pourrez avoir à modifier les revendications émises dans le jeton SAML pour les raisons suivantes :

  • La revendication NameIdentifier ou nameID doit être différente du nom d’utilisateur (ou du nom d’utilisateur principal) pour l’application.
  • L’application a été écrite pour exiger un ensemble différent d’URI de revendication ou de valeurs de revendication.

Modifier nameID

Pour modifier le nom de la revendication de la valeur d’identificateur du nom :

  1. Ouvrez la page Valeur de nom d’identificateur.
  2. Sélectionnez l’attribut ou la transformation à appliquer à l’attribut. Si vous le souhaitez, vous pouvez spécifier le format de la revendication nameID.

Format NameID

Si la requête SAML contient l’élément NameIDPolicy dans un format spécifique, la plateforme d’identités Microsoft respecte le format de la requête.

Si la requête SAML ne contient aucun élément pour NameIDPolicy, alors la plateforme d’identités Microsoft émet la revendication nameID au format que vous spécifiez. Si aucun format n’est spécifié, la plateforme d’identités Microsoft utilise le format source par défaut associé à la source de la revendication sélectionnée. Si une transformation génère une valeur null ou non conforme, Microsoft Entra ID envoie un identificateur de paire persistant dans le nameID.

Dans le menu déroulant Choisir le format du nom de l’identificateur, sélectionnez l’une des options dans le tableau suivant.

Format nameID Description
Par défaut Plateforme d’identités Microsoft utilise le format source par défaut.
Persistent La plateforme Microsoft Identity utilise Persistent comme format nameID.
Adresse e-mail La plateforme Microsoft Identity utilise EmailAddress comme format nameID.
Unspecified La plateforme Microsoft Identity utilise Unspecified comme format nameID.
Nom de domaine complet Windows La plateforme Microsoft Identity utilise le format WindowsDomainQualifiedName.

Un élément nameID temporaire est également pris en charge, mais il n’est pas disponible dans la liste déroulante et ne peut pas être configuré côté Azure. Pour en savoir plus sur l’attribut NameIDPolicy, consultez Protocole SAML d’authentification unique.

Attributs

Conseil

Les étapes décrites dans cet article peuvent varier légèrement en fonction du portail de départ.

Sélectionnez la source souhaitée pour la revendication NameIdentifier (ou nameID). Vous pouvez sélectionner l’une des options du tableau suivant.

Nom Description
Email Adresse e-mail de l’utilisateur.
userprincipalName Nom d’utilisateur principal (UPN) de l’utilisateur.
onpremisessamaccountname Le nom de compte SAM qui a été synchronisé à partir de Microsoft Entra ID localement.
objectid L’ID d’objet de l’utilisateur dans Microsoft Entra ID.
employeeid L’ID d’employé de l’utilisateur.
Directory extensions Les extensions d’annuaire synchronisées à partir d’Active Directory local en utilisant la synchronisation Microsoft Entra Connect.
Extension Attributes 1-15 Les attributs d’extension locale utilisés pour étendre le schéma Microsoft Entra.
pairwiseid La forme persistante de l’identificateur d’utilisateur.

Pour plus d’informations sur les valeurs d’identificateur, consultez le tableau qui répertorie les valeurs d’ID valides par source plus loin dans cette page.

Toute valeur constante (statique) peut être affectée à n’importe quelle revendication. Suivez les étapes suivantes pour attribuer une valeur constante :

  1. Dans le panneau Attributs et revendications, sélectionnez la revendication à modifier.
  2. Entrez la valeur constante sans guillemets dans Attribut source conformément à votre organisation, puis sélectionnez Enregistrer. La valeur constante s’affiche.

Extensions de schéma d’annuaire (préversion)

Vous pouvez également configurer les attributs d’extension de schéma de répertoire en tant qu’attributs non conditionnels/conditionnels. Suivez les étapes suivantes pour configurer l’attribut d’extension de schéma d’annuaire unique ou à plusieurs valeurs en tant que revendication :

  1. Dans le panneau Attributs et revendications, sélectionnez Ajouter une revendication ou modifiez une revendication existante.
  2. Sélectionnez l’application source dans le sélecteur d’application où la propriété d’extension est définie.
  3. Sélectionnez Ajouter pour ajouter la sélection aux revendications.
  4. Cliquez sur Enregistrer pour valider les modifications.

Transformations de revendications spéciales

Vous pouvez utiliser les fonctions spéciales de transformation de revendication suivantes.

Fonction Description
ExtractMailPrefix() Supprime le suffixe de domaine de l’adresse e-mail ou du nom d’utilisateur principal. La fonction extrait seulement la première partie du nom d’utilisateur transmis (par exemple, « joe_smith » au lieu de joe_smith@contoso.com).
ToLower() Convertit les caractères de l’attribut sélectionné en minuscules.
ToUpper() Convertit les caractères de l’attribut sélectionné en majuscules.

Ajouter des revendications spécifiques à l’application

Pour ajouter des revendications spécifiques à l’application :

  1. Dans le panneau Attributs et revendications, sélectionnez Ajouter une revendication pour ouvrir la page Gérer les revendications des utilisateurs.
  2. Entrez le nom des revendications. La valeur n’a pas besoin de suivre strictement un modèle URI, selon la spécification SAML. Si vous avez besoin d’un modèle d’URI, vous pouvez l’indiquer dans le champ Namespace.
  3. Sélectionnez la Source où la revendication va récupérer sa valeur. Vous pouvez sélectionner un attribut utilisateur dans le menu déroulant d’attribut de la source ou appliquer une transformation à l’attribut utilisateur avant de l’émettre en tant que réclamation.

Transformations de revendication

Pour appliquer une transformation à un attribut utilisateur :

  1. Dans Gérer les revendications, sélectionnez Transformation comme source de revendication pour ouvrir la page Gérer la transformation.
  2. Sélectionnez la fonction dans la liste déroulante de transformation. Selon la fonction sélectionnée, fournissez des paramètres et une valeur constante à évaluer dans la transformation.
  3. Sélectionnez la source de l’attribut en cliquant sur la case d’option appropriée. La source d’extension de schéma d’annuaire est actuellement en préversion.
  4. Sélectionnez le nom de l'attribut dans la liste déroulante.
  5. Traiter la source comme valeur multiple est une case à cocher indiquant si la transformation doit être appliquée à toutes les valeurs ou uniquement à la première. Par défaut, les transformations ne s’appliquent qu’au premier élément d’une revendication multiple. En cochant cette case, vous garantissez qu’elle est appliquée à toutes. Cette case à cocher est activée uniquement pour les attributs multiples, par exemple user.proxyaddresses.
  6. Pour appliquer plusieurs transformations, sélectionnez Ajouter une transformation. Vous pouvez appliquer un maximum de deux transformations à une revendication. Par exemple, vous pouvez d’abord extraire le préfixe e-mail de user.mail. Ensuite, mettez la chaîne en majuscules.

Vous pouvez utiliser les fonctions suivantes pour transformer des revendications.

Fonction Description
ExtractMailPrefix() Supprime le suffixe de domaine de l’adresse e-mail ou du nom d’utilisateur principal. Cette fonction extrait seulement la première partie du nom d’utilisateur transmise. Par exemple, joe_smith plutôt que joe_smith@contoso.com.
Join() Crée une nouvelle valeur en joignant deux attributs. Si vous le souhaitez, vous pouvez utiliser un séparateur entre les deux attributs. Pour la nameIDtransformation de revendication, la fonction Join() a un comportement spécifique lorsque l’entrée de transformation a une partie de domaine. Elle supprime la partie de domaine de l’entrée avant de la joindre au séparateur et au paramètre sélectionné. Par exemple, si l’entrée de la transformation est joe_smith@contoso.com et que le séparateur est @ et que le paramètre est fabrikam.com, cela se traduit en joe_smith@fabrikam.com.
ToLowercase() Convertit les caractères de l’attribut sélectionné en minuscules.
ToUppercase() Convertit les caractères de l’attribut sélectionné en majuscules.
Contains() Génère un attribut ou une constante si l’entrée correspond à la valeur spécifiée. Sinon, vous pouvez spécifier une autre sortie s’il n’existe aucune correspondance. Par exemple, vous pouvez émettre une revendication où la valeur est l’adresse e-mail utilisateur si elle contient le domaine @contoso.com. Dans ce cas, nous vous conseillons de générer le nom d’utilisateur principal. Pour effectuer cette fonction, configurez les valeurs suivantes : Parameter 1(input): user.email, Value: "@contoso.com", Parameter 2 (output): user.email et Parameter 3 (output if there's no match): user.userprincipalname.
EndWith() Génère un attribut ou une constante si l’entrée se termine par la valeur spécifiée. Sinon, vous pouvez spécifier une autre sortie s’il n’existe aucune correspondance.
Par exemple, vous pouvez émettre une revendication dont la valeur est l’ID d’employé de l’utilisateur, si l’ID d’employé se termine par 000. Dans ce cas, nous vous recommandons d’obtenir un attribut d’extension en sortie. Pour effectuer cette fonction, configurez les valeurs suivantes : Parameter 1(input): user.employeeid, Value: "000", Parameter 2 (output): user.employeeid et Parameter 3 (output if there's no match): user.extensionattribute1.
StartWith() Génère un attribut ou une constante si l’entrée commence par la valeur spécifiée. Sinon, vous pouvez spécifier une autre sortie s’il n’existe aucune correspondance. Par exemple, vous pouvez émettre une revendication dont la valeur est l’ID d’employé de l’utilisateur, si la valeur de Pays/région commence par US. Dans ce cas, nous vous recommandons d’obtenir un attribut d’extension en sortie. Pour effectuer cette fonction, configurez les valeurs suivantes : Parameter 1(input): user.country, Value: "US", Parameter 2 (output): user.employeeid et Parameter 3 (output if there's no match): user.extensionattribute1
Extract() - After matching Retourne la sous-chaîne après qu’elle ait atteint la valeur spécifiée. Par exemple, si la valeur de l’entrée est Finance_BSimon, la valeur correspondante est Finance_ et la sortie de la revendication est BSimon.
Extract() - Before matching Retourne la sous-chaîne jusqu’à ce qu’elle corresponde à la valeur spécifiée. Par exemple, si la valeur de l’entrée est BSimon_US, la valeur correspondante est _US et la sortie de la revendication est BSimon.
Extract() - Between matching Retourne la sous-chaîne jusqu’à ce qu’elle corresponde à la valeur spécifiée. Par exemple, si la valeur de l’entrée est Finance_BSimon_US, la première valeur correspondante est Finance_, la seconde _US et la sortie de la revendication est BSimon.
ExtractAlpha() - Prefix Retourne la partie alphabétique du préfixe de la chaîne. Par exemple, si la valeur de l’entrée est BSimon_123, elle retourne BSimon.
ExtractAlpha() - Suffix Retourne la partie alphabétique du suffixe de la chaîne. Par exemple, si la valeur de l’entrée est 123_Simon, elle retourne Simon.
ExtractNumeric() - Prefix Retourne la partie numérique du préfixe de la chaîne. Par exemple, si la valeur de l’entrée est 123_BSimon, elle retourne 123.
ExtractNumeric() - Suffix Retourne la partie numérique du suffixe de la chaîne. Par exemple, si la valeur de l’entrée est BSimon_123, elle retourne 123.
IfEmpty() Génère un attribut ou une constante en sortie si l’entrée est Null ou vide. Par exemple, si vous souhaitez générer un attribut stocké dans un attribut d’extension si l’ID d’employé pour un utilisateur est vide. Pour effectuer cette fonction, configurez les valeurs suivantes : Parameter 1(input): user.employeeid, Parameter 2 (output): user.extensionattribute1 et Parameter 3 (output if there's no match): user.employeeid.
IfNotEmpty() Génère un attribut ou une constante en sortie si l’entrée n’est pas Null ou vide. Par exemple, si vous souhaitez générer un attribut stocké dans un attribut d’extension si l’ID d’employé pour un utilisateur n’est pas vide. Pour effectuer cette fonction, configurez les valeurs suivantes : Parameter 1(input): user.employeeid et Parameter 2 (output): user.extensionattribute1.
Substring() – Longueur fixe (préversion) Extrait des parties d’un type de revendication de chaîne, en commençant au caractère à la position spécifiée et retourne le nombre spécifié de caractères. Le sourceClaim est la source de la revendication sur laquelle la transformation doit être exécutée. Le StartIndex est la position du caractère de départ de base zéro d’une sous-chaîne de cette instance. Le Length est la longueur des caractères de la sous-chaîne. Par exemple, sourceClaim - PleaseExtractThisNow, StartIndex - 6 et Length - 11 produit une sortie de ExtractThis.
Substring() – EndOfString (préversion) Extrait des parties d’un type de revendication de chaîne, en commençant au caractère à la position spécifiée et retourne le reste de la revendication de l’index de début spécifié. Le sourceClaim est la source de la revendication sur laquelle la transformation doit être exécutée. Le StartIndex est la position du caractère de départ de base zéro d’une sous-chaîne de cette instance. Par exemple, sourceClaim - PleaseExtractThisNow et StartIndex - 6 produit une sortie de ExtractThisNow.
RegexReplace() (préversion) Pour plus d’informations sur la transformation des revendications basées sur les regex, consultez la section suivante.

Transformation des revendications basées sur regex

L’image suivante montre un exemple du premier niveau de transformation :

Screenshot of the first level of transformation.

Les actions répertoriées dans le tableau suivant fournissent des informations sur le premier niveau de transformations et correspondent aux étiquettes de l’image précédente. Sélectionnez Modifier pour ouvrir le panneau de transformation des revendications.

Action Champ Description
1 Transformation Sélectionnez l’option RegexReplace() dans les options Transformation pour utiliser la méthode de transformation de revendications basée sur regex pour la transformation des revendications.
2 Parameter 1 Entrée pour la transformation d’expression régulière. Par exemple, user.mail qui a une adresse e-mail utilisateur telle que admin@fabrikam.com.
3 Treat source as multivalued Certains attributs utilisateur d’entrée peuvent être des attributs utilisateur à valeurs multiples. Si l’attribut utilisateur sélectionné prend en charge plusieurs valeurs et que l’utilisateur souhaite utiliser plusieurs valeurs pour la transformation, il devra sélectionner Traiter la source comme étant à valeurs multiples. Si cette option est sélectionnée, toutes les valeurs sont utilisées pour la correspondance regex. Sinon, seule la première valeur est utilisée.
4 Regex pattern Expression régulière évaluée par rapport à la valeur de l’attribut utilisateur sélectionné comme Paramètre 1. Par exemple, une expression régulière pour extraire l’alias utilisateur de l’adresse e-mail utilisateur pourrait être représentée comme suit : (?'domain'^.*?)(?i)(\@fabrikam\.com)$.
5 Add additional parameter Plusieurs attributs utilisateur peuvent être utilisés pour la transformation. Les valeurs des attributs seraient ensuite fusionnées avec la sortie de transformation regex. Jusqu’à cinq autres paramètres sont pris en charge.
6 Replacement pattern Le modèle de remplacement est le modèle de texte, qui contient des espaces réservés pour le résultat regex. Tous les noms de groupes doivent être placés entre accolades, par exemple {group-name}. Supposez que l’administration souhaite utiliser un alias d’utilisateur avec un autre nom de domaine, par exemple xyz.com, et fusionner le nom de pays avec celui-ci. Dans ce cas, le modèle de remplacement serait {country}.{domain}@xyz.com, où {country} sera la valeur du paramètre d’entrée et {domain} sera la sortie de groupe de l’évaluation de l’expression régulière. Dans ce cas, le résultat attendu est US.swmal@xyz.com.

L’image suivante montre un exemple du second niveau de transformation :

Screenshot of second level of claims transformation.

Le tableau suivant fournit des informations sur le second niveau de transformations. Les actions répertoriées dans le tableau correspondent aux étiquettes de l’image précédente.

Action Champ Description
1 Transformation Les transformations de revendications basées sur des expressions régulières ne sont pas limitées à la première transformation, et peuvent également être utilisées comme transformation de deuxième niveau. Toute autre méthode de transformation peut être utilisée comme première transformation.
2 Parameter 1 Si RegexReplace() est sélectionnée comme transformation de deuxième niveau, la sortie de la transformation de premier niveau est utilisée comme entrée pour la transformation de deuxième niveau. Pour appliquer la transformation, l’expression régulière de deuxième niveau doit correspondre à la sortie de la première transformation.
3 Regex pattern Le modèle Regex est l’expression régulière de la transformation de deuxième niveau.
4 Parameter input Entrées d’attribut utilisateur pour les transformations de deuxième niveau.
5 Parameter input Les administrateurs peuvent supprimer le paramètre d’entrée sélectionné s’ils n’en ont plus besoin.
6 Replacement pattern Le modèle de remplacement est le modèle de texte qui contient des espaces réservés pour le nom du groupe de résultats, le nom du groupe de paramètres d’entrée et la valeur de texte statique de regex. Tous les noms de groupes doivent être placés entre accolades, par exemple {group-name}. Supposez que l’administration souhaite utiliser un alias d’utilisateur avec un autre nom de domaine, par exemple xyz.com, et fusionner le nom de pays avec celui-ci. Dans ce cas, le modèle de remplacement serait {country}.{domain}@xyz.com, où {country} sera la valeur du paramètre d’entrée et {domain} sera la sortie de groupe de l’évaluation de l’expression régulière. Dans ce cas, le résultat attendu est US.swmal@xyz.com.
7 Test transformation La transformation RegexReplace() est évaluée uniquement si la valeur de l’attribut utilisateur sélectionné pour Paramètre 1 correspond à l’expression régulière fournie dans la zone de texte Modèle regex. S’ils ne correspondent pas, la valeur de revendication par défaut est ajoutée au jeton. Pour valider l’expression régulière par rapport à la valeur du paramètre d’entrée, une expérience de test est disponible dans le panneau de transformation. Cette expérience de test fonctionne uniquement sur des valeurs factices. Lorsque d’autres paramètres d’entrée sont utilisés, le nom du paramètre est ajouté au résultat de test au lieu de la valeur réelle. Pour accéder à la section test, sélectionnez Tester la transformation.

L’image suivante montre un exemple de test des transformations :

Screenshot of testing the transformation.

Le tableau suivant fournit des informations sur le test des transformations. Les actions répertoriées dans le tableau correspondent aux étiquettes de l’image précédente.

Action Champ Description
1 Test transformation Sélectionnez le bouton de fermeture (X) pour masquer la section de test et faire réapparaître le bouton Tester la transformation sur le panneau.
2 Test regex input Accepte l’entrée utilisée pour l’évaluation du test d’expression régulière. Dans le cas où la transformation de revendications basées sur une expression régulière est configurée en tant que transformation de deuxième niveau, fournissez une valeur qui est la sortie attendue de la première transformation.
3 Run test Une fois que l’entrée regex de test est fournie et que le modèle Regex, le modèle de remplacement et les paramètres d’entrée sont configurés, l’expression peut être évaluée en sélectionnant Exécuter le test.
4 Test transformation result Si l’évaluation réussit, la sortie de la transformation de test s’affiche en face de l’étiquette Résultat de la transformation de test.
5 Remove transformation La transformation de deuxième niveau peut être supprimée en sélectionnant Supprimer la transformation.
6 Specify output if no match Lorsqu’une valeur d’entrée regex est configurée par rapport au Paramètre 1 qui ne correspond pas à l’expression régulière, la transformation est ignorée. Dans ce cas, l’attribut utilisateur de remplacement peut être configuré, qui sera ajouté au jeton de la revendication en cochant la case Spécifiez la sortie s’il n’y a aucune correspondance.
7 Parameter 3 Si un attribut utilisateur de remplacement doit être retourné en l’absence de correspondance et Spécifier la sortie si aucune correspondance est vérifiée, un attribut utilisateur de remplacement peut être sélectionné à l’aide de la liste déroulante. Cette liste déroulante est disponible en face de Paramètre 3 (sortie si aucune correspondance).
8 Summary En bas du panneau, un résumé complet du format est affiché, qui explique la signification de la transformation par du texte simple.
9 Add Une fois les paramètres de configuration de la transformation vérifiés, vous pouvez l’enregistrer dans une stratégie de revendications en sélectionnant Ajouter. Sélectionnez Enregistrer dans le panneau Gérer la revendication pour enregistrer les modifications.

La transformation RegexReplace() est également disponible pour les transformations de revendications de groupe.

Validations de transformation RegexReplace()

Lorsque les conditions suivantes se produisent après l’option Ajouter ou Exécuter un test, un message s’affiche et fournit plus d’informations sur le problème :

  • Les paramètres d’entrée avec des attributs utilisateur en double ne sont pas autorisés.
  • Paramètres d’entrée inutilisés trouvés. Les paramètres d’entrée définis doivent avoir un usage respectif dans le texte du modèle de remplacement.
  • L’entrée regex de test fournie ne correspond pas à l’expression régulière fournie.
  • La source des groupes dans le modèle de remplacement est introuvable.

Ajouter la revendication UPN à des jetons SAML

La revendication http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn fait partie de l’ensemble de revendications restreintes SAML. Si vous avez configuré une clé de signature personnalisée, vous pouvez l’ajouter dans la section Attributs et revendications.

Si aucune clé de signature personnalisée n’est configurée, reportez-vous à l’ensemble de revendications restreintes SAML. Vous pouvez l’ajouter en tant que revendication facultative via les Inscriptions d’applications dans le portail Azure.

Ouvrez l’application dans Inscriptions d’applications et sélectionnez Configuration du jeton, puis sélectionnez Ajouter une revendication facultative. Sélectionnez le type de jeton SAML, choisissezupn dans la liste, puis cliquez sur Ajouter pour ajouter la revendication au jeton.

La personnalisation effectuée dans la section Attributs et revendications peut remplacer les revendications facultatives dans Inscription d’application.

Émettre des revendications basées sur des conditions

Vous pouvez spécifier la source d’une revendication en fonction du type d’utilisateur et du groupe auquel appartient l’utilisateur.

Le type d’utilisateur peut être :

  • Tous- Tous les utilisateurs sont autorisés à accéder à l’application.
  • Membres : Membre natif du locataire
  • Tous les invités : l’utilisateur est importé à partir d’une organisation externe avec ou sans Microsoft Entra ID.
  • Invités Microsoft Entra : l’utilisateur invité appartient à une autre organisation utilisant Microsoft Entra ID.
  • Invités externes : l’utilisateur invité appartient à une organisation externe qui n’a pas Microsoft Entra ID.

Un cas où le type d’utilisateur est utile est lorsque la source d’une revendication est différente pour un invité et un employé accédant à une application. Vous pouvez spécifier que si l’utilisateur est un employé, l’ID de nom provient de user.email. Si l’utilisateur est un invité, le NameID provient de user.extensionattribute1.

Pour ajouter une condition de revendication :

  1. Dans Gérer les revendications, développez les conditions de la revendication.
  2. Sélectionnez le type d’utilisateur.
  3. Sélectionnez le ou les groupes auxquels l’utilisateur doit appartenir. Vous pouvez sélectionner jusqu’à 50 groupes uniques sur l’ensemble des revendications pour une application donnée.
  4. Sélectionnez la Source où la revendication va récupérer sa valeur. Vous pouvez sélectionner un attribut utilisateur dans le menu déroulant d’attribut de la source ou appliquer une transformation à l’attribut utilisateur. Vous pouvez également sélectionner une extension de schéma de répertoire (préversion) avant de l’émettre en tant que revendication.

L’ordre dans lequel vous ajoutez les conditions est important. Microsoft Entra évalue d’abord toutes les conditions avec la source Attribute, puis évalue toutes les conditions avec la source Transformation pour choisir la valeur à émettre dans la revendication. Les conditions avec la même source sont évaluées de haut en bas. La dernière valeur qui correspond à l’expression est émise dans la revendication. Les transformations, telles que IsNotEmpty et Contains, agissent comme des restrictions.

Par exemple, Britta Simon est figure parmi les utilisateurs invités dans le locataire Contoso. Britta appartient à une autre organisation qui utilise également Microsoft Entra ID. Compte tenu de la configuration suivantes pour l’application Fabrikam, quand Britta tente de se connecter à Fabrikam, la plateforme d’identités Microsoft évalue les conditions comme suit.

Tout d’abord, la plateforme d’identités Microsoft vérifie si le type d’utilisateur de Britta est Tous les invités. Dans la mesure où le type est Tous les invités, la plateforme d’identités Microsoft attribue la source de la revendication à user.extensionattribute1. Ensuite, la plateforme d’identité Microsoft vérifie si le type d’utilisateur de Britta est Invités Microsoft Entra. Dans la mesure où le type est Tous les invités, la plateforme d’identités Microsoft attribue la source de la revendication à user.mail. Enfin, la revendication est émise avec une valeur deuser.mail pour Britta.

Autre exemple, examinons quand Britta Simon tente de se connecter et que la configuration suivante est utilisée. Toutes les conditions sont d’abord évaluées avec la source de Attribute. Comme le type d’utilisateur de Britta est Invités Microsoft Entra, user.mail est attribué comme source de la revendication. Ensuite, les transformations sont évaluées. Étant donné que Britta est un invité, user.extensionattribute1 est maintenant la nouvelle source de la revendication. Comme Britta est dans Invités Microsoft Entra, user.othermail est maintenant la source de cette revendication. Enfin, la revendication est émise avec une valeur deuser.othermail pour Britta.

Comme dernier exemple, examinons ce qui se passe si Britta n’a pas de user.othermail configuré ou s’il est vide. Dans les deux cas, l’entrée de condition est ignorée et la revendication revient à user.extensionattribute1 à la place.

Options avancées des revendications SAML

Les options de revendications avancées peuvent être configurées pour que les applications SAML2.0 exposent la même revendication que les jetons OIDC et vice versa pour les applications qui ont l’intention d’utiliser la même revendication pour les jetons de réponse SAML2.0 et OIDC.

Les options de revendication avancées peuvent être configurées en cochant la case sous Options de revendications SAML avancées dans le panneau Gérer les revendications .

Le tableau suivant liste les autres options avancées qui peuvent être configurées pour une application.

Option Description
Ajouter l’ID d’application à l’émetteur Ajoute automatiquement l’ID d’application à la revendication de l’émetteur. Cette option garantit une valeur de revendication unique pour chaque instance lorsqu’il existe plusieurs instances de la même application. Ce paramètre est ignoré si une clé de signature personnalisée n’est pas configurée pour l’application.
Revendication de remplacement d’audience Autorise l’envoi de la revendication de remplacement d’audience à l’application. La valeur fournie doit être un URI absolu valide. Ce paramètre est ignoré si une clé de signature personnalisée n’est pas configurée pour l’application.
Inclure le format de nom d’attribut Si cette option est sélectionnée, Microsoft Entra ID ajoute un attribut appelé NameFormat qui décrit le format du nom dans les revendications restreintes, principales et facultatives pour l’application. Pour plus d’informations, consultez Type de stratégie de mappage de revendications.

Étapes suivantes