本文档介绍了如何将 VPC Service Controls 与批处理搭配使用。借助 VPC Service Controls,您可以将特定资源隔离到服务边界中,从而保护 Google Cloud 服务的资源和数据。服务边界会阻止与边界外的 Google Cloud 服务建立连接,以及阻止来自互联网的任何未明确允许的连接。
- 如需配置 VPC Service Controls 服务边界以使用批处理,请参阅本文档中的为批处理配置服务边界。
- 如果您的项目或网络使用 VPC Service Controls 限制了对批处理作业的网络访问权限,您必须将批处理作业配置为在所需的服务边界中运行。如需了解具体方法,请参阅本文档中的创建在服务边界中运行的作业。
如需详细了解网络概念以及何时配置网络,请参阅批处理网络概览。
准备工作
- 如果您之前未使用过批处理功能,请参阅开始使用批处理,并完成适用于项目和用户的前提条件,以启用批处理功能。
-
如需获得将 VPC Service Controls 与批处理结合使用所需的权限,请让管理员为您授予以下 IAM 角色:
-
如需配置服务边界,请使用项目的 Access Context Manager Editor (
roles/accesscontextmanager.policyEditor
) -
如需创建作业,请执行以下操作:
-
项目的 Batch Job Editor (
roles/batch.jobsEditor
) -
作业的服务账号(默认为默认的 Compute Engine 服务账号)上的 Service Account User (
roles/iam.serviceAccountUser
)
-
项目的 Batch Job Editor (
-
如需识别项目或网络的服务边界,请使用项目的 Access Context Manager Reader (
roles/accesscontextmanager.policyReader
) -
如需识别作业的网络和子网,请执行以下操作:
项目的 Compute Network Viewer (
roles/compute.networkViewer
)
如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。
-
如需配置服务边界,请使用项目的 Access Context Manager Editor (
-
如果您创建要在服务边界中运行的作业,则需要指定要为作业使用的网络。您为在服务边界中运行的作业指定的网络必须满足以下要求:
- 该网络是与作业位于同一项目中的 Virtual Private Cloud (VPC) 网络,或者是托管作业所属项目或与作业所属项目共享的共享 VPC 网络。
- 该网络在您要运行作业的位置包含一个子网。
- 该网络位于所需的服务边界内,并使用专用 Google 访问通道来允许访问作业使用的 API 和服务的网域。如需了解详情,请参阅本文档中的为批处理配置服务边界部分。
为 Batch 配置服务边界
如需为 Batch 配置服务边界,请执行以下操作:
规划服务边界的配置。如需概要了解服务边界的配置阶段,请参阅 VPC Service Controls 文档中的服务边界详情和配置。
如需使用批处理功能,服务边界必须满足以下要求:
受限服务:如需在服务边界内保护 Batch,您必须在该边界中添加 Batch 作业所需的 Google Cloud 服务,例如以下服务:
- 批量处理 API (
batch.googleapis.com
) - Cloud Logging API (
logging.googleapis.com
):如果您希望作业将日志写入 Cloud Logging,则必须提供此权限。(推荐) - Container Registry API (
containerregistry.googleapis.com
):如果您提交的作业使用任何包含 Container Registry 中映像的容器,则必须提供此权限。 - Artifact Registry API (
artifactregistry.googleapis.com
):如果您提交的作业使用了任何包含 Artifact Registry 中映像的容器,则必须提供此权限。 - Filestore API (
file.googleapis.com
):如果作业使用 Filestore 文件共享,则必须提供此权限。 - Cloud Storage API (
storage.googleapis.com
):对于使用 Cloud Storage 存储桶的某些作业,此权限是必需的。如果您为批处理作业使用的映像未预安装批处理服务代理,则必须提供此参数。
如需了解如何在服务边界中启用每项服务,请参阅 VPC 可访问服务。
对于您添加的每个服务(除了批处理之外),您还需要验证您的服务边界是否符合 VPC Service Controls 支持的产品和限制文档中针对该服务列出的要求。
- 批量处理 API (
VPC 网络:每个批处理作业都需要一个 VPC 网络,因此您的服务边界必须包含可运行批处理作业的 VPC 网络。如需了解如何配置可在服务边界内运行批处理作业的 VPC 网络,请参阅以下文档:
- 如需大致了解如何在服务边界中使用 VPC 网络,请参阅服务边界中的 VPC 网络管理。
- 如需了解如何将专用 Google 访问通道与 VPC Service Controls 搭配使用,以配置对您的批处理作业所需的 Google Cloud服务的访问权限,请参阅设置与 Google API 和服务的专用连接。
- 如需详细了解批处理作业的网络要求,请参阅作业网络概览。
创建在服务边界中运行的作业
创建在服务边界中运行的作业时,您还必须为作业运行的所有虚拟机屏蔽外部访问,并指定允许作业访问所需 API 的网络和子网。
如需创建在服务边界中运行的作业,请按照创建会屏蔽所有虚拟机的外部访问的作业文档中的步骤操作,并指定符合在服务边界中运行的作业的网络要求的网络。