Mots de passe, récupération des mots de passe 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 des mots de passe 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 d'Amazon Cognito proposent des options pour les deux modèles. Cette partie du guide couvre les paramètres du groupe d'utilisateurs et les API opérations de réinitialisation du mot de passe.

Le ForgotPasswordAPIfonctionnement et l'option d'interface utilisateur hébergé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.

Les AdminResetUserPasswordAPIopérations AdminSetUserPasswordet sont les méthodes de réinitialisation du mot de passe initiées par l'administrateur. 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

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 lorsqu'ils appellent le ForgotPasswordAPI. 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 le définissez AccountRecoverySetting et qu'un utilisateur l'a SMS MFA configuré, il 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 et 1 est la priorité la plus élevée. Cognito envoie une vérification à une seule des méthodes spécifiées.

Par exemple, admin_only est une valeur utilisée lorsque l'administrateur ne souhaite pas que l'utilisateur récupère lui-même son compte et lui demande de contacter l'administrateur pour le réinitialiser. Vous ne pouvez pas utiliser admin_only avec aucun autre mécanisme de récupération de compte.

Si vous ne spécifiez pas AccountRecoverySetting, Amazon Cognito utilise le mécanisme hérité pour déterminer la méthode de récupération du mot de passe. Dans ce cas, Cognito utilise d'abord un téléphone vérifié. Si le téléphone vérifié n'est pas trouvé pour l'utilisateur, Cognito revient en arrière et utilise l'e-mail vérifié.

Pour plus d'informationsAccountRecoverySetting, consultez CreateUserPoolet UpdateUserPoolconsultez le manuel Amazon Cognito Identity Provider API Reference.

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 en matière 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 à l’onglet Expérience de connexion.

  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 les groupes d'utilisateurs Amazon CognitoAPI, définissez une valeur pour TemporaryPasswordValidityDays dans votre demande CreateUserPoolou 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 AdminSetUserPasswordAPIdemande.

  • Générez un nouveau code de confirmation dans une AdminResetUserPasswordAPIdemande.