Google Cloud Search 支持 VPC Service Controls 来增强数据的安全性。借助 VPC Service Controls,您可以定义 一个围绕 Google Cloud Platform 资源的服务边界,用于限制数据 并帮助降低数据渗漏风险
前提条件
在开始之前 安装 gcloud 命令行界面。
启用 VPC Service Controls
如需启用 VPC Service Controls,请执行以下操作:
获取 Google Cloud Platform 的项目 ID 和项目编号 项目 ID。如需获取项目 ID 和编号,请参阅 识别项目。
使用 gcloud 为您的 Google Cloud Platform 创建访问权限政策 组织:
。创建将 Cloud Search 作为受限服务的服务边界 运行以下 gcloud 命令:
gcloud access-context-manager perimeters create NAME \ --title=TITLE \ --resources=PROJECTS \ --restricted-services=RESTRICTED-SERVICES \ --policy=POLICY_NAME
其中:
NAME
是边界的名称。TITLE
是直观易懂的边界标题。PROJECTS
是一个或多个项目编号的列表(以英文逗号分隔),每个项目编号 后跟字符串projects/
。使用 第 1 步:例如,如果您有两个项目(项目12345
和67890
),您的 设置为--resource=projects/12345, project/67890
。仅此标志 支持项目编号;不支持名称或 ID。RESTRICTED-SERVICES
是包含一个或多个服务的列表(以英文逗号分隔)。 请使用cloudsearch.googleapis.com
。POLICY_NAME
是您的组织的访问权限政策的数字名称 第 2c 步中得到的结果。
如需详细了解如何创建服务边界,请参阅 创建服务边界。
(可选)如果您想要应用基于 IP 或区域的限制,请创建 访问权限级别,并将其添加到第 3 步中创建的服务边界:
- 如需创建访问权限级别,请参阅 创建基本访问权限级别。 例如,如何创建仅允许 从特定 IP 地址段(如公司内部的 IP 地址)访问的 请参阅 限制公司网络上的访问权限。
- 创建访问权限级别后,将其添加到服务边界。 如需了解如何向服务边界添加访问权限级别,请参阅 向现有边界添加访问权限级别。 此更改最多可能需要 30 分钟才能生效,并需要 效果。
使用 Cloud Search Customer Service REST API 更新客户 设置:
从 Google 授权服务器获取 OAuth 2.0 访问令牌。 有关如何获取令牌的信息,请参阅 使用 OAuth 2.0 访问 Google API。 获取访问令牌时,请使用以下 OAuth 范围之一:
https://www.googleapis.com/auth/cloud_search.settings.indexing
,https://www.googleapis.com/auth/cloud_search.settings
, 或https://www.googleapis.com/auth/cloud_search
运行以下 curl 命令,以在 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
限制(如服务边界中所定义)将应用于
Cloud Search API、cloudsearch.google.com
的搜索,以及查看和
更改配置或报告。更多请求
未遵循访问权限级别的 Google Cloud Search API 会收到
PERMISSION_DENIED “Request is prohibited by organization’s policy”
个错误。