O VPC Service Controls é um recurso do Google Cloud que permite configurar um perímetro que ajuda na proteção contra exfiltração de dados. Neste guia, mostramos como usar o VPC Service Controls com o Dataform para deixar seus serviços mais seguros.
O VPC Service Controls adiciona uma camada extra de defesa para Serviços do Google Cloud independentes da proteção fornecida pela 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:
Você deve definir o Política da organização
dataform.restrictGitRemotes
.O Dataform e o BigQuery precisam ser restritos Perímetro de serviço do VPC Service Controls.
Considerações sobre segurança
Quando você configura um perímetro do VPC Service Controls para o Dataform, revise as permissões concedidas ao serviço do Dataform contas de serviço e garantir que elas correspondam à sua arquitetura de segurança.
Dependendo das permissões concedidas a uma conta de serviço do Dataform, essa conta de serviço pode ter acesso ao BigQuery ou Dados do Secret Manager no projeto a que a conta de serviço pertence seja qual for o serviço 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 não precisar executar invocações de fluxo de trabalho originadas dos seus repositórios do Dataform. Para obter mais informações sobre como bloquear a comunicação com BigQuery, consulte Bloquear comunicação com o BigQuery.
Bloqueie a comunicação com o Secret Manager se nenhuma Os repositórios do Dataform se conectam a um repositório Git de terceiros. Para mais informações sobre como bloquear a comunicação com o Secret Manager, consulte Bloquear comunicação com o Secret Manager.
Antes de começar
Antes de configurar um perímetro de serviço do VPC Service Controls para
Dataform, siga as
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 são aplicadas
o Dataform e o acesso de terceiros ao Dataform Git
do Google Cloud é restrito.
Funções exigidas
Para ter 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ê
Editor IAM Access Context Manager (roles/accesscontextmanager.policyEditor
) no projeto.
Para mais informações sobre como conceder papéis, consulte Gerenciar acesso.
Também é possível conseguir as permissões necessárias com papéis personalizados ou outros papéis predefinidos.
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 atual que restrinja no BigQuery.
- Criar 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 restrinja BigQuery, siga as Atualizar um perímetro de serviço na documentação do VPC Service Controls.
Para criar um novo perímetro de serviço que restrinja o Dataform e o BigQuery, siga as Criar um perímetro de serviço na documentação do VPC Service Controls.
Opcional: bloquear a comunicação com o BigQuery
A maneira como o Dataform se comunica com o BigQuery depende O tipo de conta de serviço usada no Dataform.
A conta de serviço padrão do Dataform usa o bigquery.jobs.create
permissão para se comunicar com o BigQuery. Você concede o acesso
os papéis da conta de serviço do Dataform que contêm
essa permissão quando você concede os papéis necessários para
Dataform para executar fluxos de trabalho SQL no BigQuery
Para bloquear a comunicação entre a conta de serviço padrão do Dataform
e o BigQuery, é preciso revogar todos os papéis predefinidos e personalizados
que contêm a permissão bigquery.jobs.create
, que foi concedida a
a conta de serviço padrão do Dataform. Para revogar papéis, siga as
Gerenciar o acesso a projetos, pastas e organizações
guia.
as contas de serviço personalizadas do Dataform usam os 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 de Criador de token da conta de serviço (
roles/iam.serviceAccountTokenCreator
), concedido à conta de serviço padrão do Dataform na conta de serviço personalizada.
É possível bloquear a comunicação entre um serviço personalizado do Dataform e o BigQuery de uma das seguintes maneiras:
Revogar o criador de token da conta de serviço (
roles/iam.serviceAccountTokenCreator
) concedido à conta de serviço padrão na conta de serviço personalizada do Dataform selecionada. Para revogar o Criador de token da conta de serviço (roles/iam.serviceAccountTokenCreator
) função, siga as Gerenciar o acesso às contas de serviço guia.Revogue todos os papéis predefinidos e personalizados concedidos no nível do projeto à conta de serviço personalizada que contém o
bigquery.jobs.create
permissão. Para revogar papéis, siga as Gerenciar o acesso a projetos, pastas e organizações guia.
A permissão bigquery.jobs.create
está incluída nos seguintes
papéis do IAM do BigQuery predefinidos
que precisam ser revogadas:
- Administrador do BigQuery (
roles/bigquery.admin
) - Usuário de jobs do BigQuery(
roles/bigquery.jobUser
) - Usuário do BigQuery (
roles/bigquery.user
) - Administrador do BigQuery Studio (
roles/bigquery.studioAdmin
) - Usuário do BigQuery Studio(
roles/bigquery.studioUser
)
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
para a conta de serviço padrão do Dataform em um determinado
do Secret Manager quando você
Conectar um repositório do Dataform a um repositório de terceiros.
Para bloquear a comunicação entre o Dataform e o Secret Manager, você precisa revogar o acesso a todos os secrets do Dataform padrão conta de serviço.
Para revogar o acesso a um secret do Secret Manager
conta de serviço do Dataform
siga as instruções no artigo Gerenciar o acesso aos secrets
na documentação do Secret Manager. É necessário revogar todas as
predefinidos e personalizados que contêm
secretmanager.versions.access
, concedida ao padrão
Conta de serviç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:
- Administrador do Secret Manager (
roles/secretmanager.admin
) - Acesso de secret do Secret Manager (
roles/secretmanager.secretAccessor
) - Gerenciador de versões de Secrets do Secret Manager (
roles/secretmanager.secretVersionManager
)
A seguir
- Para saber mais sobre o VPC Service Controls, consulte a Visão geral do VPC Service Controls.
- Para saber mais sobre a política da organização, consulte Introdução ao serviço Política da organização.
- Para saber mais sobre contas de serviço no Dataform, consulte Sobre contas de serviço no Dataform