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

AWS Secrets Manager资源策略配置:仅允许根账号访问GetValue

AWS Secrets Manager资源策略配置方案(仅允许根账号执行GetValue)

核心权限逻辑说明

AWS权限评估遵循默认拒绝原则:所有请求初始状态为拒绝,只有当存在显式的Allow规则(身份策略或资源策略)且无优先级更高的Deny规则时,请求才会被允许。这也是AWS示例仅提供Allow策略的原因——只要显式授权目标主体,其他未被授权的请求会自动被默认拒绝。

针对你的场景的两种策略配置

根据DevOps用户的身份策略情况,选择对应配置:

场景1:DevOps用户的身份策略未授予secretsmanager:GetValue权限

只需显式允许根账号访问即可,其他请求因默认拒绝无法执行:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "AWS": "arn:aws:iam::123456789012:root"
      },
      "Action": "secretsmanager:GetValue",
      "Resource": "*"
    }
  ]
}

场景2:DevOps用户的身份策略已授予secretsmanager:GetValue权限

此时需要显式拒绝DevOps用户的请求(Deny规则优先级高于Allow),同时保留根账号的授权:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "AWS": "arn:aws:iam::123456789012:root"
      },
      "Action": "secretsmanager:GetValue",
      "Resource": "*"
    },
    {
      "Effect": "Deny",
      "Principal": {
        "AWS": [
          "arn:aws:iam::123456789012:user/devops-user1",
          "arn:aws:iam::123456789012:user/devops-user2"
        ]
      },
      "Action": "secretsmanager:GetValue",
      "Resource": "*"
    }
  ]
}

你之前配置失效的常见原因

  • 未显式Allow根账号:仅配置Deny规则(如NotPrincipal结合Deny)会导致根账号也因默认拒绝无法访问,必须添加针对根的Allow规则。
  • 错误使用aws:SourceArn:该条件用于标识触发请求的资源ARN(如Lambda、ECS任务),而非请求发起者的用户ARN,应直接通过Principal指定用户/根账号。
  • NotPrincipal策略逻辑错误:若使用Deny + NotPrincipal,需确保根账号有对应的Allow规则,否则根请求会因默认拒绝失败。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 17:53:18