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

如何扩展SQS队列默认策略且不破坏归属账户权限

解决SQS队列添加自定义权限不破坏归属账户访问的方法

核心逻辑

SQS队列默认没有资源策略,归属账户的访问权限来自于IAM身份策略(比如账户root用户默认拥有全权限,或该账户下的IAM实体配置了对应SQS权限)。但为了避免添加自定义策略后意外限制归属账户的访问,最安全的方式是在自定义策略中显式保留归属账户的完全访问权限。

具体操作步骤

  1. 获取队列归属账户ID:从队列ARN中提取,ARN格式为arn:aws:sqs:区域ID:归属账户ID:队列名称,其中的数字串就是归属账户ID。
  2. 构造包含双语句的资源策略:将归属账户的全权限语句和目标账户的发消息语句合并,示例如下:
{
   "Version": "2012-10-17",
   "Id": "Queue_Custom_Policy",
   "Statement": [
      {
         "Sid": "Allow_Owner_Full_Access",
         "Effect": "Allow",
         "Principal": { "AWS": ["归属账户ID"] },
         "Action": "sqs:*",
         "Resource": "队列的完整ARN"
      },
      {
         "Sid": "Allow_External_Account_SendMessage",
         "Effect": "Allow",
         "Principal": { "AWS": ["111122223333"] },
         "Action": "sqs:SendMessage",
         "Resource": "队列的完整ARN"
      }
   ]
}
  1. 应用策略到队列:通过AWS控制台、CLI或SDK将上述策略设置为队列的资源策略。

关键说明

  • 显式添加归属账户的全权限语句,能确保无论IAM身份策略如何变化,归属账户都能正常访问队列,不会破坏现有功能。
  • 替换策略中的归属账户ID和队列的完整ARN为实际值,确保策略生效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 08:29:55