O Google Cloud Search oferece suporte ao VPC Service Controls para melhorar a segurança dos dados. O VPC Service Controls permite definir um perímetro de serviço em torno dos recursos do Google Cloud Platform para restringir os dados e ajudar a reduzir os riscos de exfiltração de dados.
Pré-requisitos
Antes de começar, instale a interface de linha de comando gcloud.
Ativar o VPC Service Controls
Para ativar o VPC Service Controls:
Encontre os IDs e os números do projeto do Google Cloud Platform que você quer usar. Para conseguir os IDs e os números dos projetos, consulte Como identificar projetos.
Use o gcloud para criar uma política de acesso para sua organização do Google Cloud Platform:
Crie um perímetro de serviço com o Cloud Search como um serviço restrito executando o seguinte comando gcloud:
gcloud access-context-manager perimeters create NAME \ --title=TITLE \ --resources=PROJECTS \ --restricted-services=RESTRICTED-SERVICES \ --policy=POLICY_NAME
Em que:
NAME
é o nome do perímetro.TITLE
é o título legível do perímetro.PROJECTS
é uma lista separada por vírgulas de um ou mais números de projeto, cada um precedido pela stringprojects/
. Use os números de projeto recebidos na etapa 1. Por exemplo, se você tiver dois projetos,12345
e67890
, a configuração será--resource=projects/12345, project/67890
.Essa sinalização só aceita números de projeto, mas não nomes ou IDs.RESTRICTED-SERVICES
é uma lista separada por vírgulas de um ou mais serviços. Usecloudsearch.googleapis.com
.POLICY_NAME
é o nome numérico da política de acesso da organização recebida na etapa 2c.
Para mais informações sobre como criar um perímetro de serviço, consulte Como criar um perímetro de serviço.
(opcional) Se você quiser aplicar restrições de IP ou região, crie níveis de acesso e adicione-os ao perímetro de serviço criado na etapa 3:
- Para criar um nível de acesso, consulte Como criar um nível de acesso básico. Para ver um exemplo de como criar uma condição de nível de acesso que permite acesso apenas de um intervalo específico de endereços IP, como aqueles dentro de uma rede corporativa, consulte Limitar o acesso em uma rede corporativa.
- Depois de criar um nível de acesso, adicione-o ao perímetro de serviço. Para instruções sobre como adicionar um nível de acesso a um perímetro de serviço, consulte Como adicionar um nível de acesso a um perímetro atual. Pode levar até 30 minutos para que essa mudança seja propagada e entre em vigor.
Use a API REST do atendimento ao cliente do Cloud Search para atualizar as configurações do cliente com seu projeto protegido pelo perímetro do VPC Service Controls:
Receber um token de acesso do OAuth 2.0 do servidor de autorização do Google. Para informações sobre como conseguir o token, consulte a etapa 2 de Como usar o OAuth 2.0 para acessar as APIs do Google. Ao receber o token de acesso, use um dos escopos do OAuth a seguir:
https://www.googleapis.com/auth/cloud_search.settings.indexing
,https://www.googleapis.com/auth/cloud_search.settings
ouhttps://www.googleapis.com/auth/cloud_search
.Execute o seguinte comando curl para definir o projeto nas configurações do VPC Service Controls em "Customer settings" no 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
Em que:
YOUR_ACCESS_TOKEN
é o token de acesso do OAuth 2.0 obtido na etapa 5a.PROJECT_ID
é o ID do projeto recebido na etapa 1.Se for bem-sucedida, você receberá uma resposta
200 OK
acompanhada pelas configurações atualizadas do cliente.
Depois que as etapas acima forem concluídas, as restrições do VPC Service Controls, conforme definidas no perímetro de serviço, serão aplicadas a todas as APIs do Google Cloud Search, pesquisas em cloudsearch.google.com
e visualização e alteração de configuração ou relatórios usando o Admin Console. Outras solicitações
para a API Google Cloud Search que não seguem níveis de acesso recebem um erro
PERMISSION_DENIED “Request is prohibited by organization’s policy”
.