添加用户池密码要求 - Amazon Cognito
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

添加用户池密码要求

强大、复杂的密码是用户群的最佳安全实践。特别是在对互联网开放的应用程序中,弱密码会将用户的凭据暴露给猜测密码并尝试访问您的数据的系统。密码越复杂,就越难猜出。Amazon Cognito 为注重安全的管理员提供了其他工具,例如高级安全功能Amazon WAFWeb ACL,但是您的密码策略是用户目录安全的核心要素。

Amazon Cognito 用户池中本地用户的密码不会自动过期。最佳做法是在外部系统中记录用户密码重置的时间、日期和元数据。使用密码使用期限的外部日志,您的应用程序或 Lambda 触发器可以查找用户的密码年限,并在给定时间后要求重置。

您可以将用户池配置为要求符合安全标准的最低密码复杂性。复杂密码的最小长度至少为八个字符。它们还包括大写、数字和特殊字符的组合。

设置用户池密码策略
  1. 创建一个用户池并导航到配置安全要求步骤,或访问现有用户池并导航到登录体验选项卡。

  2. 导航到密码策略

  3. 选择密码策略模式Cognito 默认使用推荐的最低设置来配置您的用户池。您也可以选择一项自定义密码策略。

  4. 设置密码最小长度。所有用户都必须使用长度大于或等于这个值的密码进行注册或创建。您可以将这个最小值设置为 99,但用户可以设置最长 256 个字符的密码。

  5. 密码要求下配置密码的复杂性规则。选择您希望在每个用户的密码中至少包含一个的字符类型(数字、特殊字符、大写字母和小写字母)。

    密码中可以要求至少包含以下字符之一。在 Amazon Cognito 验证密码中包含所需的最少字符后,您的用户的密码可以包含任何类型的额外字符,但不得超过最大密码长度。

    • 大写和小写基本拉丁字母

    • 数字

    • 以下特殊字符。

      ^ $ * . [ ] { } ( ) ? " ! @ # % & / \ , > < ' : ; | _ ~ ` = + -
    • 非前导、非结尾的空格字符。

  6. 管理员设置的临时密码到期时间设置一个值。超过此期限,您通过 Amazon Cognito 控制台或 AdminCreateUser 创建的新用户将无法登录和设置新密码。使用临时密码登录后,他们的用户账户永远不会过期。要在 Amazon Cognito 用户池 API 中更新密码时长,请在您的CreateUserPoolUpdateUserPoolAPI 请求TemporaryPasswordValidityDays 中为设置一个值。

    1. 要重置已过期用户账户的访问权限,请执行以下操作之一。