You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

创建带SMS MFA的Cognito User Pool所需权限及现有策略缺失排查

你当前的策略缺少两类必要权限,是导致保存用户池时权限报错的核心原因:

1. 缺少IAM角色传递权限iam:PassRole

你在创建流程中完成SMS关联角色创建后,需要将该角色授权给Cognito服务调用SNS发送短信,这个操作需要当前身份拥有iam:PassRole权限,且可以限制可传递的角色仅允许给到Cognito服务主体,避免权限溢出。

2. 缺少SNS服务的核心操作权限

你当前策略中仅配置了SNS的查询类权限,配置SMS MFA还需要SNS的操作类权限:

  • sns:Publish:允许Cognito调用SNS发送短信验证码
  • sns:SetSMSAttributes:允许配置SNS短信发送的全局属性,Cognito配置SMS MFA时会自动校验该配置,无权限会直接触发保存失败

可参考补充的策略语句:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "iam:PassRole",
            "Resource": "arn:aws:iam::<你的AWS账户ID>:role/<Cognito SMS发送角色名称>",
            "Condition": {
                "StringEquals": {
                    "iam:PassedToService": "cognito-idp.amazonaws.com"
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": [
                "sns:Publish",
                "sns:SetSMSAttributes"
            ],
            "Resource": "*"
        }
    ]
}

你可以将Resource中的角色ARN替换为你实际创建的Cognito SMS发送角色ARN,如果允许传递所有符合规则的角色,也可以写为arn:aws:iam::*:role/*Cognito*SMS*的通配符形式。

内容的提问来源于stack exchange,提问作者thisisdee

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.16 10:45:04