向用户池添加多重验证 (MFA) - Amazon Cognito
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

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

向用户池添加多重验证 (MFA)

多重验证 (MFA) 通过增加另一种身份验证方法而不是单靠用户名和密码来提高应用程序的安全性。您可以选择使用短信或基于时间的一次性 (TOTP) 密码作为用户登录的第二安全要素。

借助自适应身份验证,可以将用户池配置为响应增加的风险级别需要第二安全要素身份验证。要向用户池添加自适应身份验证,请参阅向用户池添加高级安全

当多重身份验证 (MFA) 设置为required,则所有用户都必须完成 MFA 才能登录。每个用户至少需要一个 MFA 因素(例如 SMS 或 TOTP 设置)才能登录。为了避免阻止用户登录 MFArequired,则必须在用户加入中包含 MFA 设置。

如果您启用 SMS 作为 MFA 因素,您可以要求电话号码并在注册过程中进行验证。如果您将 MFA 设置为required并且只支持 SMS 作为一个因素,大多数用户将需要有一个电话号码。没有电话号码的用户需要您的支持才能将电话号码添加到其个人资料中,然后才能登录。您可以将未经验证的电话号码用于 SMS MFA。在多重身份验证成功后,这些号码将具有已验证的状态。

在初始登录过程中为 TOTP 令牌设置用户池中的用户。启用或禁用 TOTP 作为用户池的 MFA 因子的设置控制用户是否可以为自己设置 TOTP。如果您的用户已设置 TOTP,他们可以将其用于 MFA,即使稍后为用户池禁用了 TOTP。

Prerequisites

在开始之前,您需要:

  • 您只能选择 MFA 作为必需在 Amazon Cognito 用户池控制台中,当您最初创建用户池时。这些区域有:SetUserPoolMfaConfigAPI 操作可用于将 MFA 设置为required用于现有用户池。

  • 在启用 MFA 且选择短信作为第二安全要素时,必须验证电话号码。

  • 高级安全功能要求 MFA 已启用并在 Amazon Cognito 用户池控制台中设置为可选。有关更多信息,请参阅向用户池添加高级安全

配置多重验证

您可以在 Amazon Cognito 控制台中配置 MFA。

在 Amazon Cognito 控制台中配置 MFA

  1. 从左侧导航栏中,选择 MFA 和验证

  2. 选择 MFA 处于关闭可选还是必需状态。

    
              通知用户
  3. 选择可选以按用户启用 MFA,或者如果使用的是基于风险的自适应身份验证。有关自适应身份验证的更多信息,请参阅向用户池添加高级安全

  4. 选择要在应用程序中支持的第二安全要素。用户可以使用短信基于时间的一次性密码作为第二安全要素。我们建议使用 TOTP,这允许使用 SMS 作为密码恢复机制而不是身份验证因素。

  5. 如果使用短信作为第二安全要素并且未定义具有此权限的 IAM 角色,则可在控制台中创建一个此角色。选择创建角色创建允许 Amazon Cognito 代表您向用户发送 SMS 消息的 IAM 角色。有关更多信息,请参阅 IAM 角色

  6. 选择 Save Changes (保存更改)