19

我正在尝试为现有 AWS Cognito 用户池启用 MFA。我正在编辑用户池配置,但尝试保存新配置会导致MFA cannot be turned off if an SMS role is configured错误(见图)。我不明白那个错误信息,谷歌也没有帮助。

问题:我做错了什么,如何为现有用户池启用 MFA?

在此处输入图像描述

4

3 回答 3

8

转到 IAM 并确保您没有意外创建 SMS 角色。在步骤下:

You must provide a role to allow Amazon Cognito to send SMS messages

如果您按创建角色,那么这将产生您提到的错误。我想为了继续你需要正确配置你的短信。

为了解决这个问题,我必须删除链接到我的用户池的SMS 角色 (IAM) 。

因此,通过删除 SMS 角色,我能够继续创建新的用户池。

您可以通过登录控制台来做到这一点。转到仪表板下方左侧的IAM转到Roles。从列表中选择与您的用户池关联的 SMS 角色并将其删除。

于 2018-08-20T09:20:46.097 回答
6

SNSRole 是自动添加的,不能通过任何可用参数更改,以后也不能修改。当前的解决方法是手动修改 yaml 配置并删除该部分。

  • 放大添加身份验证
  • 浏览所有配置
  • 打开文件 backend/auth/<name>/<name>-cloudformation-template.yml
  • 在 Resources > UserPool > Properties 中删除 Resources 和 SmsConfiguration 中的 SNSRole 行
  • 放大推动

来自:https ://github.com/aws-amplify/amplify-js/issues/2906

于 2020-10-24T23:19:21.557 回答
1

提供的解决方案(手动删除角色)对我不起作用。

我从放大 cli 中找到了解决方案。

运行这个

amplify update auth

问题之一是您是否要禁用 MFA。接着

amplify push auth

将您的更改移动到云端

于 2019-09-10T15:07:46.590 回答