在服务边界中配置文件夹

本文档介绍了如何将Google Cloud 文件夹配置为服务边界中的成员。

准备工作

向边界添加文件夹

您可以在创建或更新服务边界时,将文件夹配置为受保护的资源。

控制台

  1. 在 Google Cloud 控制台导航菜单中,依次点击安全 > VPC Service Controls。

    转到 VPC Service Controls

  2. 如需创建新边界,请点击新建边界。

    如需修改现有边界,请选择相应边界,然后点击修改。

  3. 选择要保护的资源。

  4. 在要保护的资源窗格中,点击添加文件夹。

  5. 在搜索文件夹对话框中,搜索并选择要保护的文件夹。

  6. 点击选择。添加的文件夹会显示在文件夹部分中。

  7. 点击继续。

  8. 点击创建或保存。

如需了解其他边界配置,请参阅创建服务边界。

gcloud

  • 如需创建处于实施模式的边界,并将文件夹作为受保护的资源纳入其中,请运行以下 perimeters create 命令:

    gcloud access-context-manager perimeters create NAME \
        --title=TITLE \
        --resources=FOLDER_ID \
        --restricted-services=RESTRICTED-SERVICES \
        --policy=POLICY_NAME

    如需在试运行模式下创建边界并将文件夹作为受保护的资源纳入其中,请使用 perimeters dry-run create 命令。

  • 如需更新实施模式下的现有边界,并将文件夹纳入受保护资源,请运行以下 perimeters update 命令:

    gcloud access-context-manager perimeters update \
        PERIMETER_ID \
        --add-resources=FOLDER_ID

    如需在试运行模式下更新现有边界,并将文件夹纳入受保护资源,请使用 perimeters dry-run update 命令。

将 FOLDER_ID 替换为一个或多个文件夹 ID 的英文逗号分隔列表。例如 folders/12345。--resources 和 --add-resources 实参还支持项目和 VPC 网络。

如需了解其他边界配置,请参阅创建服务边界。

从边界中移除文件夹

您可以从现有安全边界中移除文件夹。

控制台

  1. 在 Google Cloud 控制台导航菜单中,依次点击安全 > VPC Service Controls。

    转到 VPC Service Controls

  2. 如需修改现有边界,请选择相应边界,然后点击修改。

  3. 选择要保护的资源。

  4. 在要保护的资源窗格的文件夹部分中,选择要移除的文件夹。

  5. 点击移除所选内容。

  6. 点击继续。

  7. 点击保存。

如需了解详情,请参阅更新服务边界。

gcloud

如需从实施模式下的现有边界中移除文件夹,请运行以下 perimeters update 命令:

gcloud access-context-manager perimeters update \
    PERIMETER_ID \
    --remove-resources=FOLDER_ID

如需在试运行模式下从现有边界中移除文件夹,请使用 perimeters dry-run update 命令。

将 FOLDER_ID 替换为一个或多个文件夹 ID 的英文逗号分隔列表。例如 folders/12345。--remove-resources 实参还支持项目和 VPC 网络。

如需了解详情,请参阅更新服务边界。

查找资源的已配置边界

使用 gcloud CLI 或 LookupConfiguredServicePerimeter API 方法可查看哪些强制执行或试运行的服务边界适用于项目或文件夹。

gcloud

如需查找项目或文件夹的配置的边界,请运行以下 lookup-configured-perimeter 命令:

gcloud access-context-manager lookup-configured-perimeter \
    --resource=RESOURCE

将 RESOURCE 替换为资源名称,格式为 projects/PROJECT_NUMBER 或 folders/FOLDER_NUMBER。

API

如需查找项目的已配置安全边界,请调用 LookupConfiguredServicePerimeter 方法:

GET https://accesscontextmanager.googleapis.com/v1/projects/PROJECT_NUMBER:lookupConfiguredServicePerimeter

如需查找文件夹的配置的边界,请调用 LookupConfiguredServicePerimeter 方法:

GET https://accesscontextmanager.googleapis.com/v1/folders/FOLDER_NUMBER:lookupConfiguredServicePerimeter

所需权限

如需查询资源的已配置安全边界,请确保您在相关访问权限政策中拥有以下 IAM 权限:

  • accesscontextmanager.policies.get
  • accesscontextmanager.servicePerimeters.list

示例响应

{
  "servicePerimeter": "accessPolicies/123456/servicePerimeters/my_enforced_perimeter",
  "servicePerimeterDryRun": "accessPolicies/123456/servicePerimeters/my_dry_run_perimeter",
  "restrictedResource": "folders/789012",
  "restrictedResourceDryRun": "projects/345678"
}

在此示例中,项目从 folders/789012 祖先文件夹继承了强制执行的边界。相比之下,试运行边界直接在 projects/345678 项目中配置。

使用文件夹管理边界中的项目

您可以将项目移入或移出已在边界中配置的文件夹,从而间接在边界中添加或移除项目。如需了解详情,请参阅将项目移入文件夹。

如需了解如何明确地向边界添加项目或从中移除项目,请参阅更新服务边界。

问题排查

如果您在配置文件夹成员资格时遇到问题或出现意外行为,请执行以下操作:

  • 查找资源的已配置边界,以确认资源是否从祖先文件夹继承了边界。
  • 检查审核日志,了解有关边界违规行为的详细信息。如需了解详情,请参阅从审核日志中检索问题排查信息。
  • 验证已迁移到基于文件夹的安全边界的项目是否已完成 48 小时的层次结构传播窗口,然后再移除显式项目绑定。

后续步骤