Google cloud platform Terraform GCP vm实例创建-错误403

Google cloud platform Terraform GCP vm实例创建-错误403,google-cloud-platform,terraform,terraform-provider-gcp,Google Cloud Platform,Terraform,Terraform Provider Gcp,这是我第一次尝试通过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" {

这是我第一次尝试通过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映像存在一些语法问题,但即使在更改为多个其他映像之后,也存在相同的问题。服务帐户对项目具有所有者权限,因此我可以排除此情况。谁能帮我一下吗


谢谢你的帮助

我和宝拉在一起。仔细检查您的提供商凭据。这个代码没有问题

面临同样的问题。我分配了以下角色,效果很好。
计算管理员、计算实例管理员、服务帐户、服务帐户管理员

Terraform需要组织管理员权限

以下是添加此权限的步骤:

  • 以Google Workspace或Cloud Identity超级管理员的身份登录到Google Cloud Console,并导航到IAM&Admin页面:
  • 2.选择要编辑的组织:

    a。单击页面顶部的项目下拉列表

    b。在“从中选择”对话框中,单击“组织”下拉列表,然后选择要向其中添加组织管理员的组织

    c。在显示的列表中,单击组织以打开其IAM权限页面

  • 单击添加,然后输入一个或多个用户的电子邮件地址 您要设置为组织管理员
  • 4.在选择角色下拉列表中,选择资源管理器>组织管理员,然后单击保存

    组织管理员可以执行以下操作:

    • 完全控制组织。责任分离 Google Workspace或云身份超级管理员和 谷歌云管理员已经建立

    • 通过分配
      相关IAM角色


    我建议您创建一个不同的服务帐户以保持项目的独立性,您可以检查如何创建您的服务帐户

    您的用户对此项目具有哪些IAM角色?之前的编辑器角色更改为项目所有者仍然是相同的结果。在这种情况下,是否为项目启用了必要的API?您可以使用terraform进行此操作,也可以使用控制台进行试验,以首先查看。嗨,亨利,谢谢您的输入。compute、network和IAM很少启用其他API,也很少使用其他API。不确定是否有任何具体要求。您是否有可能找到适合您的特定代码?能否共享:gcloud services list的输出,并确认提供商身份与您所说的拥有所有者权限的用户相同?