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

使用GCS存储桶作为Terraform远程状态后端遇403权限问题求助

Terraform GCS远程状态后端403权限问题解决

问题背景

使用Terraform GCS远程状态后端时遭遇403权限错误,相关配置代码如下:

terraform {
  backend "gcs" {
    bucket = "bucket-terraform_tfstate"
    prefix = "terraform/state"
  }
}

报错信息:

Error: Failed to get existing workspaces: querying Cloud Storage failed: googleapi: Error 403: user@xxx does not have serviceusage.services.use access to the Google Cloud project., forbidden

异常特征:所有客户及项目均出现该问题,通过gsutil list可正常访问存储桶,角色权限配置无误;此前可正常运行的旧项目也触发相同报错,切换至本地状态则无异常。

排查与解决步骤

  • 检查Service Usage API启用状态
    Terraform GCS后端在交互时会调用Service Usage API验证项目状态,即便存储桶权限配置正确,若该API未启用仍会触发此错误。
    执行以下命令检查API状态:

    gcloud services list --enabled --project 你的项目ID
    

    若未找到serviceusage.googleapis.com,则启用该API:

    gcloud services enable serviceusage.googleapis.com --project 你的项目ID
    
  • 核对Terraform使用的身份凭证
    确认Terraform与gsutil使用的是否为同一身份凭证:

    • 查看环境变量GOOGLE_APPLICATION_CREDENTIALS是否指向了特定服务账号密钥文件,导致与gsutil默认凭证不一致
    • 运行gcloud auth application-default print-access-token,验证当前默认应用凭证对应的账号是否具备serviceusage.services.use权限
  • 确认权限配置与生效情况
    确保相关账号已被授予Service Usage Consumer角色(roles/serviceusage.serviceConsumer),该角色包含serviceusage.services.use权限。若刚配置权限,需等待数分钟让权限生效,同时排查是否有组织级政策限制了Service Usage API的调用。

  • 检查Terraform版本兼容性
    部分旧版本Terraform的GCS后端可能对Service Usage API的依赖逻辑有变更,尝试升级至最新稳定版,或回退到之前可正常运行的版本,排查是否为版本引入的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 15:30:55