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

S3存储桶策略配置报错求助:sns:Publish动作与ARN不被支持

问题解决:S3桶策略配置SNS通知报错

错误根源

你在S3桶策略里添加了sns:Publish操作和SNS主题ARN,这是错误的:

  • S3桶策略属于资源型策略,仅用于控制对当前S3桶/对象的访问权限,无法授权其他AWS服务(如SNS)的操作
  • S3桶策略的资源字段只能指定当前S3桶或其对象的ARN,不能填写其他服务的资源ARN

正确配置步骤

1. 删除S3桶策略中的错误语句

直接移除你添加的那段包含sns:Publish的策略内容,它不属于S3桶策略的管辖范围。

2. 给S3事件触发角色添加IAM权限

找到配置S3事件通知时使用的角色(arn:aws:iam::123456789:role/CdkTestStack-myresource-s3),给它附加以下IAM权限策略,允许其向目标SNS主题发送消息:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "sns:Publish",
            "Resource": "arn:aws:sns:us-west-1:987654321:sns-topic-name"
        }
    ]
}

注意:SNS主题ARN不要加/*,sns:Publish操作的目标是主题本身,而非子资源

3. 给SNS主题添加资源策略

在目标SNS主题的配置中,添加以下资源策略,允许上述S3角色向其发布消息:

{
    "Version": "2008-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::123456789:role/CdkTestStack-myresource-s3"
            },
            "Action": "sns:Publish",
            "Resource": "arn:aws:sns:us-west-1:987654321:sns-topic-name"
        }
    ]
}

4. 额外检查项

  • 确认S3事件通知的触发条件已设置为对象标签添加/更新(对应事件类型:s3:ObjectTagging:Put)
  • 确认SNS主题的邮箱订阅已完成(需要点击订阅邮件中的确认链接)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 11:00:08