管理试运行配置

本页面介绍如何管理服务边界的试运行配置。如需大致了解如何管理服务边界,请参阅管理服务边界

准备工作

实施试运行配置

如果您对服务边界的试运行配置感到满意,则可以实施该配置。实施试运行配置时,它会替换边界当前实施的配置(如果存在)。如果边界的实施版本不存在,则试运行配置将被用作边界的初始实施配置。

更新了服务边界后,更改会在 30 分钟内传播和生效。在此期间,边界可能会阻止请求,并显示以下错误消息:Error 403: Request is prohibited by organization's policy.

控制台

  1. 在 Google Cloud Console 导航菜单中,点击安全,然后点击 VPC Service Controls

    转到 VPC Service Controls 页面

  2. VPC Service Controls 页面顶部,点击试运行模式

  3. 在服务边界列表中,点击要实施的服务边界的名称。

  4. VPC 服务边界详情页面的试运行配置部分中,点击实施

  5. 当系统要求您确认是否要覆盖当前实施的配置时,请点击实施

gcloud

您可以使用 gcloud 命令行工具为单个边界实施试运行配置,也可同时为所有边界实施此配置。

实施单个试运行配置

如需为单个边界实施试运行配置,请使用 dry-run enforce 命令:

gcloud access-context-manager perimeters dry-run enforce PERIMETER_NAME \
  [--policy=POLICY_NAME]

其中:

  • PERIMETER_NAME 是您要获取其详细信息的服务边界的名称。

  • POLICY_NAME 是您组织的访问权限政策名称。只有在未设置默认访问权限政策的情况下,才需要指定此值。

实施所有试运行配置

要为所有边界实施试运行配置,请使用 dry-run enforce-all 命令:

gcloud access-context-manager perimeters dry-run enforce-all \
  [--etag=ETAG]
  [--policy=POLICY_NAME]

其中:

  • PERIMETER_NAME 是您要获取其详细信息的服务边界的名称。

  • ETAG 是一个字符串,表示您组织的访问权限政策的目标版本。如果不包括 etag,则 enforce-all 操作将针对您组织的访问政策的最新版本。

    要获取访问权限政策的最新 etag,请通过 list 列出您的访问权限政策

  • POLICY_NAME 是您的组织的访问权限政策的名称。只有在未设置默认访问权限政策的情况下,才需要指定此值。

API

如需为所有边界实施试运行配置,请调用 accessPolicies.servicePerimeters.commit

更新试运行配置

更新试运行配置时,您可以修改服务、项目和 VPC 可访问服务的列表,还可修改边界的其他功能。

更新了服务边界后,更改会在 30 分钟内传播和生效。在此期间,边界可能会阻止请求,并显示以下错误消息:Error 403: Request is prohibited by organization's policy.

控制台

  1. 在 Google Cloud Console 导航菜单中,点击安全,然后点击 VPC Service Controls

    转到 VPC Service Controls 页面

  2. VPC Service Controls 页面顶部,点击试运行模式

  3. 在服务边界列表中,点击要修改的服务边界的名称。

  4. VPC 服务边界详情页面的试运行配置部分中,点击修改

  5. 修改 VPC 服务边界页面上,更改服务边界的试运行配置。

  6. 点击保存

gcloud

要向边界添加新项目,请使用 dry-run update 命令并指定要添加的资源:

gcloud access-context-manager perimeters dry-run update PERIMETER_NAME \
  --add-resources=RESOURCES \
  [--policy=POLICY_NAME]

其中:

  • PERIMETER_NAME 是您要获取其详细信息的服务边界的名称。

  • RESOURCES 是一个或多个项目编号或 VPC 网络名称的列表(以英文逗号分隔)。例如 projects/12345//compute.googleapis.com/projects/my-project/global/networks/vpc1。 仅允许使用项目和 VPC 网络。项目格式:projects/<project_number>。 VPC 格式://compute.googleapis.com/projects/<project-id>/global/networks/<network_name>

  • POLICY_NAME 是您的组织的访问权限政策的名称。只有在未设置默认访问权限政策的情况下,才需要指定此值。

如需更新受限服务的列表,请使用 dry-run update 命令并以英文逗号分隔的列表形式指定要添加的服务:

gcloud access-context-manager perimeters dry-run update PERIMETER_ID \
  --add-restricted-services=SERVICES \
  [--policy=POLICY_NAME]

其中:

  • PERIMETER_NAME 是您要获取其详细信息的服务边界的名称。

  • SERVICES 是包含一个或多个服务的列表(以英文逗号分隔)。例如 storage.googleapis.comstorage.googleapis.com,bigquery.googleapis.com

  • POLICY_NAME 是您组织的访问权限政策名称。只有在未设置默认访问权限政策的情况下,才需要指定此值。

确定被阻止的请求

创建试运行配置后,您可以查看日志以确定实施试运行配置后拒绝访问服务的位置。

控制台

  1. 在 Google Cloud 控制台导航菜单中,点击 Logging,然后点击日志浏览器

    转到日志浏览器

  2. 查询字段中,输入以下查询过滤条件,然后点击运行查询

    log_id("cloudaudit.googleapis.com/policy") AND severity="error" AND protoPayload.metadata.dryRun="true"
    
  3. 查询结果下查看日志。

gcloud

如需使用 gcloud CLI 查看日志,请运行如下命令:

gcloud logging read 'log_id("cloudaudit.googleapis.com/policy") AND severity="error" AND protoPayload.metadata.dryRun="true"'