Configurar o VPC Service Controls para conectores de integração

O VPC Service Controls permite definir um perímetro de segurança em torno dos conectores de integração do Google Cloud. Com o perímetro de segurança ao redor do serviço, é possível restringir os dados em um perímetro do VPC Service Controls e reduzir os riscos de exfiltração de dados. Se você ainda não conhece o VPC Service Controls, é recomendável ler as seguintes informações:

Este documento descreve como restringir o acesso ao serviço Integration Connectors (connectors.googleapis.com) usando o perímetro do VPC Service Controls. Depois de configurar o perímetro, é possível configurar políticas que determinam quais outras Os serviços ou usuários do Google Cloud podem acessar o serviço connectors.googleapis.com.

Considerações

  • Se a conexão estiver se conectando a um recurso do Google Cloud, ele precisará ser acessível dentro do perímetro do VPC Service Controls.
  • Se você tiver conexões com um endpoint público, antes de configurar o do VPC Service Controls, verifique se essas conexões usam o PSC (Private Service Connect) para conectar os sistemas de back-end. Sem o anexo do PSC, as conexões atuais a um endpoint público vão falhar depois que você configurar o perímetro do VPC Service Controls.
  • Se a conexão estiver se conectando a um recurso que não é do Google Cloud, o destino da conexão precisará ser um anexo do PSC. As conexões criadas sem o anexo do PSC vão falhar.
  • Se você estiver configurando um perímetro de VPC Service Controls para seu projeto do Google Cloud, não será possível usar o recurso de inscrição em eventos para o projeto.

Antes de começar

Verifique se você tem as permissões necessárias para configurar os perímetros do VPC Service Controls. Para conferir uma lista de papéis do IAM necessários para configurar o VPC Service Controls, consulte Controle de acesso com o IAM na documentação do VPC Service Controls.

Criar um perímetro do VPC Service Controls

Para criar um perímetro do VPC Service Controls, use o comando Google Cloud console, gcloud ou a API accessPolicies.servicePerimeters.create. Para mais informações, consulte Criar um perímetro de serviço.

As etapas a seguir mostram como criar um perímetro do VPC Service Controls com um acesso de usuário ativado usando os comandos gcloud.

  1. Crie um arquivo access.yaml com os detalhes do usuário que tem permissão para acessar o perímetro. Exemplo:
    - members:
        - user:USER_EMAIL
  2. Para conferir o ID da política de acesso da sua organização, use o seguinte comando:
  3. gcloud access-context-manager policies list --organization=ORGANIZATION_ID

    Esse comando lista todas as políticas da organização. Na lista, selecione a política para a qual você quer criar o perímetro do VPC Service Controls.

    É possível conferir o ID de recurso da sua organização usando o console do Google Cloud. Para mais informações, consulte Como conseguir o ID do recurso da organização.

  4. Crie um nível de acesso para o usuário.
    gcloud access-context-manager levels create ACCESS_LEVEL_NAME \
    --title "CUSTOM_TITLE" \
    --basic-level-spec access.yaml \
    --policy=POLICY_ID

    Neste comando, POLICY_ID é o valor que você recebeu na etapa anterior.

  5. Nas configurações globais do projeto do Google Cloud, defina o valor do atributo vpcsc como true.
    curl -X PATCH -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    -d '{"vpcsc": true}' \
    https://connectors.googleapis.com/v1/projects/PROJECT_ID/locations/global/settings

    Esse comando retorna um ID de operação e inicia uma operação de longa duração (LRO, na sigla em inglês), que pode levar algum tempo para ser concluída. Aguarde a conclusão da LRO. É possível acompanhar o progresso da operação usando o seguinte comando:

    curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    https://connectors.googleapis.com/v1/projects/PROJECT_ID/locations/global/operations/OPERATION_ID
  6. Crie o perímetro do VPC Service Controls e forneça acesso ao usuário.
    gcloud access-context-manager perimeters create PERIMETER_NAME \
    --title="PERIMETER_TITLE" \
    --resources=projects/PROJECT_ID \
    --restricted-services=connectors.googleapis.com \
    --access_levels=ACCESS_LEVEL_NAME

    Esse comando leva algum tempo para ser concluído, durante o qual você pode executar outras tarefas em um novo terminal.

    Se quiser atualizar o nível de acesso, adicione o serviço connectors.googleapis.com ao um perímetro atual, execute o seguinte comando:
    gcloud access-context-manager perimeters update PERIMETER_NAME \
    --add-restricted-services="connectors.googleapis.com" \
    --add-access-levels=ACCESS_LEVEL_NAME \
    --policy=POLICY_ID

Verificar o perímetro

Para verificar o perímetro, use o comando gcloud access-context-manager perimeters describe PERIMETER_NAME. Exemplo:

gcloud access-context-manager perimeters describe PERIMETER_NAME

Para mais informações, consulte Como gerenciar perímetros de serviço.

Remover um projeto do perímetro do VPC Service Controls

Para remover seu projeto do Google Cloud do perímetro do VPC Service Controls, siga estas etapas:

  1. Nas configurações globais do projeto do Google Cloud, defina o valor do atributo vpcsc como false.
    curl -X PATCH -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    -d '{"vpcsc": false}' \
    https://connectors.googleapis.com/v1/projects/PROJECT_ID/locations/global/settings

    Esse comando retorna um ID de operação e inicia uma operação de longa duração (LRO, na sigla em inglês) que pode levar algum tempo. Aguarde a conclusão da LRO. É possível acompanhar o progresso da operação usando o seguinte comando:

    curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    https://connectors.googleapis.com/v1/projects/PROJECT_ID/locations/global/operations/OPERATION_ID
  2. Remova o projeto do perímetro do VPC Service Controls.
    gcloud access-context-manager perimeters update accessPolicies/POLICY_ID/servicePerimeters/PERIMETER_NAME

A seguir

Saiba como o VPC Service Controls protege seus dados.