在服务边界中配置文件夹

本文档介绍了如何将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 项目上配置。

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

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

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

问题排查

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

  • 查找为资源配置的边界,以确认资源是否从祖先文件夹继承了边界。
  • 查看审核日志,了解边界违规详情。如需了解详情,请参阅从审核日志中检索问题排查信息。
  • 在移除显式项目绑定之前,请验证已迁移到基于文件夹的边界的项目的资源层次结构传播已完成。传播通常需要几分钟时间,但有时可能需要更长时间。

后续步骤