【发布时间】:2018-09-24 20:19:48
【问题描述】:
这是我第一次尝试通过 terraform 在 GCP 上创建 VM。这是我创建的 2 个文件。
provider.tf
provider "google" {
credentials = "${file("xxxxxx.json")}"
project = "project-1-200623"
region = "us-central1"
}
计算.tf
# Create a new instance
resource "google_compute_instance" "default" {
name = "test"
machine_type = "n1-standard-1"
zone = "us-central1-a"
boot_disk {
initialize_params {
image = "debian-cloud/debian-8"
}
}
network_interface {
network = "default"
access_config {}
}
service_account {
scopes = ["userinfo-email", "compute-ro", "storage-ro"]
}
}
I am getting below error:
Error: Error applying plan:
1 error(s) occurred:
* google_compute_instance.default: 1 error(s) occurred:
* google_compute_instance.default: Error loading zone 'us-central1-a': googleapi: Error 403: Required 'compute.zones.get' permission for 'projects/project-1-200623/zones/us-central1-a', forbidden.
In
最初我认为 vm 映像存在一些语法问题,但即使在更改为多个其他相同问题之后也是如此。服务帐户对项目具有所有者权限,因此我可以排除。有人可以在这里帮助我吗..
感谢您的帮助!
【问题讨论】:
-
您的用户对此项目有哪些 IAM 角色?
-
之前的编辑角色,但更改为项目所有者仍然是相同的结果。
-
在这种情况下,是否为项目启用了必要的api?您可以使用 terraform terraform.io/docs/providers/google/r/… 执行此操作,或者先尝试使用控制台进行查看。
-
您好亨利,感谢您的意见。计算、网络和 IAM 很少有其他 api 被启用,还有其他一些。不确定是否有任何具体要求。你有没有机会为你工作的具体代码?
-
您能否分享来自:gcloud services 列表的输出并确认提供者身份与您所说的拥有所有者权限的用户相同?
标签: google-cloud-platform terraform terraform-provider-gcp