Vista geral
A gestão de identidade e de acesso (IAM) permite-lhe controlar o acesso de utilizadores e grupos aos recursos do projeto. Este documento centra-se nas autorizações de IAM relevantes para o Dataproc e nas funções de IAM que concedem essas autorizações.
Autorizações do Dataproc
As autorizações do Dataproc permitem que os utilizadores, incluindo
contas de serviço,
executem ações em clusters, tarefas, operações e modelos de fluxo de trabalho do Dataproc. Por exemplo, a autorização dataproc.clusters.create
permite que um utilizador crie clusters do Dataproc num projeto.
Normalmente, não concede autorizações. Em vez disso, concede funções, que incluem uma ou mais autorizações.
As tabelas seguintes listam as autorizações necessárias para chamar as APIs (métodos) Dataproc. As tabelas estão organizadas de acordo com as APIs associadas a cada recurso do Dataproc (clusters, tarefas, operações e modelos de fluxo de trabalho).
Âmbito das autorizações: o âmbito das autorizações do Dataproc indicadas nas tabelas seguintes é o projeto Google Cloud
que contém (âmbito cloud-platform
). Consulte as
Autorizações da conta de serviço.
Exemplos:
dataproc.clusters.create
permite a criação de clusters do Dataproc no projeto que o contémdataproc.jobs.create
permite o envio de tarefas do Dataproc para clusters do Dataproc no projeto que contém o clusterdataproc.clusters.list
permite a apresentação de detalhes dos clusters do Dataproc no projeto que os contém
Autorizações necessárias para os métodos de clusters
Método | Autorizações necessárias |
---|---|
projects.regions.clusters.create 1, 2 | dataproc.clusters.create |
projects.regions.clusters.get | dataproc.clusters.get |
projects.regions.clusters.list | dataproc.clusters.list |
projects.regions.clusters.patch 1, 2, 3 | dataproc.clusters.update |
projects.regions.clusters.delete 1 | dataproc.clusters.delete |
projects.regions.clusters.start | dataproc.clusters.start |
projects.regions.clusters.stop | dataproc.clusters.stop |
projects.regions.clusters.getIamPolicy | dataproc.clusters.getIamPolicy |
projects.regions.clusters.setIamPolicy | dataproc.clusters.setIamPolicy |
Notas:
- A autorização
dataproc.operations.get
também é necessária para receber atualizações de estado da CLI Google Cloud. - A autorização
dataproc.clusters.get
também é necessária para obter o resultado da operação na CLI do Google Cloud. - A autorização
dataproc.autoscalingPolicies.use
também é necessária para ativar uma política de escalabilidade automática num cluster.
Autorizações necessárias para os métodos de tarefas
Método | Autorizações necessárias |
---|---|
projects.regions.jobs.submit 1, 2 | dataproc.jobs.create dataproc.clusters.use |
projects.regions.jobs.get | dataproc.jobs.get |
projects.regions.jobs.list | dataproc.jobs.list |
projects.regions.jobs.cancel 1 | dataproc.jobs.cancel |
projects.regions.jobs.patch 1 | dataproc.jobs.update |
projects.regions.jobs.delete 1 | dataproc.jobs.delete |
projects.regions.jobs.getIamPolicy | dataproc.jobs.getIamPolicy |
projects.regions.jobs.setIamPolicy | dataproc.jobs.setIamPolicy |
Notas:
A CLI do Google Cloud também requer
dataproc.jobs.get
autorização para os comandosjobs submit
,jobs wait
,jobs update
,jobs delete
ejobs kill
.A CLI gcloud também requer autorização para enviar tarefas.
dataproc.clusters.get
Para ver um exemplo da definição das autorizações necessárias para um utilizador executargcloud dataproc jobs submit
num cluster através do IAM detalhado do Dataproc (consulte o artigo Enviar tarefas com o IAM detalhado).
Autorizações necessárias para métodos de operações
Método | Autorizações necessárias |
---|---|
projects.regions.operations.get | dataproc.operations.get |
projects.regions.operations.list | dataproc.operations.list |
projects.regions.operations.cancel | dataproc.operations.cancel |
projects.regions.operations.delete | dataproc.operations.delete |
projects.regions.operations.getIamPolicy | dataproc.operations.getIamPolicy |
projects.regions.operations.setIamPolicy | dataproc.operations.setIamPolicy |
Autorizações necessárias para os métodos de modelos de fluxos de trabalho
Método | Autorizações necessárias |
---|---|
projects.regions.workflowTemplates.instantiate | dataproc.workflowTemplates.instantiate |
projects.regions.workflowTemplates.instantiateInline | dataproc.workflowTemplates.instantiateInline |
projects.regions.workflowTemplates.create | dataproc.workflowTemplates.create |
projects.regions.workflowTemplates.get | dataproc.workflowTemplates.get |
projects.regions.workflowTemplates.list | dataproc.workflowTemplates.list |
projects.regions.workflowTemplates.update | dataproc.workflowTemplates.update |
projects.regions.workflowTemplates.delete | dataproc.workflowTemplates.delete |
projects.regions.workflowTemplates.getIamPolicy | dataproc.workflowTemplates.getIamPolicy |
projects.regions.workflowTemplates.setIamPolicy | dataproc.workflowTemplates.setIamPolicy |
Notas:
As autorizações do modelo de fluxo de trabalho são independentes das autorizações de cluster e de tarefa. Um utilizador sem autorizações
create cluster
ousubmit job
pode criar e instanciar um modelo de fluxo de trabalho.Além disso, a CLI Google Cloud requer a autorização
dataproc.operations.get
para verificar a conclusão do fluxo de trabalho.A autorização
dataproc.operations.cancel
é necessária para cancelar um fluxo de trabalho em execução.
Autorizações necessárias para os métodos das políticas de escalabilidade automática
Método | Autorizações necessárias |
---|---|
projects.regions.autoscalingPolicies.create | dataproc.autoscalingPolicies.create |
projects.regions.autoscalingPolicies.get | dataproc.autoscalingPolicies.get |
projects.regions.autoscalingPolicies.list | dataproc.autoscalingPolicies.list |
projects.regions.autoscalingPolicies.update | dataproc.autoscalingPolicies.update |
projects.regions.autoscalingPolicies.delete | dataproc.autoscalingPolicies.delete |
projects.regions.autoscalingPolicies.getIamPolicy | dataproc.autoscalingPolicies.getIamPolicy |
projects.regions.autoscalingPolicies.setIamPolicy | dataproc.autoscalingPolicies.setIamPolicy |
Notas:
- É necessária a autorização
dataproc.autoscalingPolicies.use
para ativar uma política de escalabilidade automática num cluster com um pedido do métodoclusters.patch
.
Autorizações necessárias para métodos de grupos de nós
Método | Autorizações necessárias |
---|---|
projects.regions.nodeGroups.create | dataproc.nodeGroups.create |
projects.regions.nodeGroups.get | dataproc.nodeGroups.get |
projects.regions.nodeGroups.resize | dataproc.nodeGroups.update |
Funções do Dataproc
As funções de IAM do Dataproc
são um conjunto de uma ou mais autorizações.
Concede funções a utilizadores ou grupos para lhes permitir realizar ações nos recursos do Dataproc num projeto. Por exemplo, a função Dataproc Viewer contém as autorizações get
e list
, que permitem a um utilizador obter e listar clusters, tarefas e operações do Dataproc num projeto.
A tabela seguinte apresenta as funções de IAM do Dataproc e as autorizações associadas a cada função.
Role | Permissions |
---|---|
Dataproc Administrator( Full control of Dataproc resources. |
|
Dataproc Editor( Provides the permissions necessary for viewing the resources required to manage Dataproc, including machine types, networks, projects, and zones. Lowest-level resources where you can grant this role:
|
|
Dataproc Hub Agent( Allows management of Dataproc resources. Intended for service accounts running Dataproc Hub instances. |
|
Dataproc Serverless Editor( Permissions needed to run serverless sessions and batches as a user |
|
Dataproc Serverless Node.( Node access to Dataproc Serverless sessions and batches. Intended for service accounts. |
|
Dataproc Serverless Viewer( Permissions needed to view serverless sessions and batches |
|
Dataproc Service Agent( Gives Dataproc Service Account access to service accounts, compute resources, storage resources, and kubernetes resources. Includes access to service accounts. |
|
Dataproc Viewer( Provides read-only access to Dataproc resources. Lowest-level resources where you can grant this role:
|
|
Dataproc Worker( Provides worker access to Dataproc resources. Intended for service accounts. |
|
Notas:
- As autorizações
compute
são necessárias ou recomendadas para criar e ver clusters do Dataproc quando usa a Google Cloud consola ou a CLI gcloud Google Cloud CLI. - Para permitir que um utilizador carregue ficheiros, conceda-lhe a função
Storage Object Creator
. Para permitir que um utilizador veja o resultado de uma tarefa, conceda-lhe a funçãoStorage Object Viewer
. - Um utilizador tem de ter autorização
monitoring.timeSeries.list
para ver gráficos na consola→Dataproc→Detalhes do cluster separador Vista geral. Google Cloud - Um utilizador tem de ter autorização
compute.instances.list
para ver o estado da instância e o menu SSH da instância principal no separadorGoogle Cloud console→Dataproc→Detalhes do cluster Instâncias de VMs. Para obter informações sobre as funções do Compute Engine, consulte Compute Engine→Funções IAM disponíveis). - Para criar um cluster com uma conta de serviço especificada pelo utilizador, a conta de serviço especificada tem de ter todas as autorizações concedidas pela função
Dataproc Worker
, que incluem o acesso aos buckets de preparação e temporários do Dataproc. Podem ser necessárias funções adicionais consoante as funcionalidades configuradas. Consulte o artigo Crie um cluster com uma conta de serviço de VM personalizada para mais informações.
Funções do projeto
Também pode definir autorizações ao nível do projeto através das funções de projeto do IAM. A tabela seguinte indica as autorizações associadas às funções de projeto do IAM:
Função do projeto | Autorizações |
---|---|
Visualizador de projetos | Todas as autorizações do projeto para ações só de leitura que preservam o estado (get e list) |
Editor de projeto | Todas as autorizações de visualizador de projetos, além de todas as autorizações de projetos para ações que modificam o estado (criar, eliminar, atualizar, usar, cancelar, parar, iniciar) |
Proprietário do projeto | Todas as autorizações de editor do projeto, além das autorizações para gerir o controlo de acesso do projeto (get/set IamPolicy) e configurar a faturação do projeto |
Funções IAM e resumo das operações do Dataproc
A tabela seguinte apresenta as operações do Dataproc associadas aos papéis do projeto e do Dataproc.
Operação | Editor de projeto | Visualizador de projetos | Administrador do Dataproc | Editor do Dataproc | Visualizador do Dataproc |
---|---|---|---|---|---|
Obtenha/defina autorizações de IAM do Dataproc | Não | Não | Sim | Não | Não |
Criar cluster | Sim | Não | Sim | Sim | Não |
Listar clusters | Sim | Sim | Sim | Sim | Sim |
Obtenha detalhes do cluster | Sim | Sim | Sim 1, 2 | Sim 1, 2 | Sim 1, 2 |
Atualizar cluster | Sim | Não | Sim | Sim | Não |
Eliminar cluster | Sim | Não | Sim | Sim | Não |
Iniciar/parar cluster | Sim | Não | Sim | Sim | Não |
Enviar tarefa | Sim | Não | Sim 3 | Sim 3 | Não |
Anuncie empregos | Sim | Sim | Sim | Sim | Sim |
Obtenha detalhes do emprego | Sim | Sim | Sim 4 | Sim 4 | Sim 4 |
Cancelar tarefa | Sim | Não | Sim | Sim | Não |
Eliminar tarefa | Sim | Não | Sim | Sim | Não |
Apresentar operações | Sim | Sim | Sim | Sim | Sim |
Obtenha detalhes da operação | Sim | Sim | Sim | Sim | Sim |
Operação de eliminação | Sim | Não | Sim | Sim | Não |
Notas:
- O gráfico de desempenho não está disponível, a menos que o utilizador também tenha uma função com a autorização
monitoring.timeSeries.list
. - A lista de VMs no cluster não inclui informações de estado nem um link SSH para a instância principal, a menos que o utilizador também tenha uma função com a autorização
compute.instances.list
. - As tarefas que carregam ficheiros requerem que o utilizador tenha a função
Storage Object Creator
ou acesso de escrita ao Dataproc staging bucket. - O resultado da tarefa não está disponível, a menos que o utilizador também tenha a função Storage Object Viewer ou lhe tenha sido concedido acesso de leitura ao contentor de preparação para o projeto.
Contas de serviço
Quando chama as APIs Dataproc para realizar ações num projeto, como criar instâncias de VMs, o Dataproc realiza as ações em seu nome através de uma conta de serviço que tem as autorizações necessárias para realizar as ações. Para mais informações, consulte o artigo Contas de serviço do Dataproc.
Gestão de IAM
Pode obter e definir políticas de IAM através da Google Cloud consola, da API IAM ou da CLI Google Cloud.
- Para a Google Cloud consola, consulte Controlo de acesso através da Google Cloud consola.
- Para a API, consulte o artigo Controlo de acesso através da API.
- Para a CLI do Google Cloud, consulte o artigo Controlo de acesso através da CLI do Google Cloud.
O que se segue?
- Saiba mais sobre as funções e os principais do Dataproc
- Saiba mais sobre a IAM detalhada do Dataproc
- Saiba mais sobre a IAM.
- Saiba mais sobre as contas de serviço no Dataproc