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

AWS跨账户S3存储桶跨身份上传对象访问403错误原因咨询

跨账户S3桶403访问错误的核心原因

1. 底层规则:S3对象所有权的默认逻辑

S3的对象所有权和桶所有权是相互独立的权限维度:默认配置下,跨账户上传的对象,所有权归属于上传者所属的AWS账户,而非桶所在的AWS账户。
你的场景中,用户B属于账户B,他向账户A的桶上传对象时没有附加特殊ACL,因此所有上传对象的所有者为账户B,不属于桶所属的账户A。

2. 403错误的触发逻辑

你遇到的访问被拒完全符合AWS IAM和S3的权限校验规则,核心原因如下:

  • 账户A配置的S3桶策略属于桶所属账户(账户A)的资源策略,仅能对账户A拥有所有权的对象生效,无权授予任何主体访问账户B所有的对象的权限。
  • 你已经禁用了公共ACL,因此对象层面也无法通过公共配置开放访问权限,全球用户自然无法访问账户B所有的对象。
  • 用户A属于账户A,没有得到对象所有者(账户B)的访问授权,因此访问账户B所有的对象时也会触发403错误。

3. 为什么用户A上传的对象可以正常访问

用户A属于桶所属的账户A,他上传的对象默认所有权归账户A所有,完全受账户A配置的桶策略管控,因此桶策略中配置的公共GetObject、账户A身份的访问权限都会正常生效。

可选修复方案

如果要避免该问题,可选择两种配置:

  • 跨账户上传对象时,指定bucket-owner-full-control的预置ACL,上传后对象所有权会自动转移给桶所属账户
  • 在桶配置中开启对象所有权强制归属桶所有者的设置,开启后该桶内所有对象不管上传者身份,所有权统一归属桶所属账户,完全适配现有桶策略规则。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.18 22:45:03