Sobre contas de serviço no Dataform
Quando você cria seu primeiro repositório do Dataform, automaticamente uma conta de serviço padrão. O Dataform usa as para interagir com o BigQuery em seu nome. A conta de serviço padrão do Dataform não recebe papéis ou permissões do BigQuery por padrão. Você precisa conceder a permissão à conta de serviço padrão do Dataform.
O ID da conta de serviço padrão do Dataform tem o seguinte formato:
service-YOUR_PROJECT_NUMBER@gcp-sa-dataform.iam.gserviceaccount.com
Substitua YOUR_PROJECT_NUMBER pelo ID numérico do projeto do Google Cloud. O ID do projeto do Google Cloud está na painel do console do Google Cloud. Para mais informações, consulte Como identificar projetos.
Além da conta de serviço padrão do Dataform, é possível usar outras contas de serviço para executar fluxos de trabalho em seu nome. É possível configurar contas de serviço personalizadas:
No nível do repositório, para executar de trabalho em um determinado repositório.
Individualmente para cada configuração do fluxo de trabalho.
Ao criar um repositório do Dataform ou uma configuração de fluxo de trabalho, é possível selecione qualquer conta de serviço associada ao seu projeto do Google Cloud que você tenha acesso. Você precisa configurar as permissões necessárias para todas as contas de serviço associadas aos seus recursos do Dataform.
Uma conta de serviço personalizada associada a um Dataform só é usado para executar fluxos de trabalho nele. Todos os outros as operações de repositório ainda são realizadas pelo Dataform padrão conta de serviço.
Papéis necessários para contas de serviço do Dataform
As contas de serviço padrão e personalizadas usadas no Dataform exigem o os papéis do IAM do BigQuery para executar de trabalho no BigQuery:
- Editor de dados do BigQuery em projetos em que o Dataform precisa de acesso de leitura e gravação. Eles geralmente incluem o projeto que hospeda o repositório do Dataform.
- Leitor de dados do BigQuery em projetos a que o Dataform precisa de acesso somente leitura.
- Usuário de jobs do BigQuery no projeto que hospeda o repositório do Dataform.
- Proprietário de dados do BigQuery se você quiser consultar conjuntos de dados do BigQuery.
- Papéis do BigQuery para controle de acesso no nível da coluna, se você quiser usar tags de política do BigQuery.
Além disso, você precisa conceder à conta de serviço padrão do Dataform
Criador de token de conta de serviço(roles/iam.serviceAccountTokenCreator
)
a qualquer conta de serviço personalizada que você queira usar no Dataform.
Considerações de segurança para contas de serviço do Dataform
Como conceder os papéis exigidos pelo Dataform a uma conta de serviço vem com as seguintes considerações de segurança:
Qualquer conta de serviço que tenha os papéis necessários pode acessar no BigQuery ou no Secret Manager do projeto independentemente do VPC Service Controls.
Para mais informações, consulte Configure o VPC Service Controls para o Dataform.
Qualquer usuário com o IAM
dataform.repositories.create
permissão pode executar código usando o serviço padrão Dataform conta de serviço e todas as permissões concedidas a ela.Para mais informações, consulte Considerações de segurança para permissões do Dataform.
restringir os dados que um usuário ou uma conta de serviço pode ler ou gravar; no BigQuery, é possível conceder permissões granulares do IAM do BigQuery para conjuntos de dados ou tabelas do BigQuery. Para mais informações, consulte Como controlar o acesso a conjuntos de dados e Como controlar o acesso a tabelas e visualizações.
Antes de começar
No Console do Google Cloud, acesse a página Dataform.
Selecione ou crie um repositório.
Conceder os papéis necessários do BigQuery a uma conta de serviço usada no Dataform
Para conceder os papéis do IAM do BigQuery necessários à conta de serviço padrão do Dataform ou uma conta de serviço personalizada que você quer usar no Dataform, siga estas etapas:
No console do Google Cloud, abra a página IAM.
Clique em Permitir acesso.
No campo Novos principais, insira o ID da conta de serviço.
Na lista suspensa Selecionar papel, selecione o papel Usuário de jobs do BigQuery.
Clique em Adicionar outro papel e, na lista suspensa Selecionar um papel, Selecione o papel Editor de dados do BigQuery.
Clique em Adicionar outro papel e, na lista suspensa Selecionar um papel, Selecione o papel Leitor de dados do BigQuery.
Clique em Salvar.
Conceder acesso de criação de tokens a uma conta de serviço personalizada
Para usar uma conta de serviço personalizada no Dataform, a A conta de serviço do Dataform precisa ter acesso ao serviço personalizado do Compute Engine. Para conceder esse acesso, adicione o Dataform padrão como conta de serviço principal para a conta de serviço personalizada com o Criador de tokens da conta de serviço.
Para conceder à conta de serviço padrão do Dataform acesso a uma conta de serviço, siga estas etapas:
No console do Google Cloud, acesse IAM > Contas de serviço.
Selecione um projeto.
Na página Contas de serviço do projeto "YOUR_PROJECT_NAME", Selecione sua conta de serviço personalizada do Dataform.
Acesse Permissões e clique em Conceder acesso.
No campo Novos principais, insira o Dataform padrão ID da conta de serviço.
O ID da conta de serviço padrão do Dataform tem o seguinte formato:
service-YOUR_PROJECT_NUMBER@gcp-sa-dataform.iam.gserviceaccount.com
Na lista suspensa Selecionar papel, selecione o Criador de tokens da conta de serviço.
Clique em Salvar.
A seguir
- Para saber mais sobre os papéis do IAM do BigQuery e do Google Cloud, consulte Controle de acesso com o IAM.
- Para saber mais sobre como conceder permissões granulares ao BigQuery para conjuntos de dados, consulte Como controlar o acesso a conjuntos de dados.
- Para saber mais sobre como conceder permissões granulares ao BigQuery consulte Como controlar o acesso a tabelas e visualizações.
- Para saber como controlar o acesso ao Dataform com o VPC Service Controls, consulte Configure o VPC Service Controls para o Dataform.