0

我已经使用 CFT Terraform“示例基础”脚本设置了我的 GCP 组织。在使用提供的模板创建我自己的受限共享 vpc 项目后,我在启用了“私人 Google 访问”的受限共享 VPC 上的该项目内创建了一个私有集群。我还“拒绝”访问互联网,但允许使用受限 VIP 访问 Google 服务,包括 gcr.io。出于某种原因,我无法从集群中提取 GCR 映像,并为我的共享 vpc 主机和服务项目设置了 VPC 服务边界。一旦我移除周边,一切都开始工作。我尝试将 GKE 节点的 SA 添加到外围的“访问级别”,以及更改 GKE SA 的范围,但没有成功。

这是两个重要的片段。从 GKE 项目日志中:

"Request is prohibited by organization's policy. vpcServiceControlsUniqueIdentifier: d8a2eabceb3adcbd"

并从共享的 VPC 项目日志中:

egressViolations: [
0: {
servicePerimeter: "accessPolicies/904160256446/servicePerimeters/sp_d_shared_restricted_default_perimeter_5493"
source: "projects/956779411422"
sourceType: "Network"
targetResource: "projects/720423819480/buckets/artifacts.google-samples.appspot.com"
}
]
@type: "type.googleapis.com/google.cloud.audit.VpcServiceControlAuditMetadata"
violationReason: "NETWORK_NOT_IN_SAME_SERVICE_PERIMETER"
}

我的问题是我知道我尝试访问的公共映像不在服务边界内的网络上,因为我不拥有该项目,那么如何将公共容器存储库项目添加到边界以允许访问?

4

0 回答 0