AWS IAM用户无法获得SNS ConfirmSubscription操作授权问题求助
问题根因
错误信息已明确提示权限拦截来源:IAM权限边界(Permissions Boundary)未放行SNS:ConfirmSubscription操作。
IAM权限边界是独立于用户/组附加策略的权限管控机制,定义了IAM实体可获得的最大权限范围。即便你为用户附加了SNS全权限策略,只要权限边界中没有允许对应操作,请求就会被拒绝。
解决步骤
1. 调整IAM权限边界配置
- 登录AWS控制台,进入IAM服务,打开目标IAM用户的详情页
- 找到「权限边界」配置栏,确认是否附加了边界策略
- 两种修复方案二选一:
- 方案1(推荐):修改权限边界策略,添加对应操作的放行规则,示例如下:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "sns:ConfirmSubscription", "Resource": "arn:aws:sns:us-east-2:12345678912:topic_name" } ] }- 方案2:如果不需要权限边界管控,直接解绑该用户关联的权限边界策略即可。
2. 修复SNS Topic访问策略语法错误
你当前的Topic访问策略存在语法问题,会导致S3发布事件权限不生效,修正后配置如下:
{ "Version": "2008-10-17", "Statement": [ { "Effect": "Allow", "Principal": "*", "Action": "sns:Publish", "Resource": "arn:aws:sns:us-east-2:12345678912:topic_name", "Condition": { "StringEquals": { "AWS:SourceAccount": "12345678912" }, "ArnLike": { "AWS:SourceArn": "arn:aws:s3:*:*:*" } } } ] }
注意:ConfirmSubscription属于身份侧权限管控操作,同账号场景下不需要在Topic访问策略中额外放行。
3. 生效验证
修改完成后等待1~2分钟让权限同步,再重新触发订阅确认流程即可正常执行。
内容的提问来源于stack exchange,提问作者Randy Burgess
相关产品推荐
相关产品推荐

