在使用 VPC Service Controls 时,可能很难确定创建或修改服务边界对环境的影响。通过试运行模式,您可以更好地了解在现有环境中启用 VPC Service Controls 和更改边界的影响。
在试运行模式下,违反边界政策的请求不会被拒绝,只会被记录。您可以使用试运行模式来测试边界配置和监控服务使用情况,而不会阻止对资源的访问。常见应用场景包括:
确定更改现有服务边界将产生的影响。
预览新服务边界将产生的影响。
监控从服务边界外向受保护服务发起的请求。例如,查看对给定服务的请求的来源,或识别组织中的意外服务使用情况。
在开发环境中,为生产环境创建类似的边界架构。这使您可以在将更改推送到生产环境之前,发现和解决由服务边界引起的任何问题。
服务边界可以只使用试运行模式。也可以混合使用实施模式和试运行模式。
试运行模式的优势
利用试运行模式,您可以创建新的服务边界或更改多个现有边界,而不会影响现有环境。违反新边界配置的请求不会被阻止。您还可以了解边界在环境中的影响,在该环境中并非所有使用中的服务都与 VPC Service Controls 集成。
您可以分析 VPC Service Controls 日志中的拒绝事件,更改配置以修复潜在问题,然后实施新的安全框架。
如果无法解决边界配置的问题,您可以选择保留边界的试运行配置,并监控日志中是否有可能表示渗漏攻击的拒绝事件。但是,对边界的请求不会被拒绝。
试运行模式概念
试运行模式作为边界配置的第二个评估过程运行。默认情况下,所有服务边界的实施模式配置都会继承到试运行模式配置中。您可以修改或删除该该配置,而不会影响服务边界的运行。
由于试运行模式会继承实施模式配置,因此在每个步骤中,两个配置都必须有效。具体而言,一个项目只能位于实施配置下一个边界和试运行配置下的一个边界。因此,跨多个边界的更改(例如在边界之间移动项目)必须按正确顺序排列。
试运行模式仅记录同时满足以下两个条件的请求:
请求尚未被边界的强制执行配置拒绝。
请求违反了边界的试运行配置。
例如,如果完全相同的模拟运行和强制模式配置限制了 Cloud Storage 存储桶,强制模式会屏蔽并记录对 Cloud Storage 存储桶的任何请求。试运行模式仅记录与强制执行模式相比的违规差异。
您还可以创建仅具有试运行配置的边界。这样,您就可以模拟新的实施边界在环境中的影响。
政策语义
以下部分介绍实施模式与试运行模式之间的政策关系,以及实施的解析顺序。
唯一成员资格限制
一个 Google Cloud 项目只能包含在一个实施配置和一个试运行配置中。但是,实施配置和试运行配置不需要属于同一边界。这样,您就可以测试将项目从一个边界移动到另一个边界的影响,而不会影响当前应用于项目的安全措施。
示例
项目 corp-storage
当前受边界 PA 的实施配置的保护。您希望测试将 corp-storage
移动到边界 PB 的影响。
PA 的试运行配置尚未修改。由于试运行配置未修改,因此它会从实施配置继承 corp-storage
。
要测试影响,请先从 PA 的试运行配置中移除 corp-storage
,然后将项目添加到 PB 的试运行配置。您必须首先从 PA 的试运行配置中移除 corp-storage
,因为项目一次只能存在于一个试运行配置中。
当您确信将 corp-storage
从 PA 迁移到 PB 不会对您的安全状态产生不利影响后,您决定实施这些更改。
您可以通过两种方法实施对边界 PA 和 PB 的更改:
您可以将
corp-storage
从 PA 的实施配置手动移除,并将项目添加到 PB 的实施配置。由于corp-storage
一次只能处于一个实施配置,因此您需要按此顺序执行步骤。或
您可以使用
gcloud
命令行工具或 Access Context Manager API 实施所有试运行配置。此操作会应用于边界的所有已修改的试运行配置,因此您需要与组织中已修改边界试运行配置的任何其他人员协调该操作。由于 PA 的试运行配置已排除corp-storage
,因此无需额外步骤。
边界的实施配置会首先执行
只有被边界的实施配置允许但被试运行配置拒绝的请求才会被记录为试运行政策违规。被实施配置拒绝但被试运行配置允许的请求不会被记录。
访问权限级别没有试运行模式的等效模式
虽然您可以为边界创建试运行配置,但访问权限级别没有试运行配置。在实际操作中,这意味着如果您要测试访问权限级别更改将如何影响试运行配置,您必须执行以下操作:
创建一个访问权限级别来反映您要对现有访问权限级别进行的更改。
将新访问权限级别应用于边界的试运行配置。
试运行模式不会对安全性产生负面影响
对边界的试运行配置的更改(例如向边界添加新项目或访问权限级别,或更改边界保护的服务或边界内网络可访问的服务)不会影响边界的实际实施。
例如,假设您有一个属于服务边界 PA 的项目。如果将项目添加到其他边界的试运行配置,则应用于项目的实际安全措施不会更改。项目会继续按预期方式受到边界 PA 的实施配置的保护。
试运行操作和配置状态
通过试运行功能,您可以执行以下操作:
创建只有试运行配置的边界
更新现有边界的试运行配置
将新项目移动到现有边界中
将项目从一个边界移动到另一个边界
删除边界的试运行配置
根据在试运行模式下执行的操作,边界可以处于以下配置状态之一:
从实施继承:实施边界的默认状态。在此状态下,对边界的实施配置的任何更改也会应用到试运行配置。
已修改:边界的试运行配置已被查看或更改,且随后已被保存。在此状态下,对边界实施配置的更改不会应用于试运行配置。
新建:边界仅具有试运行配置。即使对试运行配置进行了更改,直到该边界具有实施配置之前,状态将保持为新建。
已删除:边界的试运行配置已被删除。在您为边界创建新的试运行配置或撤消操作之前,此状态将保持不变。在此状态下,对边界实施配置的更改不会应用于试运行配置。
试运行模式的限制
试运行模式仅适用于边界。它无法帮助您了解限制 Google Cloud API 对受限或专用 VIP 的访问权限的影响。我们建议您在配置 restricted.googleapis.com
网域之前确保您想使用的所有服务都可以在受限 VIP 上使用。
如果您不确定在现有环境中使用的 API 是否受到受限 VIP 的支持,我们建议您使用专用 VIP。您仍然可以为受支持的服务实施边界安全。但是,如果您使用的是专用 VIP,则您网络中的实体将可以访问不安全服务(VPC Service Controls 不支持的服务),例如个人用户版 Gmail 和云端硬盘。由于专用 VIP 允许 VPC Service Controls 不支持的服务,因此您网络中的被破解代码、恶意软件或恶意用户可能会泄露使用这些不安全服务的数据。
后续步骤
了解如何管理试运行配置
查看试运行模式的
gcloud
命令行工具命令