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

为SNS主题配置外部AWS账户访问权限:两种Principal写法是否等效?

SNS主题策略中两种Principal写法的等效性确认

结论:这两种Principal写法完全等效

你通过CDK生成的策略中,Principal使用了账户根用户ARN:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "0",
      "Effect": "Allow",
      "Principal": {
        "AWS": "arn:aws:iam::123456789:root"
      },
      "Action": [
        "sns:Subscribe",
        "sns:Publish"
      ],
      "Resource": "arn:aws:sns:eu-west-1:987654321:NotificationSNS"
    }
  ]
}

而AWS文档示例中直接使用了账户ID:

{
  "Id": "Policy_ID",
  "Statement": [
    {
      "Sid": "AWSConfigSNSPolicy",
      "Action": [
        "sns:Publish"
      ],
      "Effect": "Allow",
      "Resource": "arn:aws:sns:region:account-id:myTopic",
      "Principal": {
        "AWS": [
          "account-id1",
          "account-id2",
          "account-id3"
        ]
      }
    }
  ]
}

两者的权限效果没有差异:

  • AWS在解析权限策略时,会将纯账户ID自动映射为对应账户的根用户ARN(arn:aws:iam::[account-id]:root)。
  • 两种写法都表示授予指定AWS账户下的所有IAM实体(包括IAM用户、角色、服务角色等)访问该SNS主题的权限。需要注意的是,这些实体自身仍需具备对应的IAM权限策略,允许他们执行sns:Subscribe或sns:Publish操作,才能实际访问主题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 20:30:57