Mots de passe, récupération de compte et politiques relatives aux mots de passe - Amazon Cognito

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Mots de passe, récupération de compte et politiques relatives aux mots de passe

Tous les utilisateurs qui se connectent à un groupe d'utilisateurs, même les utilisateurs fédérés, ont un mot de passe attribué à leur profil utilisateur. Les utilisateurs locaux et les utilisateurs liés doivent fournir un mot de passe lorsqu'ils se connectent. Les utilisateurs fédérés n'utilisent pas les mots de passe des groupes d'utilisateurs, mais se connectent avec leur fournisseur d'identité (IdP). Vous pouvez autoriser les utilisateurs à réinitialiser leurs propres mots de passe, à réinitialiser ou à modifier des mots de passe en tant qu'administrateur, et à définir des politiques relatives à la complexité et à l'historique des mots de passe.

Amazon Cognito ne stocke pas les mots de passe des utilisateurs en texte brut. Il stocke plutôt un hachage du mot de passe de chaque utilisateur avec un sel spécifique à l'utilisateur. De ce fait, vous ne pouvez pas récupérer les mots de passe existants dans les profils utilisateur de vos groupes d'utilisateurs. Il est recommandé de ne pas stocker les mots de passe utilisateur en texte brut où que ce soit. Réinitialisez les mots de passe lorsque les utilisateurs oublient leur mot de passe.

Réinitialisation et récupération du mot de passe

Les utilisateurs oublient leurs mots de passe. Vous souhaiterez peut-être qu'ils puissent réinitialiser leur mot de passe eux-mêmes, ou vous pouvez demander à un administrateur de réinitialiser leur mot de passe pour eux. Les groupes d'utilisateurs Amazon Cognito proposent des options pour les deux modèles. Cette partie du guide couvre les paramètres du groupe d'utilisateurs et les opérations de l'API pour la réinitialisation du mot de passe.

Le fonctionnement de l'ForgotPasswordAPI et l'option de connexion gérée Vous avez oublié votre mot de passe ? envoyer aux utilisateurs un code qui, lorsqu'ils confirment qu'ils ont le bon code, leur donne la possibilité de définir un nouveau mot de passe ConfirmForgotPassword. Il s'agit du modèle de récupération de mot de passe en libre-service.

Récupération des utilisateurs non vérifiés

Vous pouvez envoyer des messages de récupération aux utilisateurs qui ont vérifié leur adresse e-mail ou leur numéro de téléphone. S'ils n'ont pas d'e-mail ou de téléphone de récupération confirmé, un administrateur du groupe d'utilisateurs peut marquer leur adresse e-mail ou leur numéro de téléphone comme étant vérifiés. Modifiez les attributs utilisateur de l'utilisateur dans la console Amazon Cognito et cochez la case à côté de Marquer le numéro de téléphone comme vérifié ou Marquer l'adresse e-mail comme vérifiée. Vous pouvez également définir email_verified ou phone_number_verified définir la valeur true dans une AdminUpdateUserAttributesdemande. Pour les nouveaux utilisateurs, l'opération ResendConfirmationCodeAPI envoie un nouveau code à leur adresse e-mail ou à leur numéro de téléphone et ils peuvent effectuer une confirmation et une vérification en libre-service.

Réinitialisation des mots de passe en tant qu'administrateur

Les opérations AdminSetUserPasswordet AdminResetUserPasswordAPI sont les méthodes initiées par l'administrateur pour réinitialiser le mot de passe. AdminSetUserPassworddéfinit un mot de passe temporaire ou permanent et AdminResetUserPassword envoie aux utilisateurs un code de réinitialisation du mot de passe de la même manière que. ForgotPassword

Configurer la réinitialisation et la récupération du mot de passe

Amazon Cognito sélectionne automatiquement les options de restauration de votre compte parmi les attributs requis et les options de connexion que vous choisissez lorsque vous créez un groupe d'utilisateurs dans la console. Vous pouvez modifier ces paramètres par défaut.

La méthode MFA préférée d'un utilisateur influence les méthodes qu'il peut utiliser pour récupérer son mot de passe. Les utilisateurs dont le MFA préféré est envoyé par e-mail ne peuvent pas recevoir de code de réinitialisation de mot de passe par e-mail. Les utilisateurs dont le MFA préféré est envoyé par SMS ne peuvent pas recevoir de code de réinitialisation de mot de passe par SMS.

Vos paramètres de récupération de mot de passe doivent fournir une autre option lorsque les utilisateurs ne sont pas éligibles à votre méthode de réinitialisation de mot de passe préférée. Par exemple, vos mécanismes de restauration peuvent avoir le courrier électronique comme priorité absolue et le courrier électronique MFA peut être une option dans votre groupe d'utilisateurs. Dans ce cas, ajoutez la récupération des comptes par SMS comme deuxième option ou utilisez les opérations d'API d'administration pour réinitialiser les mots de passe de ces utilisateurs.

Note

Les utilisateurs ne peuvent pas recevoir le MFA et les codes de réinitialisation de mot de passe à la même adresse e-mail ou au même numéro de téléphone. S'ils utilisent des mots de passe à usage unique (OTPs) contenus dans des e-mails pour la MFA, ils doivent utiliser des SMS pour récupérer leur compte. S'ils utilisent OTPs des messages SMS pour le MFA, ils doivent utiliser des e-mails pour récupérer leur compte. Dans les groupes d'utilisateurs dotés de l'authentification multifacteur, les utilisateurs peuvent ne pas être en mesure de récupérer leur mot de passe en libre-service s'ils possèdent des attributs pour leur adresse e-mail mais pas de numéro de téléphone, ou s'ils ont un numéro de téléphone sans adresse e-mail.

Pour éviter que les utilisateurs ne puissent pas réinitialiser leur mot de passe dans les groupes d'utilisateurs avec cette configuration, définissez les phone_number attributs email et selon les besoins. Vous pouvez également configurer des processus qui collectent et définissent toujours ces attributs lorsque les utilisateurs s'inscrivent ou lorsque vos administrateurs créent des profils utilisateur. Lorsque les utilisateurs possèdent les deux attributs, Amazon Cognito envoie automatiquement des codes de réinitialisation de mot de passe à la destination qui ne correspond pas au facteur MFA de l'utilisateur.

La procédure suivante permet de configurer la restauration de comptes en libre-service dans un groupe d'utilisateurs.

Configure self-service password reset (API/SDK)

Le AccountRecoverySetting paramètre est le paramètre du groupe d'utilisateurs qui définit les méthodes que les utilisateurs peuvent utiliser pour récupérer leur mot de passe dans les demandes d'ForgotPasswordAPI ou lorsqu'ils sélectionnent Mot de passe oublié ? dans la connexion gérée. ForgotPasswordenvoie un code de récupération à une adresse e-mail ou à un numéro de téléphone vérifié. Le code de récupération reste valide pendant une heure. Lorsque vous spécifiez un AccountRecoverySetting pour votre groupe d'utilisateurs, Amazon Cognito choisit la destination de livraison de code en fonction de la priorité que vous avez définie.

Lorsque vous définissez AccountRecoverySetting et qu'un utilisateur a configuré SMS MFA, SMS ne peut pas être utilisé comme mécanisme de récupération de compte. La priorité de ce paramètre est déterminée 1 comme étant de la plus haute priorité. Amazon Cognito envoie une vérification uniquement à l'une des méthodes spécifiées. L'exemple suivant AccountRecoverySetting définit les adresses e-mail comme destination principale pour les codes de récupération de compte, en revenant aux SMS si l'utilisateur ne possède pas d'attribut d'adresse e-mail.

"AccountRecoverySetting": { "RecoveryMechanisms": [ { "Name": "verified_email", "Priority": 1 }, { "Name": "verified_phone_number", "Priority": 2 } ] }

Cette valeur admin_only désactive la restauration des comptes en libre-service et oblige les utilisateurs à contacter leur administrateur pour réinitialiser leur mot de passe. Vous ne pouvez pas utiliser admin_only avec aucun autre mécanisme de récupération de compte. Le e suivant

"AccountRecoverySetting": { "RecoveryMechanisms": [ { "Name": "admin_only", "Priority": 1 } ] }

Si vous ne le spécifiez pasAccountRecoverySetting, Amazon Cognito envoie d'abord le code de récupération à un numéro de téléphone vérifié, puis à une adresse e-mail vérifiée si les utilisateurs n'ont pas d'attribut de numéro de téléphone.

Pour plus d'informations sur AccountRecoverySetting, consultez CreateUserPool et UpdateUserPool.

Configure self-service password reset (console)

Configurez les options de restauration du compte et de réinitialisation du mot de passe dans le menu de connexion de votre groupe d'utilisateurs.

Pour configurer la restauration du compte utilisateur
  1. Connectez-vous à la console Amazon Cognito.

  2. Choisissez Groupes d’utilisateurs.

  3. Choisissez un groupe d’utilisateurs existant dans la liste ou créez-en un.

  4. Choisissez le menu de connexion. Localisez la restauration du compte utilisateur et choisissez Modifier

  5. Pour permettre aux utilisateurs de réinitialiser leurs propres mots de passe, choisissez Activer la restauration des comptes en libre-service.

  6. Configurez le mode de livraison des codes de récupération de mot de passe que votre groupe d'utilisateurs envoie aux utilisateurs. Sous Mode de livraison pour les messages de récupération du compte utilisateur, sélectionnez une option disponible. Il est recommandé de choisir une option comportant une méthode secondaire pour envoyer des messages, par exemple le courrier électronique si disponible, sinon le SMS. Avec un mode de livraison secondaire, Amazon Cognito peut envoyer des codes aux utilisateurs d'une manière qui les oblige à utiliser un support différent pour la réinitialisation du mot de passe que pour le MFA.

  7. Sélectionnez Enregistrer les modifications.

Comportement en cas d'oubli de mot de passe

Au cours d'une heure donnée, nous autorisons entre 5 et 20 tentatives pour qu'un utilisateur demande ou saisisse un code de réinitialisation de mot de passe dans le cadre d'une action ou d'un mot de passe oublié. confirm-forgot-password La valeur exacte dépend des paramètres de risque associés aux demandes. Veuillez noter que ce comportement est sujet à changement.

Ajout d’exigences de mot de passe pour un groupe d’utilisateurs

Les mots de passe forts et complexes constituent une bonne pratique de sécurité pour votre groupe d'utilisateurs. En particulier dans les applications ouvertes sur Internet, les mots de passe faibles peuvent exposer les informations d'identification de vos utilisateurs à des systèmes qui devinent les mots de passe et tentent d'accéder à vos données. Plus un mot de passe est complexe, plus il est difficile à deviner. Amazon Cognito propose des outils supplémentaires pour les administrateurs soucieux de la sécurité, tels que des fonctionnalités de sécurité avancées et le AWS WAF Web ACLs, mais votre politique en matière de mots de passe est un élément central de la sécurité de votre annuaire d'utilisateurs.

Les mots de passe des utilisateurs locaux des groupes d’utilisateurs Amazon Cognito n’expirent pas automatiquement. Il est recommandé de consigner l'heure, la date et les métadonnées des réinitialisations du mot de passe utilisateur dans un système externe. Avec un journal externe de l'ancienneté du mot de passe, votre application ou un déclencheur Lambda peut rechercher l'âge du mot de passe d'un utilisateur et nécessiter une réinitialisation après une période donnée.

Vous pouvez configurer votre groupe d'utilisateurs pour exiger une complexité minimale des mots de passe conforme à vos normes de sécurité. Les mots de passe complexes ont une longueur minimale de huit caractères. Ils incluent également un mélange de majuscules, de chiffres et de caractères spéciaux.

Grâce aux fonctionnalités de sécurité avancées, vous pouvez également définir une politique de réutilisation des mots de passe. Vous pouvez empêcher un utilisateur de réinitialiser son mot de passe en utilisant un nouveau mot de passe correspondant à son mot de passe actuel ou à l'un des 23 mots de passe précédents, pour un total maximum de 24.

Pour configurer une politique de mot de passe pour un groupe d’utilisateurs
  1. Créez un groupe d'utilisateurs et accédez à l'étape Configurer les exigences de sécurité, ou accédez à un groupe d'utilisateurs existant et accédez au menu Méthodes d'authentification.

  2. Accédez à la Stratégie de mot de passe.

  3. Choisissez un Mode de stratégie de mot de passe. Valeurs par défaut de Cognito configure votre groupe d’utilisateurs avec les paramètres minimaux recommandés. Vous pouvez également choisir une politique de mot de passe personnalisée.

  4. Configurez une Longueur minimum du mot de passe. Tous les utilisateurs doivent s’inscrire ou être créés avec un mot de passe dont la longueur est supérieure ou égale à cette valeur. Vous pouvez définir cette valeur minimale jusqu’à 99, mais vos utilisateurs peuvent définir des mots de passe d’une longueur maximale de 256 caractères.

  5. Configurez les règles de complexité des mots de passe sous Exigences relatives au mot de passe. Choisissez les types de caractères (chiffres, caractères spéciaux, lettres majuscules et minuscules) que vous souhaitez exiger (au moins un) dans le mot de passe de chaque utilisateur.

    Vous pouvez exiger au moins l'un des caractères suivants dans les mots de passe. Une fois qu'Amazon Cognito a vérifié que les mots de passe contiennent le minimum de caractères requis, les mots de passe de vos utilisateurs peuvent contenir des caractères supplémentaires de n'importe quel type, jusqu'à la longueur maximale du mot de passe.

    • Lettres latines de base majuscules et minuscules

    • Nombres

    • Les caractères spéciaux suivants.

      ^ $ * . [ ] { } ( ) ? " ! @ # % & / \ , > < ' : ; | _ ~ ` = + -
    • Caractères espace ni au début ni à la fin.

  6. Définissez une valeur pour Les mots de passe temporaires définis par les administrateurs expirent dans. Une fois ce délai écoulé, un nouvel utilisateur que vous avez créé dans la console Amazon Cognito ou avec AdminCreateUser ne peut pas se connecter ni définir un nouveau mot de passe. Une fois qu’ils se sont connectés avec leur mot de passe temporaire, leur compte utilisateur n’expire jamais. Pour mettre à jour la durée du mot de passe dans l'API des groupes d'utilisateurs Amazon Cognito, définissez une valeur dans votre demande CreateUserPoolou TemporaryPasswordValidityDays dans votre demande d'UpdateUserPoolAPI.

  7. Définissez une valeur pour Empêcher l'utilisation des mots de passe précédents, si disponible. Pour utiliser cette fonctionnalité, activez les fonctionnalités de sécurité avancées dans votre groupe d'utilisateurs. La valeur de ce paramètre est le nombre de mots de passe précédents auxquels un nouveau mot de passe ne peut pas correspondre lorsqu'un utilisateur réinitialise son mot de passe.

Pour réinitialiser l'accès à un compte utilisateur expiré, effectuez l'une des opérations suivantes :

  • Supprimez le profil utilisateur et créez-en un nouveau.

  • Définissez un nouveau mot de passe permanent dans une demande d'AdminSetUserPasswordAPI.

  • Générez un nouveau code de confirmation dans une demande d'AdminResetUserPasswordAPI.