为 Integration Connectors 设置 VPC Service Controls

借助 VPC Service Controls 集成连接器 Google Cloud 服务。借助服务的安全边界,您可以将数据限制在 VPC Service Controls 边界内并降低数据渗漏风险。如果您尚不熟悉 VPC Service Controls,建议您浏览以下信息:

本文档介绍了如何限制对 Integration Connectors 服务 (connectors.googleapis.com) 的访问权限 使用 VPC Service Controls 边界设置好边界后 您可以配置政策 Google Cloud 服务或用户可以访问 connectors.googleapis.com 服务。

注意事项

  • 如果您的连接连接到 Google Cloud 资源,则必须能够从 VPC Service Controls 边界内访问该资源。
  • 如果您已连接到某个公共端点,请先设置 VPC Service Controls 边界,请确保此类连接使用 PSC (Private Service Connect) 连接后端系统。如果没有 PSC 连接,现有连接 将失败。
  • 如果您的连接要连接到非 Google Cloud 资源, 应为 PSC 连接。在没有 PSC 连接的情况下创建的连接会失败。
  • 如果要为 Google Cloud 项目设置 VPC Service Controls 边界,您不能使用 事件订阅功能 项目级别

准备工作

确保您拥有配置 VPC Service Controls 边界所需的权限。 如需查看配置 VPC Service Controls 所需的 IAM 角色列表, 请参阅使用 IAM 进行访问权限控制 VPC Service Controls 文档。

创建 VPC Service Controls 边界

如需创建 VPC Service Controls 边界,您可以使用 Google Cloud console、 或 gcloud 命令或 accessPolicies.servicePerimeters.create API。 如需了解详情,请参阅创建服务边界

以下步骤展示了如何使用 gcloud 命令创建启用了用户访问权限的 VPC Service Controls 边界。

  1. 创建一个 access.yaml 文件,其中包含获得许可的用户的详细信息 访问边界的权限。例如:
    - members:
        - user:USER_EMAIL
  2. 使用以下命令获取组织的访问权限政策 ID:
  3. gcloud access-context-manager policies list --organization=ORGANIZATION_ID

    此命令会列出组织的所有政策。从列表中选择 要为其创建 VPC Service Controls 边界的政策。

    您可以使用 Google Cloud 控制台查看组织的资源 ID。如需更多信息 请参阅获取组织资源 ID

  4. 为用户创建访问权限级别。
    gcloud access-context-manager levels create ACCESS_LEVEL_NAME \
    --title "CUSTOM_TITLE" \
    --basic-level-spec access.yaml \
    --policy=POLICY_ID

    在此命令中,POLICY_ID 是您在上一步中获得的值。

  5. 在 Google Cloud 项目的全局设置中,将 vpcsc 属性的值设置为 true
    curl -X PATCH -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    -d '{"vpcsc": true}' \
    https://connectors.googleapis.com/v1/projects/PROJECT_ID/locations/global/settings

    此命令会返回一个操作 ID,并启动一项长时间运行的操作 (LRO),该操作可能需要一些时间才能完成。等待 LRO 完成。您可以跟踪 操作:

    curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    https://connectors.googleapis.com/v1/projects/PROJECT_ID/locations/global/operations/OPERATION_ID
  6. 创建 VPC Service Controls 边界并提供对用户的访问权限。
    gcloud access-context-manager perimeters create PERIMETER_NAME \
    --title="PERIMETER_TITLE" \
    --resources=projects/PROJECT_ID \
    --restricted-services=connectors.googleapis.com \
    --access_levels=ACCESS_LEVEL_NAME

    此命令需要一些时间才能完成,在此期间,您可以在新的终端中运行其他任务。

    如果您想更新访问权限级别,并将 connectors.googleapis.com 服务添加到 现有边界,请运行以下命令:
    gcloud access-context-manager perimeters update PERIMETER_NAME \
    --add-restricted-services="connectors.googleapis.com" \
    --add-access-levels=ACCESS_LEVEL_NAME \
    --policy=POLICY_ID

验证边界

如需验证边界,请使用 gcloud access-context-manager perimeters describe PERIMETER_NAME 命令。例如:

gcloud access-context-manager perimeters describe PERIMETER_NAME

如需了解详情,请参阅 管理服务边界

从 VPC Service Controls 边界中移除项目

如需从 VPC Service Controls 边界中移除 Google Cloud 项目,请执行以下步骤:

  1. 在 Google Cloud 项目的全局设置中,将 vpcsc 属性的值设为 false
    curl -X PATCH -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    -d '{"vpcsc": false}' \
    https://connectors.googleapis.com/v1/projects/PROJECT_ID/locations/global/settings

    此命令会返回一个操作 ID,并启动一项长时间运行的操作 (LRO),该操作可能需要一些时间才能完成。等待 LRO 完成。您可以使用以下命令跟踪操作进度:

    curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    https://connectors.googleapis.com/v1/projects/PROJECT_ID/locations/global/operations/OPERATION_ID
  2. 从 VPC Service Controls 边界中移除您的项目。
    gcloud access-context-manager perimeters update accessPolicies/POLICY_ID/servicePerimeters/PERIMETER_NAME

后续步骤

了解 VPC Service Controls 如何保护您的数据。