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

AWS账户内所有Lambda访问Secrets Manager密钥遇权限问题求解

问题

我希望AWS账户中拥有不同角色的所有Lambda函数都能访问某一Secrets Manager密钥。由于Lambda数量众多,不想给每个Lambda附加身份策略,转而尝试给该密钥添加资源策略,具体策略如下:

{
  "Version" : "2012-10-17",
  "Statement" : [ {
    "Effect" : "Allow",
    "Principal" : {
      "Service" : "lambda.amazonaws.com"
    },
    "Action" : "secretsmanager:GetSecretValue",
    "Resource" : "arn:aws:secretsmanager:us-east-1:{AWS_ACCOUNT_ID}:secret:dummy-secret-46DfjO",
    "Condition" : {
      "StringEquals" : {
        "aws:sourceAccount" : "{AWS_ACCOUNT_ID}"
      }
    }
  } ]
}

预期该策略允许账户内所有Lambda读取密钥,但仍收到如下错误:

ERROR | Error while trying to read an API Key from Secrets Manager: Secrets Manager read error: AccessDeniedException: User: arn:aws:sts::AWS_ACCOUNT_ID:assumed-role/dummy-role-name is not authorized to perform: secretsmanager:GetSecretValue on resource: arn:aws:secretsmanager:us-east-1:AWS_ACCOUNT_ID:secret:dummy-secret-46DfjO because no identity-based policy allows the secretsmanager:GetSecretValue action

解决方案

你的资源策略存在两个核心问题:

  • 主体(Principal)设置错误:Lambda执行请求时,实际使用的是Lambda角色的STS临时身份(即arn:aws:sts::...:assumed-role/...),而非lambda.amazonaws.com服务主体。将Service作为Principal无法匹配到实际发起请求的身份。
  • 条件键限制不足:仅用aws:sourceAccount无法精准锁定本账户的Lambda请求,需要补充条件键来验证请求来源的身份属性。

修改后的资源策略示例:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": "*",
      "Action": "secretsmanager:GetSecretValue",
      "Resource": "arn:aws:secretsmanager:us-east-1:{AWS_ACCOUNT_ID}:secret:dummy-secret-46DfjO",
      "Condition": {
        "StringEquals": {
          "aws:PrincipalAccount": "{AWS_ACCOUNT_ID}",
          "aws:SourceArn": "arn:aws:lambda:us-east-1:{AWS_ACCOUNT_ID}:function:*"
        }
      }
    }
  ]
}

关键说明:

  1. 使用Principal: "*"配合条件限制,避免因主体不匹配导致的权限失效
  2. aws:PrincipalAccount确保请求发起者属于目标AWS账户
  3. aws:SourceArn限定请求仅来自本账户内的任意Lambda函数(*匹配所有Lambda资源)

额外注意:需确保Lambda的执行角色没有明确拒绝secretsmanager:GetSecretValue权限,同时账户级别的服务控制策略(SCP)未阻止该操作。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 17:16:10