CloudFormation模板部署失败:SNS权限资源指定异常问题
解决Amazon Cognito CloudFormation模板中SNS权限ARN匹配问题
核心原因
Cognito调用SNS时,权限策略的Resource字段必须匹配精确的SNS主题ARN,前缀通配符(如arn:aws:sns:<region>:<account-id>:*)无法被Cognito的权限校验逻辑识别——哪怕这个通配符理论上包含目标主题,也会触发权限不足的报错。
解决步骤
获取精确的SNS主题ARN
登录AWS控制台,找到你为Cognito配置的SNS主题,复制其完整ARN(格式为arn:aws:sns:<region>:<12位账号ID>:<主题名称>)。更新IAM策略的Resource字段
将策略里的通配符或模糊ARN替换为上述精确ARN。示例策略如下:{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "sns:Publish", "Resource": "arn:aws:sns:us-east-1:123456789012:cognito-user-notifications" } ] }排查额外潜在问题
- 确认ARN中的区域、账号ID和主题名称完全正确,无拼写或格式错误;
- 检查角色的信任关系,确保已允许
cognito-idp.amazonaws.com扮演该角色:{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "cognito-idp.amazonaws.com" }, "Action": "sts:AssumeRole" } ] } - 用IAM控制台的策略验证工具检查策略语法是否合规,避免符号错误或格式问题。
内容的提问来源于stack exchange,提问作者Haseeb
相关产品推荐
相关产品推荐

