Terraform GCP vm实例创建 - 错误403

时间:2018-04-14 17:57:41

标签: google-cloud-platform terraform terraform-provider-gcp

这是我第一次尝试通过terraform在GCP上创建VM。这是我创建的2个文件。

provider.tf

main_widget = Builder.load_string('''
#:import NoTransition kivy.uix.screenmanager.NoTransition
#:import GoogleAnalytics classes.GoogleAnalytics.GoogleAnalytics
#:import MyScreenManager screens.MyScreenManager.MyScreenManager
#:import HomeScreen screens.HomeScreen.HomeScreen
#:import ClientsScreen screens.ClientsScreen.ClientsScreen
#:import resource_path classes.OtherFunctions.resource_path
""")

compute.tf

provider "google" {
credentials = "${file("xxxxxx.json")}"
project = "project-1-200623"
region = "us-central1"
}

itally我认为vm图像的一些语法问题,但即使在更改为多个其他相同问题之后。服务帐户拥有项目的所有者权限,以便我可以排除。有人可以帮我吗...

感谢帮助!

3 个答案:

答案 0 :(得分:1)

Terraform 需要组织管理员权限

这是添加此权限的步骤:

  1. 以 Google Workspace 或 Cloud Identity 超级管理员身份登录 Google Cloud Console,然后导航到 IAM 和管理页面: go to the admin page

2.选择您要编辑的组织:

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

b.选择来源对话框中,单击组织下拉列表,然后选择要为其添加组织管理员的组织。

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

  1. 点击添加,然后输入一位或多位用户的电子邮件地址 您想设置为组织管理员。

4.在选择角色下拉列表中,选择资源经理>组织管理员,然后点击保存。 >

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

  • 完全控制组织。职责分离 Google Workspace 或 Cloud Identity 超级管理员与 Google Cloud 管理员已建立。

  • 通过分配
    来委派关键职能的责任 相关的 IAM 角色。

我建议您创建一个不同的服务帐户以将您的项目分开,您可以查看如何创建您的服务帐户here

答案 1 :(得分:0)

我和Paula在一起。仔细检查提供商凭据。这段代码没有错。

答案 2 :(得分:0)

面临同样的问题。我分配了以下角色,它起作用了。 计算管理员,计算实例管理员,服务帐户,服务帐户管理员