Nesta página, descrevemos como conceder o papel de usuário da conta de serviço no serviço gerenciado para a conta de serviço do Apache Spark ao agente de serviço do Cloud Data Fusion para permitir que ele provisione e execute pipelines em clusters do serviço gerenciado para o Apache Spark.
Para contas de serviço usadas pelo serviço gerenciado para o Apache Spark, também é necessário
conceder datafusion.instances.runtime permissão para acessar
os recursos de execução do Cloud Data Fusion.
Se você usa uma conta de serviço gerenciado pelo usuário ou a conta de serviço padrão do Compute Engine 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 Cloud Data Fusion não poderá provisionar um serviço gerenciado para o cluster do Apache Spark, 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 Managed Service for Apache Spark operation failure: INVALID_ARGUMENT: User not authorized to act as service account '[service-account-name]'
Receber o nome da conta de serviço
- No Google Cloud console do, 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 do usuário da conta de serviço
- No Google Cloud console do, acesse a página Contas de serviço.
Acessar a página Contas de serviço - Clique em Selecionar um projeto, escolha aquele em que está localizada a conta de serviço que você quer usar para o serviço gerenciado para o cluster do Apache Spark e, em seguida, clique em Abrir.
Clique no endereço de e-mail do serviço gerenciado para a conta de serviço do Apache Spark.
Clique na guia Principais com acesso. A página mostra uma lista de principais que receberam papéis na conta de serviço.
Clique em Conceder acesso.
No campo Novos 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 Salvar.
Conceder papéis ao serviço gerenciado para contas de serviço do Apache Spark
Conceder permissão de papel de executor
Conceda o papel de executor do Cloud Data Fusion
(roles/datafusion.runner) a contas de serviço que são usadas pelo
serviço gerenciado para o Apache Spark. Isso autoriza o serviço gerenciado para a conta de serviço do Apache Spark 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 que são usadas pelo
serviço gerenciado para o Apache Spark 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 service accounts.