Quando usa o serviço Dataproc para criar clusters e executar tarefas nos seus clusters, o serviço configura as funções e autorizações do Dataproc no seu projeto para aceder e usar os Google Cloud recursos de que precisa para realizar estas tarefas. No entanto, se realizar trabalho entre projetos, por exemplo, para aceder a dados noutro projeto, tem de configurar as funções e as autorizações necessárias para aceder a recursos entre projetos.
Para ajudar a realizar com êxito o trabalho entre projetos, este documento lista os diferentes principais que usam o serviço Dataproc e as funções que contêm as autorizações necessárias para que esses principais acedam e usem Google Cloud recursos.
Existem três principais (identidades) que acedem e usam o Dataproc:
- Identidade do utilizador
- Identidade do plano de controlo
Identidade do plano de dados
Utilizador da API Dataproc (identidade do utilizador)
Exemplo: username@example.com
Este é o utilizador que chama o serviço Dataproc para criar clusters, enviar tarefas e fazer outros pedidos ao serviço. Normalmente, o utilizador é um indivíduo, mas também pode ser uma conta de serviço se o Dataproc for invocado através de um cliente de API ou de outroGoogle Cloud serviço, como o Compute Engine, as funções do Cloud Run ou o Cloud Composer.
Funções relacionadas
Notes
- As tarefas enviadas pela API Dataproc são executadas como
root
no Linux. Os clusters do Dataproc herdam os metadados SSH do Compute Engine ao nível do projeto, a menos que sejam explicitamente bloqueados através da definição de
--metadata=block-project-ssh-keys=true
quando cria o cluster (consulte Metadados do cluster).Os diretórios de utilizadores do HDFS são criados para cada utilizador SSH ao nível do projeto. Estes diretórios HDFS são criados no momento da implementação do cluster, e um novo utilizador SSH (pós-implementação) não recebe um diretório HDFS em clusters existentes.
Agente de serviço do Dataproc (identidade do plano de controlo)
Exemplo: service-project-number@dataproc-accounts.iam.gserviceaccount.com
A conta de serviço do agente de serviço do Dataproc é usada para realizar um conjunto alargado de operações do sistema em recursos localizados no projeto onde é criado um cluster do Dataproc, incluindo:
- Criação de recursos do Compute Engine, incluindo instâncias de VM, grupos de instâncias e modelos de instâncias
get
elist
para confirmar a configuração de recursos como imagens, firewalls, ações de inicialização do Dataproc e contentores do Cloud Storage- Criação automática dos buckets de preparação e temporários do Dataproc se o utilizador não especificar o bucket de preparação ou temporário
- Escrever metadados de configuração do cluster no contentor de preparação
- Aceder a redes VPC num projeto anfitrião
Funções relacionadas
Conta de serviço da VM do Dataproc (identidade do plano de dados)
Exemplo: project-number-compute@developer.gserviceaccount.com
O código da sua aplicação é executado como a conta de serviço da VM em VMs do Dataproc. As tarefas do utilizador recebem as funções (com as respetivas autorizações associadas) desta conta de serviço.
A conta de serviço da VM faz o seguinte:
- Comunica com o plano de controlo do Dataproc.
- Lê e grava dados dos e para os contentores temporários e de preparação do Dataproc.
- Conforme necessário para as suas tarefas do Dataproc, lê e escreve dados de e para o Cloud Storage, o BigQuery, o Cloud Logging e outros Google Cloud recursos.
Funções relacionadas
O que se segue?
- Saiba mais sobre as funções e as autorizações do Dataproc.
- Saiba mais sobre as contas de serviço do Dataproc.
- Consulte o artigo Controlo de acesso do BigQuery.
- Consulte as opções de controlo de acesso do Cloud Storage.