O VPC Service Controls é uma Google Cloud funcionalidade que lhe permite configurar um perímetro que ajuda a proteger contra a exfiltração de dados. Este guia mostra como usar os VPC Service Controls com o Dataform para ajudar a tornar os seus serviços mais seguros.
Os VPC Service Controls oferecem uma camada adicional de defesa para Google Cloud serviços que é independente da proteção fornecida pela gestão de identidade e de acesso (IAM).
Para saber mais acerca do VPC Service Controls, consulte o artigo Vista geral do VPC Service Controls.
Limitações
O Dataform suporta os VPC Service Controls com as seguintes limitações:
Tem de definir a
dataform.restrictGitRemotes
política da organização.O Dataform e o BigQuery têm de ser restritos pelo mesmo perímetro de serviço dos VPC Service Controls.
Para permitir que utilizadores específicos se autentiquem com as respetivas credenciais de utilizador da Conta Google quando agendam execuções, acionam execuções manualmente ou executam pipelines com os controlos de serviços da VPC configurados, tem de adicionar as respetivas identidades de utilizador às regras de entrada. Para mais informações, consulte os artigos Atualizar políticas de entrada e saída para um perímetro de serviço e Referência de regras de entrada.
Considerações de segurança
Quando configura um perímetro dos VPC Service Controls para o Dataform, deve rever as autorizações concedidas às contas de serviço do Dataform e garantir que correspondem à sua arquitetura de segurança.
Consoante as autorizações que conceder a uma conta de serviço do Dataform, essa conta de serviço pode ter acesso aos dados do BigQuery ou do Secret Manager no projeto ao qual pertence, independentemente dos VPC Service Controls. Nesse caso, restringir o Dataform com um perímetro dos VPC Service Controls não bloqueia a comunicação com o BigQuery nem o Secret Manager.
Deve bloquear a comunicação com o BigQuery se não precisar de executar invocações de fluxos de trabalho originárias dos seus repositórios do Dataform. Para mais informações sobre como bloquear a comunicação com o BigQuery, consulte o artigo Bloqueie a comunicação com o BigQuery.
Deve bloquear a comunicação com o Secret Manager se nenhum dos seus repositórios do Dataform se ligar a um repositório Git de terceiros. Para mais informações sobre o bloqueio da comunicação com o Secret Manager, consulte o artigo Bloqueie 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 Restrinja 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 dos VPC Service Controls são aplicadas quando usa o Dataform e que o acesso de terceiros aos repositórios Git do Dataform é restrito.
Funções necessárias
Para receber as autorizações de que
precisa para configurar um perímetro de serviço dos VPC Service Controls,
peça ao seu administrador para lhe conceder a função de IAM
Editor do Access Context Manager (roles/accesscontextmanager.policyEditor
)
no projeto.
Para mais informações sobre a atribuição de funções, consulte o artigo Faça a gestão do acesso a projetos, pastas e organizações.
Também pode conseguir as autorizações necessárias através de funções personalizadas ou outras funções predefinidas.
Para mais informações acerca das autorizações dos VPC Service Controls, consulte o artigo Controlo de acesso com a IAM.
Configure os VPC Service Controls
Pode restringir o Dataform com um perímetro de serviço dos VPC Service Controls das seguintes formas:
- Adicione o Dataform a um perímetro de serviço existente 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 Atualize 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 o guia Crie um perímetro de serviço na documentação dos VPC Service Controls.
Opcional: bloqueie a comunicação com o BigQuery
A forma como o Dataform comunica com o BigQuery depende do tipo de conta de serviço usada no Dataform.
A conta de serviço do Dataform predefinida usa a autorização bigquery.jobs.create
para comunicar com o BigQuery. Concede as funções da conta de serviço do Dataform predefinidas que contêm esta autorização quando concede as funções necessárias para o Dataform executar fluxos de trabalho no BigQuery.
Para bloquear a comunicação entre a conta de serviço do Dataform predefinida e o BigQuery, tem de revogar todas as funções predefinidas e personalizadas que contenham a autorização bigquery.jobs.create
, que foram concedidas à conta de serviço do Dataform predefinida. Para revogar funções, siga o guia
Faça a gestão do acesso a projetos, pastas e organizações.
As contas de serviço do Dataform personalizadas usam as seguintes autorizações e funções para comunicar com o BigQuery:
- A autorização
bigquery.jobs.create
é concedida à conta de serviço personalizada. - A função criador de tokens da conta de serviço (
roles/iam.serviceAccountTokenCreator
) é concedida à conta de serviço predefinida do Dataform na conta de serviço personalizada.
Pode bloquear a comunicação entre uma conta de serviço do Dataform personalizada e o BigQuery de qualquer uma das seguintes formas:
Revogue a função Criador de tokens da conta de serviço (
roles/iam.serviceAccountTokenCreator
) concedida à conta de serviço predefinida na conta de serviço do Dataform personalizada selecionada. Para revogar a função criador de tokens de contas de serviço (roles/iam.serviceAccountTokenCreator
), siga o guia Faça a gestão do acesso a contas de serviço.Revogue todas as funções predefinidas e personalizadas concedidas ao nível do projeto à conta de serviço personalizada que contenham a autorização
bigquery.jobs.create
. Para revogar funções, siga o guia Faça a gestão do acesso a projetos, pastas e organizações.
A autorização bigquery.jobs.create
está incluída nas seguintes
funções de IAM do BigQuery
predefinidas que têm de ser revogadas:
- Administrador do BigQuery (
roles/bigquery.admin
) - Utilizador de tarefas do BigQuery (
roles/bigquery.jobUser
) - Utilizador do BigQuery (
roles/bigquery.user
) - Administrador do BigQuery Studio (
roles/bigquery.studioAdmin
) - Utilizador do BigQuery Studio (
roles/bigquery.studioUser
)
Opcional: bloqueie a comunicação com o Secret Manager
O Dataform usa a autorização secretmanager.versions.access
para aceder a segredos individuais do Secret Manager. Concede esta autorização
à conta de serviço do Dataform predefinida num segredo do Secret Manager selecionado quando
associa um repositório do Dataform a um repositório de terceiros.
Para bloquear a comunicação entre o Dataform e o Secret Manager, tem de revogar o acesso a todos os segredos da conta de serviço do Dataform predefinida.
Para revogar o acesso a um segredo do Secret Manager a partir da conta de serviço do Dataform predefinida, siga o guia Gerir acesso a segredos na documentação do Secret Manager. Tem de revogar todas as funções predefinidas e personalizadas que contenham a autorização secretmanager.versions.access
, concedida à conta de serviço do Dataform predefinida no segredo selecionado.
A autorização secretmanager.versions.access
está incluída nas seguintes
funções de IAM do Secret Manager predefinidas:
- Administrador do Secret Manager (
roles/secretmanager.admin
) - Secret Manager Secret Accessor (
roles/secretmanager.secretAccessor
) - Secret Manager Secret Version Manager (
roles/secretmanager.secretVersionManager
)
O que se segue?
- Para saber mais acerca do VPC Service Controls, consulte o artigo Vista geral do VPC Service Controls.
- Para saber mais sobre a política de organização, consulte o artigo Introdução ao serviço de políticas de organização.
- Para saber mais sobre as contas de serviço no Dataform, consulte o artigo Acerca das contas de serviço no Dataform.