Google Cloud Search поддерживает элементы управления услугами VPC для повышения безопасности ваших данных. VPC Service Controls позволяет вам определить периметр обслуживания вокруг ресурсов Google Cloud Platform, чтобы ограничить данные и помочь снизить риски утечки данных.
Предварительные условия
Прежде чем начать, установите интерфейс командной строки gcloud .
Включить элементы управления службами VPC
Чтобы включить элементы управления услугами VPC:
Получите идентификаторы и номера проектов Google Cloud Platform, которые вы хотите использовать. Чтобы получить идентификаторы и номера проектов, обратитесь к разделу «Идентификация проектов» .
Используйте 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
. Этот флаг поддерживает только номера проектов; он не поддерживает имена или идентификаторы. -
RESTRICTED-SERVICES
— это список одной или нескольких служб, разделенных запятыми. Используйтеcloudsearch.googleapis.com
. -
POLICY_NAME
— это числовое имя политики доступа вашей организации, полученное на шаге 2c.
Дополнительную информацию о том, как создать периметр службы, см. в разделе Создание периметра службы .
-
(необязательно) Если вы хотите применить ограничения по IP-адресу или региону, создайте уровни доступа и добавьте их в периметр службы, созданный на шаге 3:
- Чтобы создать уровень доступа, обратитесь к разделу Создание базового уровня доступа . Пример создания условия уровня доступа, разрешающего доступ только с определенного диапазона IP-адресов, например, в корпоративной сети, см. в разделе Ограничение доступа в корпоративной сети .
- После того как вы создали уровень доступа, добавьте его в периметр сервиса. Инструкции по добавлению уровня доступа к периметру службы см. в разделе Добавление уровня доступа к существующему периметру . Для распространения и вступления изменения в силу может потребоваться до 30 минут.
Используйте REST API Cloud Search Customer Service, чтобы обновить настройки клиента в проекте, защищенном по периметру VPC Service Controls:
Получите токен доступа OAuth 2.0 с сервера авторизации Google. Информацию о получении токена см. в шаге 2 статьи «Использование OAuth 2.0 для доступа к API Google» . При получении токена доступа используйте одну из следующих областей 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 в разделе «Настройки клиента» в Google Cloud Search:
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
— это токен доступа OAuth 2.0, полученный на шаге 5a. PROJECT_ID
— это идентификатор проекта, полученный на шаге 1.В случае успеха вы должны получить ответ
200 OK
, сопровождаемый обновленными настройками клиента.
После успешного выполнения вышеуказанных шагов ограничения управления службами VPC, определенные в периметре службы, применяются ко всем API Google Cloud Search, поискам на cloudsearch.google.com
, а также просмотру и изменению конфигурации или отчетов с помощью консоли администратора. Дальнейшие запросы к Google Cloud Search API, не соответствующие уровням доступа, получают ошибку PERMISSION_DENIED “Request is prohibited by organization's policy”
.