具有共享VPC以及主机项目和服务项目的GCP:
我配置了一个共享的VPC主机项目,并将一个VPC和子网共享给一个服务项目和一个用户(计算网络用户角色)。
如果我从主机项目中创建一个虚拟机作为子网,我可以做到这一点,但是当我尝试从服务项目中创建实例组时,出现以下错误:
“项目/ [主机项目ID] / global / networks / vpc-host-network”所需的“ compute.networks.get”权限
我唯一能找到的解决方案是为整个HOST项目的服务项目用户分配计算网络查看器角色。
尝试将计算网络用户角色分配给服务项目中的Compute Engine服务帐户无济于事,在我看来GCP文档也没有提及这一点。
您知道这是否值得期待,并且在任何地方都有记录?
谢谢
编辑: 请注意,这仅与 不受管理的 实例组有关,而对于 受管理的实例组 来说却没有问题。
值得一提的是,对于服务项目中 托管 的实例组,必须具有 Google API服务代理([项目编号]服务项目中的@ cloudservices.gserviceaccount.com)帐户,作为HOST项目中必需子网的计算网络用户帐户
答案 0 :(得分:0)
似乎与此有关:
使用共享VPC时,您需要允许服务项目中的users / serviceAccounts通过role / compute.networkUser角色将具有google_compute_subnetwork_iam_binding资源的子网使用。
请参阅:https://github.com/terraform-providers/terraform-provider-google/issues/1711