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

跨账号配置疑问:从Account A的ECS任务发送消息至Account B的SQS

跨账号ECS任务向SQS发送消息的权限配置说明

核心结论

跨账号从ECS任务发送消息到SQS不是必须配置Assume Role,有两种可行方案,可根据权限管控需求选择:


方案一:无需Assume Role(和SNS跨账号逻辑一致)

这种方式配置简单,代码无需额外处理,和你熟悉的SNS跨账号到SQS的权限逻辑相同:

  • 在Account B的目标SQS队列上添加权限策略,允许Account A的ECS任务角色(或Account A根账号)执行sqs:SendMessage操作
  • 在Account A的ECS任务角色(任务运行时使用的IAM角色)的权限策略中,添加允许向Account B的目标SQS队列发送消息的权限(指定sqs:SendMessage动作,资源为目标SQS的ARN)
  • 代码里直接使用ECS任务默认的AWS凭证即可发送消息,不需要额外的角色切换逻辑

方案二:使用Assume Role(配合STS)

仅当有特殊权限管控需求时才需要用这种方式(比如Account B不想直接开放队列权限给Account A的固定角色,或需要临时权限):

  • 在Account B创建一个IAM角色,该角色的权限策略包含向目标SQS发送消息的权限
  • 给这个角色设置信任关系,允许Account A的ECS任务角色来扮演它
  • 在Account A的ECS任务角色中,添加允许执行sts:AssumeRole的权限,目标为Account B创建的角色ARN
  • 代码里需要通过STS调用AssumeRole获取临时凭证,用该凭证发送SQS消息(你提到的AWSSTSAssumeRoleWrapper就是用来封装这个角色切换逻辑的)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 03:22:05