Google-Cloud-Platform

從服務項目引用宿主項目中定義的全域地址

  • May 12, 2021

我有一個託管共享 VPC 的項目 A 和一個服務項目 B。項目 A 有一個保留的全域外部 IP 地址,然後由項目 B 引用:

resource "google_compute_global_forwarding_rule" "foo" {
 name = "${var.name}"
 ip_address = "<ip address here>"
 target     = google_compute_target_https_proxy.foo.self_link
 port_range = local.external_port
}

引發錯誤

Error: Error creating GlobalForwardingRule: googleapi: Error 403: Required 'compute.globalAddresses.use' permission for 'projects/<host-project>/global/addresses/<address-name>', forbidden

服務項目的服務帳戶是否可以訪問宿主項目的全域 IP 地址,而無需在服務項目中為此服務帳戶定義任何角色?根據文件“宿主項目中定義的外部 IP 地址對象可以被該宿主項目或任何附加服務項目中的資源使用”但顯然應該有一些使用此類外部 IP 地址的服務項目帳戶的明確角色,對嗎?

是的,您需要一個角色來授予對“擁有”全域 IP 地址的項目的訪問權限。一個範例角色是roles/compute.publicIpAdminroles/compute.NetworkViewer

引用自:https://serverfault.com/questions/1063362