GCP服务项目中获取可用共享VPC的REST API咨询
解决服务项目获取可用共享VPC的REST API方案
针对你需要获取服务项目可使用的所有共享VPC的需求,这里提供几个可行的REST API方案:
直接通过服务项目详情获取关联的宿主项目列表
调用projects.getAPI时指定扩展字段,就能拿到该服务项目关联的所有共享VPC宿主项目:GET https://compute.googleapis.com/compute/v1/projects/{service-project-id}?fields=xpnProjects返回的
xpnProjects数组里会包含所有与当前服务项目关联的宿主项目信息,每个条目包含宿主项目ID和类型(HOST_PROJECT)。获取宿主项目下的共享VPC网络
拿到宿主项目ID后,调用networks.listAPI即可筛选出对应的共享VPC网络:GET https://compute.googleapis.com/compute/v1/projects/{host-project-id}/global/networks响应中
sharedVpcHost字段为true的网络,就是该宿主项目下的共享VPC网络,也就是服务项目可以使用的共享VPC资源。补充权限验证方式(可选)
如果你需要确认服务项目的授权配置,也可以通过projects.getIamPolicyAPI查看roles/compute.xpnUser角色的绑定情况,反向确认关联的宿主项目:GET https://compute.googleapis.com/compute/v1/projects/{service-project-id}/getIamPolicy检查响应中
bindings数组里角色为roles/compute.xpnUser的条目,对应的members字段值(格式为project:host-project-id)就是被授权的宿主项目。
内容的提问来源于stack exchange,提问作者user1302064
相关产品推荐
相关产品推荐

