Quando você usa o serviço do Dataproc para criar clusters e executar jobs nos clusters, o serviço configura as funções e permissões do Dataproc necessárias no projeto para acessar e usar os recursos do Google Cloud de que ele precisa para realizar essas tarefas. No entanto, se fizer um trabalho entre projetos, por exemplo, para acessar dados em outro projeto, você precisará configurar os papéis e as permissões necessários para acessar recursos entre projetos.
Para ajudar no trabalho entre projetos, este documento lista os diferentes principais que usam o serviço Dataproc e os papéis que contêm as permissões necessárias para que eles acessem e usem os recursos do Google Cloud.
Há três principais (identidades) que acessam e usam o Dataproc:
- Identidade do usuário
- Identidade do plano de controle
- Identidade do plano de dados
Usuário da API Dataproc (identidade do usuário)
Exemplo: username@example.com
Esse é o usuário que chama o serviço Dataproc para criar clusters, enviar jobs e fazer outras solicitações ao serviço. O usuário geralmente é um indivíduo, mas também pode ser conta de serviço se o Dataproc for invocado por meio de um cliente de API ou de outro Serviços do Google Cloud, como o Compute Engine, as funções do Cloud Run ou o Cloud Composer.
Funções relacionadas
Observações
- Os jobs enviados pela API Dataproc são executados como
root
no Linux. Os clusters do Dataproc herdam os metadados SSH do Compute Engine em todo o projeto, a menos que sejam explicitamente bloqueados definindo
--metadata=block-project-ssh-keys=true
ao criar o cluster. Consulte Metadados do cluster.Os diretórios de usuários do HDFS são criados para cada usuário SSH no nível do projeto. Esses diretórios HDFS são criados no momento da implantação do cluster, e um novo usuário SSH (pós-implantação) não recebe um diretório HDFS em clusters existentes.
Agente de serviço do Dataproc (identidade do plano de controle)
Exemplo: service-project-number@dataproc-accounts.iam.gserviceaccount.com
A conta de serviço do agente de serviço do Dataproc é usada para executar um amplo conjunto de operações do sistema em recursos localizados no projeto em que um cluster do Dataproc é criado, incluindo:
- criar recursos do Compute Engine, inclusive instâncias de VM, grupos de instâncias e modelos de instâncias.
get
elist
operações para confirmar a configuração de recursos, como imagens, firewalls, ações de inicialização do Dataproc e buckets do Cloud Storage- a criação automática dos buckets temporários e de preparo do Dataproc se o bucket de preparo ou temporário não for especificado pelo usuário;
- gravar metadados de configuração do cluster no bucket de preparo;
- Como acessar redes VPC em um projeto host
Funções relacionadas
Conta de serviço de VM do Dataproc (identidade do plano de dados)
Exemplo: project-number-compute@developer.gserviceaccount.com
O código do aplicativo é executado como a conta de serviço da VM nas VMs do Dataproc. Os jobs do usuário recebem os papéis (com as permissões associadas) dessa conta de serviço.
A conta de serviço da VM:
- se comunica com o plano de controle do Dataproc;
- lê e grava dados de e para buckets temporários e de preparo do Dataproc.
- Conforme necessário para os jobs do Dataproc, lê e grava dados de e para o Cloud Storage, o BigQuery, o Cloud Logging e outros recursos do Google Cloud.
Funções relacionadas
Para mais informações
- Papéis e permissões do Dataproc
- Contas de serviço
- Controle de acesso do BigQuery
- Opções de controle de acesso do Cloud Storage