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

跨AWS账号权限问询:Account A Lambda生成的STS凭证能否访问Account C的S3桶?

结论:Account A的Lambda生成的临时凭证有权限访问Account C的S3存储桶,下面是具体的权限链分析:

1. 角色扮演的信任前提已成立

Role_Account_B的信任关系明确包含了Account A,这意味着Account A中的Lambda函数完全符合扮演该角色的条件——调用sts:AssumeRole生成临时凭证的操作是合法的,这是整个流程的基础。

2. 临时凭证的权限范围覆盖目标桶

临时会话凭证的有效权限是角色本身的权限策略与AssumeRole时传入的inline policy的交集:

  • Role_Account_B的权限策略允许所有S3操作(s3:*),且资源范围是所有资源(*);
  • 你在代码中传入的inline policy指定了目标桶arn:aws:s3:::my_bucket;
    两者结合后,临时凭证拥有对该桶的完整S3操作权限(至少覆盖了桶策略允许的Get*操作)。

3. Account C的桶策略认可该角色会话

Account C的桶策略将Principal设置为Role_Account_B的ARN,而AWS会把通过AssumeRole生成的临时会话视为该角色的"身份延伸"——也就是说,桶策略中对角色的授权会自动应用到该角色的所有临时会话上。再加上Account B和C已经完成了互信配置,跨账号的权限传递没有任何障碍。

小补充:实际可执行的操作限制

虽然Role_Account_B允许所有S3操作,但Account C的桶策略只授权了Get*类操作(比如GetObject、GetBucketLocation等),所以最终临时凭证能执行的是这两者的交集——也就是桶策略允许的Get类S3操作,而非全部S3操作,这是AWS权限模型的最小权限原则决定的。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.08 15:17:26