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

调用AWS SNS Subscribe接口遇AuthorizationErrorException授权错误求助

解决AWS SNS Subscribe接口的AuthorizationErrorException授权问题

这个错误提示已经把问题说得很直白了:你的IAM用户 arn:aws:iam::904851140766:user/xxxxx 没有被授予对目标SNS主题 arn:aws:sns:us-east-1:141796722983 执行 SNS:Subscribe 操作的权限。下面是具体的解决步骤:

1. 创建最小权限的IAM策略

首先需要编写一个IAM权限策略,明确允许该用户对指定SNS主题执行订阅操作。你可以使用以下JSON策略模板(记得替换成你的目标主题ARN):

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "sns:Subscribe",
            "Resource": "arn:aws:sns:us-east-1:141796722983"
        }
    ]
}

如果你需要让这个用户能订阅多个同账号下的主题,可以把Resource改成通配符(比如arn:aws:sns:us-east-1:141796722983:*),但推荐遵循最小权限原则,只授予必要的资源权限,避免过度授权。

2. 将策略关联到你的IAM用户

登录AWS控制台后,按以下步骤操作:

  • 进入IAM服务,在左侧导航栏选择「用户」
  • 找到你的目标用户 xxxxx,进入用户详情页
  • 切换到「权限」标签页,点击「添加权限」→「附加现有策略直接」
  • 选择你刚才创建的自定义策略,完成关联

3. 验证权限并测试

IAM权限可能会有几分钟的缓存延迟,等待片刻后重新运行你的代码即可。如果还是有问题,可以:

  • 检查策略中的Resource是否和你代码里的topic_arn完全一致(包括区域、账号ID和主题名称)
  • 确认用户没有被其他带Deny规则的策略覆盖权限
  • 使用IAM控制台的「权限模拟」功能,测试该用户是否能执行sns:Subscribe操作

你的代码本身逻辑没有问题,核心问题就是IAM权限的缺失,按照上面的步骤配置后应该就能解决这个授权错误了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 08:09:08