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

AWS多账号S3跨账号权限配置异常问题咨询

AWS多账号S3权限场景全解析

咱们来一步步拆解你遇到的这个多账号S3权限配置场景,帮你理清背后的逻辑:

1. 初始配置阶段:IB上传,三用户均可读取

  • 账号B下的S3B存储桶,当IB(账号B的IAM用户)上传文件时,IA(账号A)、IB、IC(账号C)都能读取文件。
    这时候的权限逻辑大概率是:要么S3B的桶策略里明确允许了这三个跨账号IAM用户拥有s3:GetObject权限;要么桶的默认ACL设置为允许这三个用户读取,IB上传文件时直接继承了桶的权限配置。

2. 第二阶段:开放IA、IC上传权限,但仅上传者可读

  • 你配置后允许IA和IC跨账号向S3B上传文件,但此时只有上传文件的用户自己能读取。
    这个变化的核心点在于:你给IA和IC添加了s3:PutObject的跨账号上传权限(通过桶策略或者IAM授权),但上传的对象默认采用私有ACL规则——也就是只有对象的所有者(上传的IA/IC)拥有该对象的全部权限,其他用户(包括IB、另一个账号的用户)都没有读取权限,除非额外配置授权。

3. 第三阶段:强制给IB授权,但IA、IC仍无法互读

  • 你添加限制要求IA和IC上传时必须授予IB读取权限,完成授权后,IA和IC还是不能互相读取对方上传的文件。
    这完全符合S3的权限逻辑,原因如下:
    • 你只是强制要求上传者给IB加读取权限,但并没有配置让IA和IC互相拥有读取对方上传对象的权限;
    • 跨账号S3权限的核心是双向授权:如果IA要读取IC上传到S3B的文件,必须同时满足两个条件:
      • IC上传该文件时,通过对象ACL给IA设置了读取权限;
      • S3B的桶策略明确允许IA对该对象执行s3:GetObject操作;
    • 目前你只覆盖了给IB的授权,没有涉及IA和IC之间的互相授权规则,所以他们自然看不到对方的文件。

补充:如果要让IA和IC能互读对方文件,你可以这么做

  • 方案一:在S3B的桶策略中添加规则,允许账号A的IA和账号C的IC互相读取桶内所有对象;
  • 方案二:强制要求IA和IC上传文件时,不仅给IB添加读取权限,还要通过对象ACL或者上传参数给对方的用户也加上读取权限。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 10:52:22