Skip to main content
Vous pouvez personnaliser pour divers scénarios avec Auth0 Actions.

Quand personnaliser Adaptive MFA

Vous ne devriez envisager de personnaliser Adaptive MFA que si vos utilisateurs sont déjà inscrits à la MFA et doivent utiliser un courriel comme identifiant.
Si vos utilisateurs ne sont pas inscrits à la , vous devriez utiliser la stratégie par défaut d’Adaptive MFA. Si un utilisateur n’est pas inscrit à la MFA et que votre Action évalue un risque élevé, vous disposez de peu d’options pour bloquer un . Avant de commencer à personnaliser Adaptive MFA, posez-vous quelques questions :
  • À quel niveau de confiance voulez-vous déclencher la MFA ?
  • Comment voulez-vous mesurer le risque ?
  • Voulez-vous qu’Auth0 mesure le niveau de confiance ou préférez-vous une mesure personnalisée ?
  • Comment allez-vous gérer les utilisateurs qui ne sont pas inscrits à la MFA ?

Scores de confiance

Adaptive MFA calcule un score de confiance global à partir de l’analyse de trois évaluations : NewDevice, ImpossibleTravel et UntrustedIP. Pour en savoir plus, consultez Adaptive MFA : fonctionnement. Chaque évaluation possède son propre score de confiance, et chaque score de confiance a une action associée :
Le tableau suivant décrit les scénarios à risque élevé qui produisent un score de confiance low :Le tableau suivant décrit les scénarios à faible risque qui produisent un score de confiance high :
Si vous souhaitez implémenter votre propre méthode pour évaluer le score de confiance global de différents scénarios, vous pouvez utiliser les données disponibles dans l’objet riskAssessment, qui contient le score de confiance global, les informations de version et les détails des évaluations individuelles. Vous pouvez consulter la description complète, les propriétés et les valeurs de l’objet riskAssessment dans la référence riskAssessment du déclencheur post-login des Actions.

Résultats possibles des Actions

Les Actions qui déclenchent la MFA priment sur le comportement Adaptive MFA par défaut.
Si l’une de vos Actions déclenche la MFA en fonction du score de confiance, la stratégie Adaptive MFA par défaut déclenche la MFA lorsque le score de confiance est low. Le tableau suivant présente les résultats possibles selon la combinaison des Actions et des actions de la stratégie Adaptive MFA par défaut.

Modèles d’Action

Auth0 fournit deux modèles d’Action fondés sur Adaptive MFA que vous pouvez personnaliser : Adaptive MFA et Exiger l’inscription à l’authentification multifacteur (MFA).

Modèle Adaptive MFA

Ce modèle fournit un exemple et un point de départ pour créer un flux métier personnalisé à l’aide d’évaluations individuelles des risques. Cet exemple utilise :
  • Le déclencheur Action api.multifactor.enable pour gérer à la fois l’inscription et le déclenchement des défis MFA configurés à la fin du processus de connexion.
  • Le déclencheur Actions event.user.multifactor avec les facteurs auxquels l’utilisateur est inscrit.
Comme les notifications par email ne constituent pas un facteur indépendant, la condition event.user.multifactor && event.user.multifactor.length > 0 renverra false si l’utilisateur n’a que le facteur email. Pour en savoir plus, consultez Configurer les notifications par courriel pour MFA.
Pour afficher une invite aux utilisateurs, remplacez api.multifactor.enable par api.authentication.challengeWithAny() afin de forcer un défi MFA avec un facteur existant déjà configuré par l’utilisateur. Pour consulter les facteurs pris en charge avec Actions, reportez-vous au paramètre factors. Par exemple :
Cet exemple utilise event.user.enrolledFactors au lieu de event.user.multifactor pour vérifier l’inscription aux facteurs. Contrairement à event.user.multifactor, event.user.enrolledFactors inclut email comme facteur, ce qui permet de retourner correctement les facteurs configurés pour les utilisateurs qui n’ont configuré que le courriel.

Modèle d’exigence d’inscription à la MFA

Ce modèle montre comment imposer l’inscription à la MFA lorsque vous utilisez une stratégie MFA standard ou Adaptive. Il utilise event.user.multifactor pour vérifier si l’utilisateur est inscrit à la MFA et, si ce n’est pas le cas, lui demander de s’inscrire.

Cas d’utilisation des Actions

Voici quelques suggestions sur la façon de créer des Actions personnalisées selon votre cas d’utilisation.
Évaluez la propriété riskAssessment.confidence, puis comparez-la aux constantes high, medium ou low :
Les scores de confiance sont des valeurs discrètes, et non des valeurs dans une plage. Vous ne pouvez donc pas utiliser des opérateurs de comparaison (comme < ou >) pour évaluer plusieurs valeurs dans une seule condition.Utilisez plusieurs conditions pour combiner logiquement tous les scores de confiance que vous souhaitez traiter. Par exemple, si vous voulez savoir quand le score de confiance est supérieur à low, vérifiez s’il est égal à medium ou à high :
L’objet riskAssessment est enregistré dans les journaux de votre locataire. Vous pouvez consulter les entrées de journal pour voir le score d’évaluation du risque et les facteurs déterminants (raisons).Vous pouvez consulter l’objet riskAssessment et transmettre les résultats à un autre système. Par exemple, vous pouvez envoyer un courriel ou enregistrer un enregistrement dans une base de données externe.
Utilisez l’objet assessments pour accéder aux détails de chaque évaluation, y compris la propriété code :
Utilisez l’objet assessments pour accéder aux détails de chaque évaluation, puis utilisez la propriété confidence, la propriété code ou les deux.
Utilisez l’objet assessments pour accéder aux détails de chaque évaluation, y compris la propriété code.Empêchez la transaction de connexion de se terminer en renvoyant la fonction callback avec un objet UnauthorizedError comme paramètre d’erreur. L’objet UnauthorizedError définit toujours error sur unauthorized, mais vous pouvez personnaliser error_message :
L’utilisateur est alors redirigé vers l’URL de rappel de l’application avec les paramètres error et error_message.
Auth0 attribue automatiquement un score de confiance low si une défaillance survient pendant l’évaluation du risque.Pour atténuer ce scénario, utilisez l’objet assessments pour vérifier la propriété code de chaque évaluation et déterminer si la valeur est définie sur assessment_not_available.

En savoir plus