Google cloud platform Terraform GCP vm实例创建-错误403
这是我第一次尝试通过terraform在GCP上创建VM。下面是我创建的两个文件 provider.tfGoogle 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" {
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或云身份超级管理员和 谷歌云管理员已经建立
- 通过分配
相关IAM角色
我建议您创建一个不同的服务帐户以保持项目的独立性,您可以检查如何创建您的服务帐户您的用户对此项目具有哪些IAM角色?之前的编辑器角色更改为项目所有者仍然是相同的结果。在这种情况下,是否为项目启用了必要的API?您可以使用terraform进行此操作,也可以使用控制台进行试验,以首先查看。嗨,亨利,谢谢您的输入。compute、network和IAM很少启用其他API,也很少使用其他API。不确定是否有任何具体要求。您是否有可能找到适合您的特定代码?能否共享:gcloud services list的输出,并确认提供商身份与您所说的拥有所有者权限的用户相同?