Conceder papéis de conta de serviço ao Managed Service for Apache Spark

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

  1. No Google Cloud console do, acesse a página Identity and Access Management.
    Acessar a página "IAM"
  2. 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.
  3. 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

  1. No Google Cloud console do, acesse a página Contas de serviço.
    Acessar a página Contas de serviço
  2. 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.
  3. Clique no endereço de e-mail do serviço gerenciado para a conta de serviço do Apache Spark.

  4. Clique na guia Principais com acesso. A página mostra uma lista de principais que receberam papéis na conta de serviço.

  5. Clique em Conceder acesso.

  6. No campo Novos principais, cole o nome da conta de serviço do Cloud Data Fusion que você copiou anteriormente.

  7. Selecione o papel Usuário da conta de serviço.

    Usuário da conta de serviço

  8. 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