AWS Cognito - 启用 MFA |错误:如果配置了 SMS 角色,则无法关闭 MFA
Posted
技术标签:
【中文标题】AWS Cognito - 启用 MFA |错误:如果配置了 SMS 角色,则无法关闭 MFA【英文标题】:AWS Cognito - Enabling MFA | Error: MFA cannot be turned off if an SMS role is configured 【发布时间】:2018-11-13 20:18:12 【问题描述】:我正在尝试为现有 AWS Cognito 用户池启用 MFA。
我正在编辑用户池配置,但尝试保存新配置会导致 MFA cannot be turned off if an SMS role is configured
错误(见图)。我不明白那个错误信息,Google 也帮不上忙。
问题:我做错了什么,如何为现有用户池启用 MFA?
【问题讨论】:
您使用的是哪个 aws 区域? 爱尔兰(eu-west-1) 奇怪,我猜你已经为 MFA 选择了可选的。就我而言,它在 eu-central-1 中不起作用,但对于 eu-west-1 没关系。 您可能还需要提高 AWS 每月支出限额。 SNS消费限额已经提高了,我觉得不是问题。我通过导出所有用户、创建启用 MFA 的新用户池然后导入用户解决了这个问题。如果系统包含许多用户和高流量,则此解决方案可能不理想。 【参考方案1】:SNSRole 是自动添加的,不能通过任何可用参数更改,以后也不能修改。当前的解决方法是手动修改 yaml 配置并删除该部分。
放大添加授权 完成所有配置 打开文件 backend/auth/来自:https://github.com/aws-amplify/amplify-js/issues/2906
【讨论】:
这条路好像不存在了。我在我的项目中找不到它。 @Min 你确定吗?路径取决于您选择的名称。 是的,我确定。这就是我所看到的: amplify/backend/auth/提供的解决方案(手动删除角色)对我不起作用。
我从放大 cli 中找到了解决方案。
运行这个
amplify update auth
其中一个问题是您是否要禁用 MFA。 然后
amplify push auth
将您的更改移动到云端
【讨论】:
【参考方案3】:转到 IAM 并确保您没有意外创建 SMS 角色。 台阶下:
You must provide a role to allow Amazon Cognito to send SMS messages
如果您按创建角色,那么这将产生您提到的错误。我想为了继续,您需要正确配置您的 SMS。
为了解决这个问题,我必须删除一个链接到我的用户池的 SMS 角色 (IAM)。
因此,通过删除 SMS 角色,我能够继续创建新的用户池。
您可以通过登录控制台来做到这一点。转到仪表板下方左侧的 IAM 转到 Roles。从列表中选择与您的用户池关联的 SMS 角色并将其删除。
【讨论】:
3 年后,令人难以置信的是他们让这个过程变得如此困难以上是关于AWS Cognito - 启用 MFA |错误:如果配置了 SMS 角色,则无法关闭 MFA的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 AWS Cognito AmplifyAuthenticator 设置可选 MFA?
在 AWS Cognito 中为 MFA 配置自定义 SMS 消息
AWS Amplify/Cognito - 一种仅在用户首次登录时设置 TOTP MFA 的方法
如果用户在 AWS Cognito TOTP AssociateSoftwareToken MFA 有效禁用后退出应用程序