无法使用 Terraform 创建谷歌项目
Posted
技术标签:
【中文标题】无法使用 Terraform 创建谷歌项目【英文标题】:Unable to create google project with Terraform 【发布时间】:2019-10-12 03:44:55 【问题描述】:我正在关注Google GKE and SQL with terraform 教程 但我无法创建 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
.
有什么想法可能是错的吗?
【问题讨论】:
也许可以尝试使用命令行中的 gcloud 命令创建一个项目,看看是否可以在不靠近 terraform 的情况下执行该任务...请参阅 cloud.google.com/sdk/gcloud/reference/projects/create 【参考方案1】:我遇到了完全相同的问题!
为我解决此问题的步骤:
将该服务帐户的密钥(使用 GCP 控制台)下载到:/Users/johndoe/sa.json
导出 GOOGLE_APPLICATION_CREDENTIALS=/Users/johndoe/factory.json
地形应用
希望这对你有用。
在这里找到了赛斯法戈的解决方案: https://github.com/sethvargo/vault-on-gke/issues/16
【讨论】:
以上是关于无法使用 Terraform 创建谷歌项目的主要内容,如果未能解决你的问题,请参考以下文章
为啥我使用 terraform 资源 aws_route53_record 创建的 Route53 记录无法公开解析?
Terraform 无法将创建的集成附加到 API 网关的路由中
Terraform无法使用静态S3网站端点创建CloudFront的原点
无法使用 localstack dynamoDB 锁定 terraform 状态:UnrecognizedClientException