尝试创建负载均衡器时,terraform 为 GCP 返回“invalid_grant”,并且我无法以所有者身份查看或编辑 SA 权限

Mic*_*elB 12 google-cloud-platform terraform google-iam terraform-provider-gcp gcp-load-balancer

我有一个全新的 GCP 帐户,我是该帐户的唯一所有者,这是一个个人/干净的全新项目。

\n

我专门使用 terraform 管理基础设施,并尝试创建一个 HTTPS 负载均衡器来将请求路由到固定 ip,然后我想将其转发到我有 web 应用程序的存储桶,我过去通过以下方式设置了这种类型的基础设施UI 但不是通过 terraform。

\n

当尝试创建这个基础设施时:

\n
resource "google_compute_global_address" "main" {\n  name = "main"\n}\n\nresource "google_compute_forwarding_rule" "lb" {\n  name                  = "lb"\n  provider              = google-beta\n  region                = "europe-west2"\n  project               = "owlee-software"\n  ip_protocol           = "TCP"\n  load_balancing_scheme = "EXTERNAL_MANAGED"\n  port_range            = "443"\n  target                = google_compute_global_address.main.address\n  network_tier          = "PREMIUM"\n}\n
Run Code Online (Sandbox Code Playgroud)\n

这会抛出

\n
\xe2\x94\x82 Response: {\n\xe2\x94\x82   "error": "invalid_grant",\n\xe2\x94\x82   "error_description": "Account has been deleted"\n\xe2\x94\x82 }\n
Run Code Online (Sandbox Code Playgroud)\n

对于全新的服务帐户 - 我已删除该帐户并创建了另一个帐户 - 使用另一个文件,如果我删除此资源,则所有内容都会通过 GCP 帐户中的服务帐户进行实例化。这也是我在该项目中拥有的唯一“谷歌测试版”提供商。

\n

我不确定这是因为资源配置错误还是服务帐户发生了一些问题。

\n

当我尝试检查我刚刚创建并在项目上创建编辑器的服务帐户时,我不能,它显示为灰色,并显示以下文本:

\n
Could not find an ancestor of the selected project where you have access to view a policy report. On at least one ancestor, you need the following permissions: \n\ncloudasset.assets.analyzeIamPolicy,\n\ncloudasset.assets.searchAllIamPolicies,\n\nand cloudasset.assets.searchAllResources \n\n
Run Code Online (Sandbox Code Playgroud)\n

我的单一主帐户具有以下附加角色:

\n
Cloud Asset Owner\nOrganization Administrator\nOwner\nProject IAM Admin\nSecurity Admin \n
Run Code Online (Sandbox Code Playgroud)\n

楼主觉得不够的时候我就把它们全都加上了。

\n

任何建议表示赞赏,谢谢。

\n

Edd*_*sso 14

这是一个身份验证问题。对我来说,解决的就是跑步。

gcloud auth application-default login
Run Code Online (Sandbox Code Playgroud)

随后是terraform apply

但您可以在此处查看有关如何使用 terraform 进行身份验证的文档