首页 > 解决方案 > 无法使用 Terraform 创建谷歌项目

问题描述

我正在使用 terraform 教程关注 Google GKE 和 SQL但我无法创建google_project.project。我已经尝试过作为项目的所有者和教程中描述的服务。两次尝试都以此错误结束:

Error: Error applying plan:

1 error(s) occurred:

* google_project.project: 1 error(s) occurred:

* google_project.project: error creating project terraform-dev-357aa670 
 (terraform-dev): googleapi: Error 403: User is not authorized., forbidden. 
  If you received a 403 error, make sure 
  you have the `roles/resourcemanager.projectCreator` permission

我认为我作为项目所有者拥有正确的权限,但显然不是。

以下是我创建服务帐户的方式:

$ gcloud organizations add-iam-policy-binding ${TF_VAR_org_id} \                                (gke_my-domain-218910_europe-west1-b_my-domain-vpc-native/default)
> --member serviceAccount:terraform@${TF_ADMIN}.iam.gserviceaccount.com \
> --role roles/resourcemanager.projectCreator
Updated IAM policy for organization [00000].
bindings:
- members:
  - domain:my-domain.no
  role: roles/billing.creator
- members:
  - serviceAccount:terraform@my-domain-terraform-admin-3.iam.gserviceaccount.com
  - serviceAccount:terraform@my-domain-terraform-admin.iam.gserviceaccount.com
  role: roles/billing.user
- members:
  - domain:min-familie.no
  - serviceAccount:terraform@my-domain-terraform-admin-3.iam.gserviceaccount.com
  - serviceAccount:terraform@my-domain-terraform-admin.iam.gserviceaccount.com
  role: roles/resourcemanager.projectCreator
etag: BwWJxJTDnQs=
version: 19d

“手动”创建项目有效。 $ gcloud projects create ${TF_ADMIN}.

有什么想法可能是错的吗?

标签: google-cloud-platformterraform

解决方案


我有完全相同的问题!

为我解决此问题的步骤:

  1. 将该服务帐户的密钥(使用 GCP 控制台)下载到:/Users/johndoe/sa.json

  2. 导出 GOOGLE_APPLICATION_CREDENTIALS=/Users/johndoe/factory.json

  3. 地形应用

希望这对你有用。

在这里找到赛斯法戈的解决方案: https ://github.com/sethvargo/vault-on-gke/issues/16


推荐阅读