计划错误:尚未使用 Cloud Resource Manager API

abe*_*ier 8 google-cloud-platform terraform devops terraform-provider-gcp google-cloud-build

当我尝试跑步时

steps:
- id: Plan Terraform
  name: hashicorp/terraform:light
  args:
  - plan
Run Code Online (Sandbox Code Playgroud)

在 Cloud Build 中,我收到错误:

Error: Error reading Project Service foo/cloudbuild.googleapis.com: googleapi: Error 403: Cloud Resource Manager API has not been used in project 123456789 before or it is disabled. Enable it by visiting https://console.developers.google.com/apis/api/cloudresourcemanager.googleapis.com/overview?project=123456789 then retry. If you enabled this API recently, wait a few minutes for the action to propagate to our systems and retry., accessNotConfigured
Run Code Online (Sandbox Code Playgroud)

由于相同的 terraform 定义正在我的本地计算机上运行,​​我认为错误消息有点误导,它实际上是一个凭据问题。

根据 Google Cloud 文档,我应用了以下内容:

resource "google_project_iam_binding" "cloudbuild" {
  project = "bar"
  role    = "roles/editor"
  members = [
    "serviceAccount:987654321@cloudbuild.gserviceaccount.com"
  ]
}
Run Code Online (Sandbox Code Playgroud)

但该错误仍然存​​在。知道这里可能存在什么问题/解决方案吗?

abe*_*ier 5

必须手动启用云资源管理器 API服务使用 API才能使 Terraform 正常工作。

但不知道为什么它可以通过我的本地机器工作。因此,这对我来说仍然没有完全理解/解决。

我的猜测是,也许在本地它使用 gcloud 来访问这些东西,并以另一种方式获取数据?

或者也许用户帐户与服务帐户有不同的限制?