使用 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 地址(如公司网络内)进行访问的访问权限级别条件,请参阅限制公司网络上的访问权限
    2. 创建访问权限级别后,将其添加到服务边界。 如需了解如何向服务边界添加访问权限级别,请参阅向现有边界添加访问权限级别。此更改最长可能需要 30 分钟才能传播并生效。
  5. 使用 Cloud Search Customer Service REST API 更新受 VPC Service Controls 受边界保护的项目的客户设置:

  1. 从 Google 授权服务器获取 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” 错误。