本页面介绍如何创建服务边界。
准备工作
了解如何配置服务边界
如果要在创建边界时配置对受保护服务的外部访问权限,请在创建边界之前创建一个或多个访问权限级别。
创建服务边界
本部分介绍如何创建服务边界,包括如何在其中包含项目以及保护服务。
创建服务边界时,您可以选择允许从边界外访问受保护的服务,并为边界内的其他服务和用户指定可以访问的服务。如果您愿意,也可以在创建边界后配置这些设置。
创建了服务边界后,更改最多可能需要 30 分钟才能传播完毕并生效。
控制台
在 Google Cloud Console 导航菜单中,点击安全,然后点击 VPC Service Controls。
如果收到提示,请选择您的组织。不能在项目级创建边界。
在 VPC Service Controls 页面顶部,选择一种边界模式。默认情况下选中的是强制模式。如果要创建试运行边界,请点击试运行模式。
强制实施边界会主动阻止对受保护服务的访问。试运行边界会记录对边界的违规,虽然看起来服务像是受到保护,但实际上并不会阻止对这些服务的访问。如需详细了解强制模式和试运行模式,请参阅服务边界。
点击新建边界。
在新建 VPC 服务边界页面的边界名称框中,为边界输入一个名称。
选择您想要在边界内保护的项目:
在要保护的项目下,点击添加项目。
要向边界添加项目,请在添加项目窗口中选中相应项目的复选框。
点击添加 n 个项目 (Add n Projects),其中 n 是您在上一步中选中的项目数量。
选择您想要在边界内保护的服务:
在要保护的服务下,点击添加服务。
要保护边界内的服务,请在指定要限制的服务窗口中,选中服务对应的复选框。
点击添加 n 个服务 (Add n Services),其中 n 是您在上一步中选中的服务数量。
(可选)如果要定义在边界内可访问的服务(例如,可供您之前选中的某个项目托管的 VPC 网络中的虚拟机访问),请执行以下操作:
在 VPC 可访问服务下,点击添加 VPC 受限的服务。只有在使用边界保护服务的情况下,才能将该服务设为可访问。
您还可以在创建边界后添加可访问的服务。
在指定要限制的服务窗口中,每项服务各成一行,请从中选择您要在边界内访问的服务对应的复选框。
点击添加 n 个服务 (Add n Services),其中 n 是您在上一步中选中的服务数量。
(可选)如果要允许从边界外向受保护的服务发出的请求,请执行以下操作:
点击选择访问权限级别框。
您也可以在创建边界后添加访问权限级别。
选择与要应用于服务边界的访问权限级别对应的复选框。
点击保存按钮。
gcloud
如需创建新边界,请使用 create
命令。
gcloud [beta] access-context-manager perimeters [dry-run] create NAME \ --title=TITLE \ --resources=PROJECTS \ --restricted-services=RESTRICTED-SERVICES \ [--levels=LEVELS] \ [--enable-vpc-accessible-services] \ [--add-vpc-allowed-services=ACCESSIBLE-SERVICES] \ --policy=POLICY_NAME
其中:
仅在您要创建试运行模式的边界时,才需要包含
beta
和dry-run
。例如:gcloud beta access-context-manager perimeters dry-run create ...
。NAME 是边界的名称。
TITLE 是直观易懂的边界标题。
PROJECTS 是一个或多个项目编号的列表(以英文逗号分隔)。例如
projects/12345
或projects/12345,projects/67890
。仅支持项目编号。不能使用项目名称或项目 ID。RESTRICTED-SERVICES 是一个或多个服务的列表(以英文逗号分隔)。例如
storage.googleapis.com
或storage.googleapis.com,bigquery.googleapis.com
。POLICY_NAME 是您的组织的访问权限政策的数字名称。例如
330193482019
。只有在您尚未设置默认访问权限政策时,才需要包括政策名称。
其他选项:
只有在创建边界时要添加访问权限级别时,才需要包含
--levels
。LEVELS 是您要应用到服务边界的一个或多个访问权限级别的列表(以英文逗号分隔)。您也可以在创建边界后添加访问权限级别。
只有在创建边界时要添加 VPC 可访问服务时,才需要包含
--enable-vpc-accessible-services
和--add-vpc-allowed-services
。ACCESSIBLE-SERVICES 是您要允许边界内网络访问的一个或多个服务的列表(以英文逗号分隔)。对此列表中未包含的任何服务的访问都将被阻止。只有在配置边界时对一项服务实施了保护的情况下,您才能将该服务设置为可访问。
要快速添加受边界保护的所有服务,请在 ACCESSIBLE-SERVICES 列表中指定
RESTRICTED-SERVICES
。例如--add-vpc-allowed-services=RESTRICTED-SERVICES
。您也可以在创建边界后定义 VPC 可访问服务。
例如,以下命令会创建一个名为 ProdPerimeter
的新边界,其中包含项目 example-project
和 example-project2
,并限制 Cloud Storage API 和 BigQuery API。
gcloud access-context-manager perimeters \ create ProdPerimeter --title="Production Perimeter" \ --resources=projects/12345,projects/67890 \ --restricted-services=storage.googleapis.com,bigquery.googleapis.com \ --policy=330193482019
API
要创建服务边界,请调用 accessPolicies.servicePerimeters.create
。
POST https://accesscontextmanager.googleapis.com/v1/accessPolicies/POLICY_NAME/servicePerimeters
其中:
- POLICY_NAME 是您的组织的访问权限政策的数字名称。例如
330193482019
。
请求正文
请求正文必须包含用于定义服务边界的 ServicePerimeter
资源。
对于 ServicePerimeter
资源,请为 perimeterType
指定 PERIMETER_TYPE_REGULAR
。
试运行模式
要创建的边界必须添加为 spec
,并且将 useExplicitDryRunSpec
设为 true。
响应正文
如果成功,调用的响应正文将包含一个 Operation
资源,用于提供与 POST
操作相关的详细信息。
后续步骤
- 了解如何管理现有安全边界。