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

为GCE实例授权访问Secret Manager单个秘钥遇403权限问题

GCE实例访问Secret Manager单个秘钥时403权限问题

问题说明

我需要给指定GCE实例授予访问Secret Manager中单个秘钥的权限(而非所有秘钥),通过Terraform为GCE实例使用的服务账号配置了IAM绑定,且GCE实例的服务账号已设置cloud-platform范围,但在实例内通过curl获取秘钥版本时返回403权限拒绝错误。

Terraform配置详情

Secret Manager IAM绑定配置

resource "google_secret_manager_secret_iam_binding" "secret_iam_binding" {
  project   = <my project>
  # 我也尝试过使用 google_secret_manager_secret.<my secret>.secret_id,结果无变化
  secret_id = google_secret_manager_secret.<my secret>.name
  role      = "roles/secretmanager.secretAccessor"
  members   = [
    "serviceAccount:${<GCE实例使用的服务账号>.email}"
  ]
}

GCE实例服务账号配置

service_account {
    email = <GCE实例使用的服务账号>.email
    scopes = ["cloud-platform"]
  }

实例内测试步骤(基于Container OS)

  • 验证服务账号正确性:正常返回目标服务账号邮箱
curl -s "http://metadata.google.internal/computeMetadata/v1/instance/service-accounts/default/email" -H "Metadata-Flavor: Google"
  • 获取访问令牌:正常获取有效Token
TOKEN=$(curl -s "http://metadata.google.internal/computeMetadata/v1/instance/service-accounts/default/token" -H "Metadata-Flavor: Google" | jq -r .access_token)
  • 获取秘钥版本失败,返回403错误
curl -s "https://secretmanager.googleapis.com/v1/projects/<我的项目ID>/secrets/<我的秘钥名称>/versions/latest" -H "Authorization: Bearer $TOKEN" | jq -r .payload.data | base64 -d

错误信息

{
  "error": {
    "code": 403,
    "message": "Permission 'secretmanager.versions.get' denied for resource 'projects/<我的项目ID>/secrets/<我的秘钥名称>/versions/latest' (or it may not exist).",
    "status": "PERMISSION_DENIED"
  }
}

额外验证结果

在GCE实例外执行命令查看秘钥的IAM策略,输出符合预期,服务账号已绑定roles/secretmanager.secretAccessor角色:

gcloud secrets get-iam-policy <我的秘钥ID> --project <我的项目ID>

输出内容:

bindings:
- members:
  - serviceAccount:<我的服务账号名称>@<我的项目ID>.iam.gserviceaccount.com
  role: roles/secretmanager.secretAccessor
etag: BwX8DrYyZtw=
version: 1

我推测是服务账号权限不足,但不清楚具体缺少哪项权限。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 03:28:12