Usar o VPC Service Controls

O VPC Service Controls é um Google Cloud recurso que permite configurar um perímetro de serviço para evitar a exfiltração de dados.

O VPC Service Controls no Developer Connect não protege contra a possível exfiltração para sistemas externos de gerenciamento de código-fonte. Este guia mostra outros controles que usam políticas personalizadas da organização para ajudar a bloquear esses cenários. SCMSs

Consulte Configurar um perímetro de serviço usando o VPC Service Controls para mais informações sobre como usar o VPC Service Controls.

  • Crie uma política personalizada da organização que restrinja a quais conexões os seus desenvolvedores podem criar.

  • Crie uma política personalizada da organização que permita que os desenvolvedores criem e atualizem conexões apenas por um recurso específico do Diretório de serviços.

  • Consulte Limitações dos insights do Developer Connect.

Antes de começar

Para usar os exemplos de linha de comando neste guia, instale e configure a Google Cloud CLI.

Funções exigidas

Para receber as permissões necessárias a fim de criar ou editar uma política personalizada da organização, peça ao administrador para conceder a você opapel do IAM de Administrador de políticas da organização (roles/orgpolicy.policyAdmin) no recurso da organização. Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.

Também é possível conseguir as permissões necessárias com papéis personalizados ou outros papéis predefinidos.

Criar uma restrição para limitar os SCMSs aos quais sua equipe pode criar conexões

Uma maneira de reduzir a possibilidade de exfiltração de dados para um SCMS é limitar quais SCMSs são permitidos para conexões. É possível criar uma política personalizada da organização que permita conexões a um ou mais SCMSs especificados.

A política da organização a seguir limita as conexões de repositório para permitir conexões somente com o GitHub Enterprise:

name: organizations/ORGANIZATION_ID/customConstraints/CONSTRAINT_NAME
resourceTypes:
- developerconnect.googleapis.com/Connection
methodTypes:
- CREATE
- UPDATE
condition: |
  resource.githubEnterpriseConfig.hostUri=="https://github.mycompany.net"
actionType: ALLOW
displayName: Connection GitHub Enterprise Host Constraint
description: |
  Allows creation/update of Developer Connect connections only to GitHub Enterprise host github.mycompany.net

Criar uma restrição para exigir conexões pelo Diretório de serviços

É possível reduzir a possibilidade de exfiltração de dados criando uma política personalizada da organização que permita conexões apenas com um endpoint especificado do Diretório de serviços

A política da organização a seguir permite conexões apenas com um endpoint específico do Diretório de serviços:

name: organizations/ORGANIZATION_ID/customConstraints/CONSTRAINT_NAME
resourceTypes:
- developerconnect.googleapis.com/Connection
methodTypes:
- CREATE
- UPDATE
condition: |
  resource.gitlabEnterpriseConfig.serviceDirectoryConfig.service=="projects/my-project/locations/us-central1/namespaces/ns/services/myendpoint"
actionType: ALLOW
displayName: Connection GitLab Enterprise Service Directory endpoint
description: |
  Allows creation/update of Developer Connect connections only through a specific Service Directory resource

Limitações dos insights do Developer Connect

Ao usar os insights do Developer Connect (InsightsConfig) com o VPC Service Controls, considere as seguintes limitações conhecidas e requisitos de configuração:

  • Dependência da API App Hub: os insights do Developer Connect dependem da API App Hub. Para aplicativos que usam um limite de gerenciamento de pastas, as restrições do VPC Service Controls no nível da pasta não são aplicadas aos projetos descendentes. O App Hub pode descobrir serviços e cargas de trabalho para todos os projetos descendentes, mesmo que eles não estejam no mesmo perímetro que o projeto de gerenciamento.

  • Metadados de recursos disponíveis na topologia de apps: ao usar os insights do Developer Connect, os metadados de recursos enriquecidos são disponibilizados na topologia de apps, se a API App Topology também estiver ativada. Recomendamos restringir a API de insights do Developer Connect (developerconnect.googleapis.com) e a API App Topology(apptopology.googleapis.com) em perímetros se você estiver usando os dois serviços.

  • Feeds de aplicativos do App Hub e controle de acesso do IAM: quando um InsightsConfig rastreia insights de um aplicativo do App Hub, o Developer Connect cria feeds em tempo real do Inventário de recursos do Cloud na pasta de gerenciamento ou no limite do projeto do aplicativo do App Hub. Os dados desses feeds são publicados diretamente no serviço do Developer Connect, mas só são consumidos por agentes de serviço do Developer Connect autorizados a ler metadados de recursos dessas pastas ou projetos. Além de usar papéis do IAM para restringir quais agentes de serviço do Developer Connect recebem esse acesso, o projeto que hospeda o recurso InsightsConfig e o projeto de onde os dados são publicados precisam estar no mesmo perímetro do VPC Service Controls. Ou, então, regras de entrada e saída configuradas precisam ser adicionadas para que o agente de serviço do Developer Connect permita o acesso.

  • Feeds com escopo de projeto e controle de acesso do IAM: quando um InsightsConfig tem escopo para um projeto, o Developer Connect cria feeds em tempo real do Inventário de recursos do Cloud diretamente nos projetos de destino. Os dados desses feeds são publicados diretamente no serviço do Developer Connect, mas só são consumidos por agentes de serviço do Developer Connect autorizados a ler metadados de recursos desses projetos. Além de usar papéis do IAM para restringir quais agentes de serviço do Developer Connect recebem esse acesso, o projeto que hospeda o recurso InsightsConfig e o projeto de onde os dados são publicados precisam estar no mesmo perímetro do VPC Service Controls. Ou, então, regras de entrada e saída configuradas precisam ser adicionadas para que o agente de serviço do Developer Connect permita o acesso.

  • Alinhamento de perímetro para metadados e procedência de artefatos: o projeto que hospeda o recurso InsightsConfig e qualquer projeto que contenha metadados ou procedência de artefatos precisam estar no mesmo perímetro do VPC Service Controls . Ou, então, regras de entrada e saída configuradas precisam ser adicionadas para que o agente de serviço do Developer Connect permita o acesso .

  • Alinhamento de perímetro para registro de implantação: o projeto que hospeda o recurso InsightsConfig e qualquer projeto que contenha implantações precisam estar no mesmo perímetro do VPC Service Controls. Ou, então, regras de entrada e saída configuradas precisam ser adicionadas para que o agente de serviço do Developer Connect permita o acesso.

A seguir

  • Saiba mais sobre como criar políticas personalizadas da organização.

  • Saiba mais sobre o VPC Service Controls.

  • Saiba mais sobre o Diretório de serviços.