这是我第一次尝试通过terraform在GCP上创建VM。这是我创建的两个文件。
provider.tf
provider "google" {
credentials = "${file("xxxxxx.json")}"
project = "project-1-200623"
region = "us-central1"
}compute.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镜像存在一些语法问题,但即使在切换到多个其他镜像之后,也会出现同样的问题。服务帐户具有项目所有者权限,因此我可以排除这一点。有人能帮帮我吗..
感谢您的帮助!
发布于 2021-04-27 08:20:07
Terraform需要组织管理员权限
添加该权限的步骤如下:
以谷歌工作区或云身份超级管理员身份登录到谷歌云控制台,然后导航到&
2.选择要编辑的组织:
a.单击页面顶部的项目下拉列表。
b.在“从选择组织”对话框中,单击“组织”下拉列表,然后选择要向其添加组织管理员的组织。
c.在显示的列表中,单击组织以打开其IAM Permissions页面。
的一个或多个用户的电子邮件地址
4.在“选择角色管理器”下拉列表中,选择“资源管理器”>“组织管理员”,然后单击“保存”。
组织管理员可以执行以下操作:
相关IAM角色。
我建议您创建一个不同的服务帐户以保持您的项目独立,您可以检查如何创建您的服务帐户here
发布于 2018-04-19 06:42:12
我和宝拉在一起。仔细检查您的提供者凭据。这段代码没有任何问题。
发布于 2020-07-27 21:27:22
面临着同样的问题。我分配了以下角色,它起作用了。计算管理员、计算实例管理员、服务帐户、服务帐户管理员
https://stackoverflow.com/questions/49834506
复制相似问题