googleapi:错误 403:需要 'compute.organizations.enableXpnHost' 权限

googleapi: Error 403: Required 'compute.organizations.enableXpnHost' permission

我已在组织级别为我的管理员用户和服务帐户用户授予“计算共享 VPC 管理员”角色,但我似乎无法启用请求的权限。我还授予了拥有 namidalab-dev-networks 项目的文件夹级别的角色。在 IAM 和管理控制台中选择 namidalab-dev-networks 项目时 UI,我的管理员用户和服务帐户用户无法使用“计算共享 VPC 管理员”选项。

如何将此角色授予项目?

地形输出:

...
Step #1 - "Apply": google_compute_shared_vpc_host_project.host: Creating...
Step #1 - "Apply": 
Step #1 - "Apply": Error: Error enabling Shared VPC Host "namidalab-dev-networks": googleapi: Error 403: Required 'compute.organizations.enableXpnHost' permission for 'projects/namidalab-dev-networks', forbidden
Step #1 - "Apply": 
Step #1 - "Apply":   on main.tf line 87, in resource "google_compute_shared_vpc_host_project" "host":
Step #1 - "Apply":   87: resource "google_compute_shared_vpc_host_project" "host" {

My Organization, folder and project structure

Organization configuration

Folder configuration

Project configuration - Compute Shared VPC Admin role is no longer available.

Unable to add Compute Shared VPC Admin here.

Google Cloud 建议共享 VPC 管理员成为共享 VPC 宿主项目的所有者。

您需要将角色 roles/compute.xpnAdmin 添加到 Terraform 正在使用的服务帐户。这是我所知道的唯一包含权限 compute.organizations.enableXpnHost 的角色。我注意到你在问题中提到了这个角色,但我认为你把它放在了错误的级别或错误的项目中。这应该在组织级别或 VPC 宿主项目级别授予。

Compute Shared VPC Admin Role

组织管理员可以在组织级别添加此角色。

仅供参考,根据文档 https://cloud.google.com/vpc/docs/provisioning-shared-vpc#terraform.

写这篇笔记的那一刻

如果您在文件夹级别(而非组织级别)将角色roles/compute.xpnAdmin设置为 Terraform 服务帐户

在 terraform 脚本中描述您的共享 VPC 时,您需要明确使用 google-beta 提供程序

不然还是会遇到Error 403: Required 'compute.organizations.enableXpnHost' permission for 'projects/YOUR-PROJECT', forbidden