Configurar o VPC Service Controls para o Integration Connectors

O VPC Service Controls permite definir um perímetro de segurança em torno do serviço Integration Connectors do Google Cloud. Com o perímetro de segurança ao redor do seu 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:

Neste documento, descrevemos 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 outros serviços ou usuários do Google Cloud podem acessar o serviço connectors.googleapis.com.

Considerações

  • Se sua conexão estiver se conectando a um recurso do Google Cloud, esse recurso precisará estar acessível dentro do perímetro do VPC Service Controls.
  • Se você tiver conexões com um endpoint público, antes de configurar o perímetro do VPC Service Controls, verifique se essas conexões usam o anexo Private Service Connect para conectar os sistemas de back-end. Sem o anexo do PSC, as conexões atuais com um endpoint público vão falhar depois que você configurar o perímetro do VPC Service Controls.
  • Se sua conexão estiver se conectando a um recurso que não seja do Google Cloud, o destino da conexão precisará ser um anexo PSC. As conexões criadas sem o ataque PSC vão falhar.
  • Se você estiver configurando um perímetro do VPC Service Controls para seu projeto do Google Cloud, não será possível usar o recurso de assinatura de eventos no 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 ou 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. Consiga o ID da política de acesso da sua organização usando 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 criar o perímetro do VPC Service Controls.

    É possível exibir o ID do 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

    Nesse comando, POLICY_ID é o valor obtido na etapa anterior.

  5. Nas configurações globais do seu 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 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 dê 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 esse tempo, é possível executar outras tarefas em um novo terminal.

    Se você quiser atualizar o nível de acesso e adicionar o serviço connectors.googleapis.com a 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 o projeto do Google Cloud do perímetro do VPC Service Controls, siga estas etapas:

  1. Nas configurações globais do seu 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 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
  2. Remova seu 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.