本页面介绍如何管理服务边界的试运行配置。如需大致了解如何管理服务边界,请参阅管理服务边界。
准备工作
阅读试运行模式
设置默认访问权限政策,以使用
gcloud
命令行工具。或
获取您的政策名称。使用
gcloud
命令行工具并进行 API 调用的命令需要政策名称。如果您设置了默认访问权限政策,则无需为gcloud
命令行工具指定政策。
实施试运行配置
如果您对服务边界的试运行配置感到满意,则可以实施该配置。实施试运行配置时,它会替换边界当前实施的配置(如果存在)。如果边界的实施版本不存在,则试运行配置将被用作边界的初始实施配置。
更新了服务边界后,更改会在 30 分钟内传播和生效。在此期间,边界可能会阻止请求,并显示以下错误消息:Error 403: Request is prohibited by organization's policy.
控制台
在 Google Cloud 控制台导航菜单中,点击安全性,然后点击 VPC Service Controls。
在 VPC Service Controls 页面顶部,点击试运行模式。
在服务边界列表中,点击要实施的服务边界的名称。
在 VPC 服务边界详情页面的试运行配置部分中,点击实施。
当系统要求您确认是否要覆盖当前实施的配置时,请点击实施。
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.
控制台
在 Google Cloud 控制台导航菜单中,点击安全性,然后点击 VPC Service Controls。
在 VPC Service Controls 页面顶部,点击试运行模式。
在服务边界列表中,点击要修改的服务边界的名称。
在 VPC 服务边界详情页面的试运行配置部分中,点击修改。
在修改 VPC 服务边界页面上,更改服务边界的试运行配置。
点击保存。
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.com
或storage.googleapis.com,bigquery.googleapis.com
。POLICY_NAME 是您组织的访问权限政策名称。只有在未设置默认访问权限政策的情况下,才需要指定此值。
确定被阻止的请求
创建试运行配置后,您可以查看日志以确定实施试运行配置后拒绝访问服务的位置。
控制台
在 Google Cloud 控制台导航菜单中,点击 Logging,然后点击日志浏览器。
在查询字段中,输入以下查询过滤条件,然后点击运行查询。
log_id("cloudaudit.googleapis.com/policy") AND severity="error" AND protoPayload.metadata.dryRun="true"
在查询结果下查看日志。
gcloud
如需使用 gcloud CLI 查看日志,请运行如下命令:
gcloud logging read 'log_id("cloudaudit.googleapis.com/policy") AND severity="error" AND protoPayload.metadata.dryRun="true"'