1

我有以下 GCP 资源:

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

我的服务边界保护三个项目:network、Apps1 和 project-rec。它保护 Google Cloud Storage API、Pub/Sub、GKE Con​​nect API 和 Kubernetes Engine API。

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

  • 来自互联网:=== KO(预期结果)
  • 来自项目“网络”中的一个实例 === OK(预期结果)
  • 来自“project-rec”中的一个实例,该实例使用“Apps1”中的 Snet === OK(预期结果)
  • 来自“project-dev”中使用“Apps1”中的 Snet 的实例 === OK(非预期结果

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

谢谢。

4

2 回答 2

4

目前,VPC Service Controls (VPC-SC) 只能通过 VPC 网络对资源进行分段,即共享 VPC 网络中的所有 VM/Pod 始终属于 VPC-SC 创建的同一个服务边界(段)。VPC-SC 目前不支持子 VPC 分段。

通过将 Apps1 添加到服务边界,宿主项目中共享 VPC 的所有子网都是该边界的一部分。因此,产品在此处的行为与预期一样,因为“project-dev”、“snet-dev”、“project-rec”和“snet-rec”位于同一服务边界中。

于 2020-02-22T14:24:57.087 回答
0

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

我不确定,但如果你启用私人谷歌访问,你可能会实现这一点。

于 2019-12-17T22:44:00.080 回答