Configurar o VPC Service Controls

O VPC Service Controls é um Google Cloud recurso que permite configurar um perímetro que ajuda a proteger contra a exfiltração de dados. Neste guia, mostramos como usar o VPC Service Controls com o Dataform para ajudar a tornar seus serviços mais seguros.

O VPC Service Controls oferece uma camada extra de defesa para Google Cloud serviços, independente da proteção fornecida por Identity and Access Management (IAM).

Para saber mais sobre o VPC Service Controls, consulte a Visão geral do VPC Service Controls.

Limitações

O Dataform oferece suporte ao VPC Service Controls com as seguintes limitações:

Considerações sobre segurança

Ao configurar um perímetro do VPC Service Controls para o Dataform, revise as permissões concedidas às contas de serviço personalizadas para verificar se elas correspondem à sua arquitetura de segurança.

Dependendo das permissões concedidas à conta de serviço personalizada, essa conta de serviço poderá ter acesso aos dados do BigQuery ou do Secret Manager no projeto a que pertence, independente do VPC Service Controls. Nesse caso, restringir o Dataform com um perímetro do VPC Service Controls não bloqueia a comunicação com o BigQuery ou o Secret Manager.

Bloqueie a comunicação com o BigQuery se você não precisar executar nenhuma invocação de fluxo de trabalho originada dos seus repositórios do Dataform. Para mais informações sobre como bloquear a comunicação com o BigQuery, consulte Bloquear a comunicação com o BigQuery.

Bloqueie a comunicação com o Secret Manager se nenhum dos seus repositórios do Dataform se conectar a um repositório Git de terceiros. Para mais informações sobre como bloquear a comunicação com o Secret Manager, consulte Bloquear a comunicação com o Secret Manager.

Antes de começar

Antes de configurar um perímetro de serviço do VPC Service Controls para o Dataform, siga o guia Restringir repositórios remotos para definir a política da organização dataform.restrictGitRemotes.

A política da organização dataform.restrictGitRemotes é necessária para garantir que as verificações do VPC Service Controls sejam aplicadas ao usar o Dataform e que o acesso de terceiros aos repositórios Git do Dataform seja restrito.

Funções exigidas

Para receber as permissões necessárias para configurar um perímetro de serviço do VPC Service Controls, peça ao administrador para conceder a você o papel do IAM de editor do Access Context Manager (roles/accesscontextmanager.policyEditor) no projeto. 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 usando personalizados papéis ou outros predefinidos papéis.

Para mais informações sobre as permissões do VPC Service Controls, consulte Controle de acesso com o IAM.

Configurar o VPC Service Controls

É possível restringir o Dataform com um perímetro de serviço do VPC Service Controls das seguintes maneiras:

  • Adicione o Dataform a um perímetro de serviço que restringe o BigQuery.
  • Crie um perímetro de serviço que restrinja o Dataform e o BigQuery.

Para adicionar o Dataform a um perímetro de serviço que restringe o BigQuery, siga o guia Atualizar um perímetro de serviço na documentação do VPC Service Controls.

Para criar um perímetro de serviço que restrinja o Dataform e o BigQuery, siga o guia Criar um perímetro de serviço na documentação do VPC Service Controls.

Opcional: bloquear a comunicação com o BigQuery

As contas de serviço personalizadas usam as seguintes permissões e papéis para se comunicar com o BigQuery:

  • A permissão bigquery.jobs.create, concedida à conta de serviço personalizada.
  • O papel Criador de token da conta de serviço (roles/iam.serviceAccountTokenCreator), concedido ao agente de serviço padrão do Dataform na conta de serviço personalizada.

É possível bloquear a comunicação entre uma conta de serviço personalizada e o BigQuery de uma das seguintes maneiras:

Opcional: bloquear a comunicação com o Secret Manager

O Dataform usa a permissão secretmanager.versions.access para acessar secrets individuais do Secret Manager. Você concede essa permissão ao agente de serviço padrão do Dataform em um secret do Secret Manager selecionado ao conectar um repositório do Dataform a um repositório de terceiros.

Para bloquear a comunicação entre o Dataform e o Secret Manager, é necessário revogar o acesso a todos os secrets do agente de serviço padrão do Dataform.

Para revogar o acesso a um secret do Secret Manager do agente de serviço padrão do Dataform, siga o guia Gerenciar o acesso a secrets na documentação do Secret Manager. É necessário revogar todos os papéis predefinidos e personalizados que contêm a permissão secretmanager.versions.access, concedida ao agente de serviço padrão do Dataform no secret selecionado.

A permissão secretmanager.versions.access está incluída nos seguintes papéis predefinidos do IAM do Secret Manager:

A seguir