跳至内容

如何为 Amazon Cognito 用户池设置电子邮件 MFA?

2 分钟阅读
0

我想为我的 Amazon Cognito 用户池设置电子邮件多重身份验证 (MFA),但我不确定所需的配置。

解决方案

**注意:**如果您在运行 AWS 命令行界面 (AWS CLI) 命令时收到错误,请参阅 AWS CLI 错误故障排除。此外,请确保您使用的是最新版本的 AWS CLI

解决功能计划错误

您只能为使用 EssentialsPlus 功能计划的电子邮箱启用 MFA。

如果您的用户池有 Lite 计划并且您尝试开启电子邮件 MFA,则可能会收到错误。

在 Amazon Cognito 控制台中,您可能会收到以下错误:

“Can't enable email MFA when user pool is not under the Essentials or Plus plan”

如果您使用 AWS CLI,则可能会收到以下错误:

“An error occurred (FeatureUnavailableInTierException) when calling the SetUserPoolMfaConfig operation: The following feature is not available for the LITE pricing tier configured: Email MFA”

要解决功能计划错误,请升级到 Essentials 或 Plus 功能计划。要更改计划,请参阅选择功能计划

解决电子邮件配置错误

Amazon Cognito 使用 Amazon Simple Email Service (Amazon SES) 向用户的电子邮件地址发送 MFA 代码。当您开启电子邮件 MFA 时,必须将您的用户池配置为使用 Amazon SES 而不是默认的电子邮件配置

如果您使用默认的电子邮件配置,则可能会收到错误。

在 Amazon Cognito 控制台中,您可能会收到以下错误:

“Can't enable email MFA with email sending in Send email with Cognito configuration”

如果您使用 AWS CLI,则可能会收到以下错误:

“An error occurred (InvalidParameterException) when calling the SetUserPoolMfaConfig operation: Cannot set EmailMfaConfiguration when user pool EmailConfiguration contains an EmailSendingAccount of COGNITO_DEFAULT.Update the value of EmailSendingAccount”

要向您的用户发送电子邮件 MFA 代码,请设置 Amazon SES 账户,然后使用您的用户池配置 Amazon SES

解决账户恢复错误

Amazon Cognito 需要使用不同的方法进行 MFA 和账户恢复以维护安全。用户必须有不同的渠道才能接收 MFA 代码和密码重置码。

用户无法使用相同的电子邮件地址或电话号码接收 MFA 和密码重置码。例如,如果您为 MFA 配置电子邮件,则您的用户必须使用 SMS 进行账户恢复。如果您尝试在没有单独恢复方法的情况下开启电子邮件 MFA,则可能会收到错误。

在 Amazon Cognito 控制台中,您可能会收到以下错误:

“Can't enable email MFA when user pool account recovery method is email-only or legacy.”

如果您使用 AWS CLI,则可能会收到以下错误:

“An error occurred (InvalidParameterException) when calling the SetUserPoolMfaConfig operation: Cannot set EmailMfaConfiguration when user pool AccountRecoverySetting is not set or contains only verified_email in RecoveryMechanisms.At least one recovery mechanism other than verified_email should be present”

要解决错误,请设置其他账户恢复方法。然后,设置电子邮件 MFA。有关说明,请参阅电子邮件 MFA 中的“在 Amazon Cognito 控制台中设置电子邮件 MFA

**注意:**为了帮助用户重置密码,最佳做法是在用户池中将 emailphone_number都设置为必填属性

相关信息

向用户池添加 MFA

Amazon SES 电子邮件配置

AWS 官方已更新 2 个月前