使用 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 Service Controls 设置中的项目:

    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” 错误。