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

CloudFormation角色链跨账号无法执行GetSecretValue权限问题

解决跨账号CloudFormation动态引用SecretsManager密钥的权限问题

问题根因

CloudFormation的{{resolve:secretsmanager:...}}动态引用机制不会自动触发你配置的角色链(blue_green_role → cross-account-read-secret-role)。它会直接以CloudFormation扮演的blue_green_role身份(即arn:aws:sts::YYYYYYYYYYYY:assumed-role/blue_green_role/AWSCloudFormation)发起SecretsManager请求,而这个身份未被授权访问central_secrets_account中的密钥,因此触发权限报错。

解决方法

方法1:给目标密钥添加资源策略(最直接)

直接在central_secrets_account的目标密钥上配置资源策略,允许blue_green_account的CloudFormation扮演角色读取密钥:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "AWS": "arn:aws:sts::YYYYYYYYYYYY:assumed-role/blue_green_role/AWSCloudFormation"
      },
      "Action": "secretsmanager:GetSecretValue",
      "Resource": "arn:aws:secretsmanager:eu-west-2:XXXXXXXXXXXX:secret:secret_name_zzzzzz"
    }
  ]
}

建议将Resource限制为具体密钥ARN,最小化权限范围。

方法2:改用Lambda自定义资源实现角色链访问

如果必须保留角色链逻辑,放弃动态引用,改用Lambda-backed自定义资源拉取密钥:

  • 在blue_green_account创建Lambda函数,权限策略允许它调用sts:AssumeRole获取cross-account-read-secret-role的临时凭证
  • Lambda核心逻辑:
    1. 调用sts:AssumeRole,传入角色ARN arn:aws:iam::XXXXXXXXXXXX:role/cross-account-read-secret-role
    2. 使用返回的临时凭证调用secretsmanager:GetSecretValue获取密钥内容
    3. 将密钥结果返回给CloudFormation
  • 在CloudFormation模板中通过自定义资源节点引用该Lambda,获取密钥值

方法3:修正角色链权限配置(适用于非动态引用场景)

若后续有其他操作需要走角色链,检查以下配置是否正确:

  1. blue_green_role的权限策略:确保包含扮演跨账号角色的权限:
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "sts:AssumeRole",
      "Resource": "arn:aws:iam::XXXXXXXXXXXX:role/cross-account-read-secret-role"
    }
  ]
}
  1. cross-account-read-secret-role的信任策略:确保信任blue_green_role本身(无需包含assumed-role身份):
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "AWS": "arn:aws:iam::YYYYYYYYYYYY:role/blue_green_role"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

总结

优先采用方法1,因为动态引用不支持角色链,直接给密钥添加资源策略是最简便的解决方案。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 12:52:55