Comment résoudre les erreurs d'authentification multifactorielle dans mon groupe d'utilisateurs Amazon Cognito ?

Lecture de 6 minute(s)
0

J'ai des erreurs d’authentification multifactorielle (MFA) que je dois résoudre dans mon groupe d'utilisateurs Amazon Cognito.

Brève description

Lors de la configuration de la MFA (authentification multi-facteur) pour votre groupe d'utilisateurs Amazon Cognito, vous pouvez rencontrer plusieurs types d'erreurs. Si vous configurez des messages SMS (Short Message Service) pour authentification multi-facteur, consultez les sections suivantes : Avant de configurer les SMS pour les erreurs MFA et SMS MFA. Si vous configurez des mot de passe unique à durée limitée (TOTP) pour la MFA, consultez les sections suivantes : Avant de configurer TOTP pour les erreurs MFA et TOTP MFA.

Résolution

Avant de configurer les SMS pour la MFA

Avant de configurer les SMS en tant que facteur MFA, vous devez prendre des mesures supplémentaires pour envoyer des SMS pour la première fois. Pour plus d'informations, consultez Configuration de la messagerie SMS pour la première fois dans les groupes d'utilisateurs Amazon Cognito.

Lorsque vous activez la MFA et que vous choisissez les SMS comme deuxième facteur, Amazon Cognito peut envoyer des SMS à des numéros de téléphone non vérifiés. Une fois que les utilisateurs ont terminé la vérification MFA par SMS, Amazon Cognito définit l'attributphone_number_verified sur true.

Erreurs MFA des SMS

InvalidSmsRoleAccessPolicyException

Le rôle AWS Identity and Access Management (IAM) pour la configuration des SMS n'est pas autorisé à utiliser Amazon Simple Notification Service (Amazon SNS) pour publier.

Pour résoudre cette erreur, veillez à associer l'autorisationsns:Publish au rôle IAM. Assurez-vous également que les politiques de contrôle des services (SCP) ne bloquent pas l'actionSNS:Publish.

InvalidSmsRoleTrustRelationshipException

Cette erreur se produit lorsque le rôle IAM ne possède pas de relation de confiance valide permettant à Amazon Cognito d'assumer le rôle. Cela se produit lorsque cognito-idp.amazonaws.com n'est pas approuvé ou que l'identifiant externe indiqué dans la politique de rôle ne correspond pas à la configuration SMS du groupe d'utilisateurs.

Pour résoudre cette erreur, assurez-vous que vous avez correctement configuré la politique de confiance pour le rôle IAM. Pour plus d'informations, consultez Configuration de la messagerie SMS pour la première fois dans les groupes d'utilisateurs Amazon Cognito.

InvalidParameterException

Cette erreur se produit lorsqu'Amazon Cognito rencontre un paramètre qui n'est pas valide.

Pour résoudre cette erreur, assurez-vous que toutes les valeurs requises sont transmises au paramètreSmsMfaConfiguration de l'API SetUserPoolMfaConfig lors de la configuration de SMS pour la MFA.

Avant de configurer TOTP pour MFA

Lorsque vous configurez le jeton logiciel TOTP MFA dans votre groupe d'utilisateurs Amazon Cognito, ajoutez la MFA à votre groupe d'utilisateurs avant de configurer le jeton TOTP.

À moins qu'un utilisateur ne soit déjà authentifié, vous ne pouvez pas associer de jetons TOTP à un utilisateur tant que celui-ci n'essaie pas de se connecter à votre application.

La MFA ne prend pas en charge les utilisateurs fédérés au sein d'un groupe d'utilisateurs.

Erreurs TOTP MFA

NotAuthorizedException : le jeton d'accès n'a pas la portée requise

Cette erreur se produit lorsque le jeton d'accès n'inclut pas l'étendue aws.cognito.signin.user.admin requise. L'étendue aws.cognito.signin.user.admin est requise lors de l'appel de l'APIAssociateSoftwareToken. Lorsqu'un utilisateur se connecte à l'aide de l'API InitiateAuth, l'étendue est automatiquement présente dans le jeton d'accès. Toutefois, lorsqu'un utilisateur utilise une interface utilisateur hébergée pour se connecter, assurez-vous que l'étendueaws.cognito.signin.user.admin est présente dans le jeton d'accès.

NotAuthorizedException : session non valide pour l'utilisateur, la session ne peut être utilisée qu'une seule fois

Cette erreur se produit lorsqu'un utilisateur utilise la même session plusieurs fois. Si un utilisateur reçoit cette erreur au milieu d'un flux, l'application doit redémarrer le flux depuis le début. Si l'utilisateur utilise une chaîne de session lorsqu'il appelle une API, il ne peut pas réutiliser la session.

NotAuthorizedException : Session non valide pour l'utilisateur, la session a expiré

Cette erreur se produit lorsque le délai de validité de la session expire. La durée de validité de la session est de 3 minutes par défaut. Pour résoudre cette erreur, modifiez le paramètre de durée de session du flux d'authentification du client de l'application afin d'augmenter la durée de validité de la session à 15 minutes.

CodeMismatchException : Code ou état d'authentification non valide pour l'utilisateur

Cette erreur se produit lorsque le code TOTP de l'utilisateur n'est pas valide ou que l'état de l'utilisateur n'est pas compatible avec l'appel de l'API. Par exemple, si un utilisateur appelle l'API RespondToAuthChallenge avec un défi nomméMFA_SETUP, mais que vous n'avez pas configuré TOTP MFA, l'erreur CodeMisMatchException se produit. Pour résoudre cette erreur, assurez-vous que les appels d'API se produisent dans le bon ordre lorsque vous configurez la MFA.

Cette erreur se produit également lorsque le code TOTP de l'utilisateur est trop ancien pour qu'Amazon Cognito puisse l'accepter. Pour résoudre cette erreur, assurez-vous que les appareils des utilisateurs sont synchronisés avec l'heure réelle.

InvalidParameterException : l'utilisateur n'a pas de configuration de livraison pour activer SOFTWARE_TOKEN_MFA

Cette erreur se produit lorsque vous n'avez pas configuré la MFA TOTP et que vous appelez des API pour essayer de l'appliquer. Pour résoudre cette erreur, avant d'appliquer le TOTP aux utilisateurs qui utilisent l'API SetUserMFAPreference ou l'API AdminSetUserMFAPreference, configurez TOTP MFA pour les utilisateurs.

NotAuthorizedException : session non valide pour l'utilisateur

Cette erreur se produit lorsqu'un utilisateur appelle une API et fournit une chaîne de session qui n'est pas la chaîne de session attendue. Cette erreur se produit également lorsque les utilisateurs n'effectuent pas les appels d'API dans le bon ordre. Pour résoudre cette erreur, configurez les appels d'API dans l'ordre approprié. Par exemple, pour recevoir la chaîne de session dans la réponse, l'utilisateur appelle d'abord l'API InitiateAuth. Pour éviter toute erreur, vérifiez que le prochain appel d'API utilise la chaîne de session renvoyée dans son paramètre de demande.

EnableSoftwareTokenMFAException : incompatibilité de code

Cette erreur se produit lorsqu'un utilisateur ne fournit pas le code TOTP attendu par Amazon Cognito lors de la configuration TOTP MFA. Pour résoudre cette erreur, recherchez le code secret fourni par Amazon Cognito dans l'API AssociateSoftwareToken et enregistrez-le dans l'application d'authentification. L'utilisateur doit également fournir un code TOTP à jour à partir de l'application d'authentification.

SoftwareTokenMFANotFoundException : La MFA par jeton logiciel n'a pas été activée par le userPool

Cette erreur se produit lorsque vous n'avez pas activé TOTP MFA pour votre groupe d'utilisateurs. Pour résoudre cette erreur, configurez TOTP MFA avant d'essayer de l'appliquer dans Amazon Cognito.

Informations connexes

Ajouter MFA à un groupe d'utilisateurs

MFA de message texte SMS

Configuration de la MFA pour un utilisateur dans l'API native Amazon Cognito

AWS OFFICIEL
AWS OFFICIELA mis à jour il y a un an