Aperçu
De nombreuses organisations ont demandé s’il était possible de déterminer si un utilisateur a terminé l’authentification multifacteur (MFA) à partir des revendications d’un jeton de sécurité, comme une réponse SAML ou un jeton OAuth. Dans cet article, j’explique comment Entra ID (anciennement Azure AD) inclut ces informations dans les jetons de sécurité et comment vous pouvez les vérifier pour votre cas d’usage.
Comprendre les revendications d’authentification
Revendications d’authentification SAML et OAuth
- Jetons SAML : Entra ID utilise le nom de revendication
http://schemas.microsoft.com/claims/authnmethodsreferencespour indiquer la méthode d’authentification utilisée pendant le processus de connexion. - Jetons OAuth : la valeur
amr(Authentication Methods References, références des méthodes d’authentification) sert à spécifier la méthode d’authentification dans les jetons OAuth.
Configuration d’Entra ID
La bonne nouvelle, c’est qu’Entra ID inclut la revendication http://schemas.microsoft.com/claims/authnmethodsreferences par défaut pour indiquer si la MFA a été effectuée. Aucune configuration supplémentaire n’est requise côté Entra ID.
Comment vérifier les revendications MFA dans les jetons de sécurité
Cas 1 : connexion avec le mot de passe uniquement (sans MFA)
Si un utilisateur se connecte uniquement avec son mot de passe (sans MFA), la revendication http://schemas.microsoft.com/claims/authnmethodsreferences aura une seule valeur :
- Valeur de la revendication:
http://schemas.microsoft.com/ws/2008/06/identity/authenticationmethod/password
Exemple de revendication dans le jeton :
<Attribute Name="http://schemas.microsoft.com/claims/authnmethodsreferences">
<AttributeValue>http://schemas.microsoft.com/ws/2008/06/identity/authenticationmethod/password</AttributeValue>
</Attribute>
Cas 2 : connexion avec mot de passe et MFA
Si un utilisateur se connecte avec un mot de passe et la MFA (par exemple, une application d’authentification ou une autre méthode de vérification), la revendication http://schemas.microsoft.com/claims/authnmethodsreferences comprendra deux valeurs :
- Valeurs de la revendication:
http://schemas.microsoft.com/ws/2008/06/identity/authenticationmethod/passwordhttp://schemas.microsoft.com/claims/multipleauthn
Exemple de revendication dans le jeton :
<Attribute Name="http://schemas.microsoft.com/claims/authnmethodsreferences">
<AttributeValue>http://schemas.microsoft.com/ws/2008/06/identity/authenticationmethod/password</AttributeValue>
<AttributeValue>http://schemas.microsoft.com/claims/multipleauthn</AttributeValue>
</Attribute>
Comment vérifier que la MFA a été effectuée
Pour vérifier si la MFA a été effectuée, il suffit de vérifier la présence de la valeur http://schemas.microsoft.com/claims/multipleauthn sous le nom de revendication http://schemas.microsoft.com/claims/authnmethodsreferences.
- Si la valeur est présente : la MFA a été effectuée.
- Si la valeur est absente : l’utilisateur s’est connecté uniquement avec son mot de passe.
Pourquoi c’est important
En vérifiant les revendications des jetons de sécurité, vous pouvez confirmer par programme si la MFA a été appliquée pendant l’authentification. C’est particulièrement utile pour les organisations qui doivent garantir la conformité avec les politiques de sécurité ou s’intégrer à des fournisseurs tiers exigeant une vérification de la MFA.
Conclusion
Entra ID simplifie la vérification des revendications MFA dans les jetons de sécurité en incluant par défaut les informations nécessaires. Que vous travailliez avec des jetons SAML ou OAuth, la revendication http://schemas.microsoft.com/claims/authnmethodsreferences fournit les détails nécessaires pour déterminer si la MFA a été effectuée pendant la connexion d’un utilisateur.
Si vous mettez cela en place dans votre organisation ou si vous devez le partager avec un partenaire ou un fournisseur, renvoyez-les simplement aux valeurs de revendication correspondantes indiquées ci-dessus.