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 :
- Connectez-vous au Centre d’administration de Microsoft Entra au minimum en tant qu’Administrateur d’application cloud.
- Accédez à Identité>Applications>Applications d’entreprise>Toutes les applications.
- 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
ounameID
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.
Modifiez nameID
.
Pour modifier le nom de la revendication de la valeur d’identificateur du nom :
- Ouvrez la page Valeur de nom d’identificateur.
- 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 :
- Dans le panneau Attributs et revendications, sélectionnez la revendication à modifier.
- 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
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 :
- Dans le panneau Attributs et revendications, sélectionnez Ajouter une revendication ou modifiez une revendication existante.
- Sélectionnez l’application source dans le sélecteur d’application où la propriété d’extension est définie.
- Sélectionnez Ajouter pour ajouter la sélection aux revendications.
- 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 :
- Dans le panneau Attributs et revendications, sélectionnez Ajouter une revendication pour ouvrir la page Gérer les revendications des utilisateurs.
- 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.
- 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.
Ajouter une revendication de groupe
Les revendications de groupe sont utilisées pour prendre des décisions d’autorisation pour accéder à une ressource par une application ou un fournisseur de services. Pour ajouter des revendications de groupe ;
- Accédez à Inscriptions d’applications et sélectionnez l’application à laquelle vous souhaitez ajouter une revendication de groupe.
- Sélectionnez Ajouter une revendication de groupe.
- Sélectionnez les types de groupes à inclure dans votre jeton. Vous pouvez ajouter des groupes de sécurité, des groupes d’annuaires ou des groupes affectés à une application particulière.
- Choisissez les valeurs que vous souhaitez inclure dans votre revendication de groupes, puis sélectionnez Ajouter.
Transformations de revendication
Pour appliquer une transformation à un attribut utilisateur :
- Dans Gérer les revendications, sélectionnez Transformation comme source de revendication pour ouvrir la page Gérer la transformation.
- 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.
- Sélectionnez la source de l’attribut en cliquant sur la case d’option appropriée.
- Sélectionnez le nom de l'attribut dans la liste déroulante.
- 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
. - 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 nameID transformation 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 | 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 | 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() | 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 :
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 :
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 :
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 :
- Dans Gérer les revendications, développez les conditions de la revendication.
- Sélectionnez le type d’utilisateur.
- 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.
- 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 d’annuaire 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. |