使用 VPC Service Controls 增强安全性

Google Cloud Search 支持通过 VPC Service Controls 来增强数据的安全性。借助 VPC Service Controls,您可以为 Google Cloud Platform 资源定义服务边界,以限制数据并帮助降低数据渗漏风险。

前提条件

开始之前,请先安装 gcloud 命令行界面

启用 VPC Service Controls

如需启用 VPC Service Controls,请执行以下操作:

  1. 获取您要使用的 Google Cloud Platform 项目的项目 ID 和项目编号。如需获取项目 ID 和项目编号,请参阅识别项目

  2. 使用 gcloud 为您的 Google Cloud Platform 组织创建访问权限政策:

    1. 获取组织 ID
    2. 创建访问权限政策
    3. 获取访问权限政策的名称
  3. 运行以下 gcloud 命令,创建一个将 Cloud Search 作为受限服务的服务边界:

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

    其中:

    • NAME 是边界的名称。
    • TITLE 是直观易懂的边界标题。
    • PROJECTS 是一个或多个项目编号的列表(以英文逗号分隔),每个编号前面都带有字符串 projects/。使用第 1 步中获得的项目编号。例如,如果您有两个项目(项目 1234567890),则设置为 --resource=projects/12345, project/67890。此标志仅支持项目编号,不支持名称或 ID。
    • RESTRICTED-SERVICES 是一个或多个服务的列表(以英文逗号分隔)。请使用 cloudsearch.googleapis.com
    • POLICY_NAME 是您在第 2c 步中获取的组织访问权限政策的数字名称。

    如需详细了解如何创建服务边界,请参阅创建服务边界

  4. (可选)如果您想应用基于 IP 地址或区域的限制,请创建访问权限级别,并将其添加到第 3 步中创建的服务边界:

    1. 如需创建访问权限级别,请参阅创建基本访问权限级别。如需查看有关如何创建仅允许从特定范围内 IP 地址(例如公司网络中的 IP 地址)访问的访问权限级别条件的示例,请参阅限制公司网络上的访问权限
    2. 创建访问权限级别后,将其添加到服务边界。如需了解如何向服务边界添加访问权限级别,请参阅向现有边界添加访问权限级别。此更改最长可能需要 30 分钟才能传播和生效。
  5. 使用 Cloud Search Customer Service REST API 通过受 VPC Service Controls 边界保护的项目更新客户设置:

  1. 从 Google Authorization Server 获取 OAuth 2.0 访问令牌。如需了解如何获取令牌,请参阅使用 OAuth 2.0 访问 Google API 的第 2 步。获取访问令牌时,请使用以下 OAuth 范围之一:https://www.googleapis.com/auth/cloud_search.settings.indexinghttps://www.googleapis.com/auth/cloud_search.settingshttps://www.googleapis.com/auth/cloud_search

  2. 运行以下 curl 命令,在 Google Cloud Search 的“客户设置”下方的 VPC 服务控制设置中设置项目:

    curl --request PATCH \
      'https://cloudsearch.googleapis.com/v1/settings/customer' \
      --header 'Authorization: Bearer [YOUR_ACCESS_TOKEN]' \
      --header 'Accept: application/json' \
      --header 'Content-Type: application/json' \
      --data '{ "vpc_settings": { "project": "projects/PROJECT_ID" } }' \
      --compressed
    

    其中:

  • YOUR_ACCESS_TOKEN 是第 5a 步中获取的 OAuth 2.0 访问令牌。
  • PROJECT_ID 是第 1 步中获得的项目 ID。

    如果成功,您应该会收到 200 OK 响应,其中包含更新后的客户设置。

成功完成上述步骤后,服务边界中定义的 VPC Service Controls 限制会应用于所有 Google Cloud Search API、cloudsearch.google.com 搜索,以及使用管理控制台查看和更改配置或报告。对 Google Cloud Search API 的后续请求如果不遵循访问权限级别,则会收到 PERMISSION_DENIED “Request is prohibited by organization’s policy” 错误。