GCP VPC服务控制:允许访问属于同一宿主项目的服务项目的子集

时间:2019-12-17 22:29:26

标签: google-cloud-platform google-cloud-storage google-vpc

我有以下GCP资源:

  • 项目“网络”与主机项目“ Apps1”对等。
  • 项目“网络”包含一个存储区“ test-bucket”
  • “ Apps1”的VPC具有2个snet:“ snet-dev”和“ snet-rec”
  • “ Apps1”附加两个服务项目:
    • 服务项目“ project-dev”使用Snet“ snet-dev”
    • 服务项目“ project-rec”使用Snet“ snet-rec”

“我的服务范围”保护三个项目:网络,Apps1和项目记录。它可以保护Google Cloud Storage API,Pub / Sub,GKE Con​​nect API和Kubernetes Engine API。

gsutil ls gs://test-bucket/给出以下结果:

  • 从Internet:=== KO(预期结果)
  • 从“网络”项目中的实例===确定(预期结果)
  • 从“ project-rec”中的一个实例使用“ Apps1”中的Snet ===确定(预期结果)
  • 从“ project-dev”中的一个实例使用“ Apps1”中的Snet ===确定(意外结果

在属于同一宿主项目的服务项目上是否可以具有不同的边界?如果是,我在做什么错?

谢谢。

2 个答案:

答案 0 :(得分:1)

当前,VPC服务控件(VPC-SC)只能按VPC网络分段资源,即,共享VPC网络中的所有VM /主机始终属于VPC-SC创建的同一服务范围(网段)。 VPC-SC当前不支持Sub-VPC分段。

通过将Apps1添加到服务范围,主机项目中共享VPC的所有子网都属于该范围。因此,产品在这里表现出预期的状态,因为“ project-dev”,“ snet-dev”,“ project-rec”和“ snet-rec”在同一服务范围内。

答案 1 :(得分:0)

共享VPC的概念使您可以集中控制VPC资产。但是,Google Cloud Storage不是VPC的成员,它是public apis的一部分。因此,您可能无法通过共享的VPC控制存储桶访问。

我不确定,但是如果启用private google access,则有可能实现这一目标。