Nesta página, descrevemos como conceder o papel de usuário da conta de serviço do Dataproc ao Cloud Data Fusion para permitir que ele provisione e execute pipelines em clusters do serviço.
Para contas de serviço usadas pelo Dataproc, você também precisa
conceder permissão datafusion.instances.runtime
para acessar
os recursos de ambiente de execução do Cloud Data Fusion.
Se você usa uma conta de serviço padrão do Compute Engine ou uma gerenciada pelo usuário nas máquinas virtuais de um cluster, é necessário conceder o papel de usuário da conta de serviço ao Cloud Data Fusion. Caso contrário, o produto não poderá provisionar um cluster do Dataproc, e o seguinte erro será exibido quando você executar um pipeline de dados:
PROVISION task failed in REQUESTING_CREATE state for program run [pipeline-name] due to Dataproc operation failure: INVALID_ARGUMENT: User not authorized to act as service account '[service-account-name]'
Conferir o nome da conta de serviço
- No console do Google Cloud, acesse a página "Identity and Access Management".
Acessar a página "IAM" - No seletor na parte superior da página, escolha o projeto, a pasta ou a organização à qual a instância do Cloud Data Fusion pertence.
- Encontre e copie o nome da conta de serviço do Cloud Data Fusion. Use o seguinte formato:
service-[project-number]@gcp-sa-datafusion.iam.gserviceaccount.com
.
Conceder permissão ao usuário da conta de serviço
- No Console do Google Cloud, acesse a página Contas de serviço.
Acessar a página de contas de serviço - Clique em Selecionar um projeto, escolha o projeto em que está localizada a conta de serviço que você quer usar para o cluster do Dataproc e clique em Abrir.
Clique no endereço de e-mail da conta de serviço do Dataproc.
Clique na guia Permissões.. A página mostra uma lista dos principais que receberam papéis na conta de serviço.
Clique em
CONCEDER ACESSO.No campo Novas principais, cole o nome da conta de serviço do Cloud Data Fusion que você copiou anteriormente.
Selecione o papel Usuário da conta de serviço.
Clique em Save.
Conceder papéis a contas de serviço do Dataproc
Conceder permissão ao papel de executor
Conceda o papel de executor do Cloud Data Fusion (roles/datafusion.runner
) às contas de serviço usadas pelo Dataproc. Isso autoriza a conta de serviço
do Dataproc a executar pipelines do Cloud Data Fusion no seu projeto.
Para mais informações, consulte Como exigir permissão para anexar contas de serviço a recursos.
Conceder permissão de administrador do Cloud Storage
Nas versões 6.2.0 e mais recentes do Cloud Data Fusion, conceda o
papel de administrador do Cloud Storage
(roles/storage.admin
) às contas de serviço usadas pelo
Dataproc no seu projeto.
A seguir
- Saiba mais sobre o controle de acesso no Cloud Data Fusion.
- Saiba mais sobre as contas de serviço do Cloud Data Fusion.