Visão geral
O Identity and Access Management (IAM) permite controlar o acesso de usuários e grupos aos recursos do projeto. Este documento se concentra nas permissões do IAM correspondentes ao Dataproc e os papéis do IAM que concedem essas permissões.
Permissões do Dataproc
Com as permissões do Dataproc, os usuários, incluindo contas de serviço, podem realizar ações em clusters, jobs, operações e modelos de fluxo de trabalho do Dataproc. Por exemplo, o dataproc.clusters.create
permite que um usuário crie clusters do Dataproc em um projeto.
Normalmente, você não concede permissões, mas sim
papéis, que incluem uma ou mais permissões.
As tabelas a seguir listam as permissões necessárias para chamar as APIs (métodos) do Dataproc. As tabelas são organizadas de acordo com as APIs associadas às cada recurso do Dataproc (clusters, jobs, operações e modelos de fluxo de trabalho).
Escopo da permissão: o escopo das permissões do Dataproc listadas nas tabelas a seguir é o projeto do Google Cloud (escopo cloud-platform
). Consulte
Permissões da conta de serviço.
Exemplos:
dataproc.clusters.create
permite a criação de Clusters do Dataproc no projetodataproc.jobs.create
permite o envio de jobs do Dataproc para clusters do Dataproc no projetodataproc.clusters.list
permite a listagem de detalhes de clusters do Dataproc no projeto
Permissões necessárias para os métodos de clusters
Método | Permissõ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 |
Observações:
- A permissão
dataproc.operations.get
também é necessária para receber atualizações de status da CLI do Google Cloud. - A permissão
dataproc.clusters.get
também é necessária para receber o resultado da operação pela Google Cloud CLI. - A permissão
dataproc.autoscalingPolicies.use
também é necessária para ativar uma política de escalonamento automático em um cluster.
Permissões necessárias para métodos de jobs
Método | Permissõ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 |
Observações:
A CLI do Google Cloud também requer
dataproc.jobs.get
permissão parajobs submit
,jobs wait
,jobs update
,jobs delete
ejobs kill
.A CLI gcloud também requer a permissão
dataproc.clusters.get
para enviar jobs. Para um exemplo de configuração das permissões necessárias para que um usuário executegcloud dataproc jobs submit
em um cluster usando o IAM granular do Dataproc, consulte Envio de jobs com IAM granular.
Permissões necessárias para métodos de operações
Método | Permissõ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 |
Permissões necessárias para métodos de modelos de fluxo de trabalho
Método | Permissõ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 |
Observações:
As permissões do modelo de fluxo de trabalho não dependem das permissões de cluster e job. Um usuário sem as permissões
create cluster
ousubmit job
pode criar e instanciar um modelo de fluxo de trabalho.Além disso, a CLI do Google Cloud requer a permissão
dataproc.operations.get
para pesquisar a conclusão do fluxo de trabalho.A permissão
dataproc.operations.cancel
é necessária para cancelar um fluxo de trabalho em execução.
Permissões necessárias para métodos de políticas de escalonamento automático
Método | Permissõ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:
- A permissão
dataproc.autoscalingPolicies.use
é necessária para ativar uma política de escalonamento automático em um cluster com uma solicitação de métodoclusters.patch
.
Permissões necessárias para métodos de grupos de nós
Método | Permissões necessárias |
---|---|
projects.regions.nodeGroups.create | dataproc.nodeGroups.create |
projects.regions.nodeGroups.get | dataproc.nodeGroups.get |
projects.regions.nodeGroups.resize | dataproc.nodeGroups.update |
Papéis do Dataproc
Os papéis do IAM do Dataproc
são um pacote de uma ou mais permissões.
Você concede papéis a usuários ou grupos para permitir que executem ações nos
recursos do Dataproc em um projeto. Por exemplo:
o papel Leitor do Dataproc contém
Permissões get
e list
, que permitem que um usuário receba e liste
Clusters, jobs e operações do Dataproc em um projeto.
A tabela a seguir lista os papéis de IAM do Dataproc e as permissões associadas a cada um.
Papéis do Dataproc |
Permissões |
Administrador do Dataproc( Controle total dos recursos do Dataproc. |
|
Editor do Dataproc( Concede as permissões necessárias para visualizar os recursos necessários para gerenciar o Dataproc, incluindo tipos de máquina, redes, projetos e zonas. Recursos de nível mais baixo em que você pode conceder esse papel:
|
|
Agente do Dataproc Hub( Permite o gerenciamento de recursos do Dataproc. Destinado a contas de serviço que executam instâncias do Dataproc Hub. |
|
Leitor do Dataproc( Dá acesso somente leitura aos recursos do Dataproc. Recursos de nível mais baixo em que você pode conceder esse papel:
|
|
Worker do Dataproc( Dá acesso de worker aos recursos do Dataproc. Destinado a contas de serviço. |
|
Observações:
- As permissões
compute
são necessárias ou recomendadas para criar e visualizar clusters do Dataproc ao usar o console do Google Cloud ou a CLI do Google Cloud gcloud. - Para permitir que um usuário faça o upload de arquivos, atribua o papel
Storage Object Creator
. Para permitir que um usuário visualize a saída do job, atribua o papelStorage Object Viewer
. - Um usuário precisa ter a permissão
monitoring.timeSeries.list
para visualizar gráficos na guia "Visão geral" do console do Google Cloud→Dataproc→Detalhes do cluster. - Um usuário precisa ter a permissão
compute.instances.list
para visualizar o status da instância e o menu SSH da instância mestre na guia "Instâncias da VM" do Console do Google Cloud→Dataproc→Detalhes do cluster. Para informações sobre os papéis do Compute Engine, consulte Compute Engine → Papéis do IAM disponíveis). - Para criar um cluster com uma conta de serviço especificada pelo usuário, essa conta precisa ter todas as permissões concedidas pelo papel
Dataproc Worker
, que inclui acesso aos buckets de preparação e temporários do Dataproc. Papéis adicionais podem ser necessários, dependendo dos recursos configurados. Consulte Criar um cluster com uma conta de serviço de VM personalizada para mais informações.
Papéis do projeto
Você também pode definir permissões no nível do projeto usando os papéis do Projeto do IAM. A tabela a seguir lista as permissões associadas Papéis do projeto do IAM:
Papel do projeto | Permissões |
---|---|
Visualizador do projeto | Todas as permissões do projeto para ações somente leitura que preservam o estado (get, lista) |
Editor do projeto | Todas as permissões do Visualizador do projeto acrescidas de todas as permissões do projeto para ações que modificam o estado (criar, excluir, atualizar, usar, cancelar, interromper, iniciar) |
Proprietário do projeto | Todas as permissões do Editor do projeto acrescidas das permissões para gerenciar o controle de acesso do projeto (get/set IamPolicy) e configurar o faturamento do projeto |
Resumo dos papéis de IAM e de operações do Dataproc
A tabela a seguir lista as operações do Dataproc associadas projeto e do Dataproc.
Operação | Editor do projeto | Visualizador do projeto | Administrador do Dataproc | Editor do Dataproc | Leitor do Dataproc |
---|---|---|---|---|---|
Receber/Definir permissõ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 |
Receber detalhes do cluster | Sim | Sim | Sim 1, 2 | Sim 1, 2 | Sim 1, 2 |
Atualizar cluster | Sim | Não | Sim | Sim | Não |
Excluir cluster | Sim | Não | Sim | Sim | Não |
Iniciar/parar cluster | Sim | Não | Sim | Sim | Não |
Enviar job | Sim | Não | Sim 3 | Sim 3 | Não |
Listar jobs | Sim | Sim | Sim | Sim | Sim |
Receber detalhes do job | Sim | Sim | Sim 4 | Sim 4 | Sim 4 |
Cancelar job | Sim | Não | Sim | Sim | Não |
Excluir job | Sim | Não | Sim | Sim | Não |
Listar operações | Sim | Sim | Sim | Sim | Sim |
Receber detalhes da operação | Sim | Sim | Sim | Sim | Sim |
Excluir operação | Sim | Não | Sim | Sim | Não |
Notas:
- O gráfico de desempenho não estará disponível a menos que o usuário também tenha um
papel com a permissão
monitoring.timeSeries.list
. - A lista de VMs no cluster não incluirá informações
de status ou um link SSH para a instância mestre, a menos que o usuário também tenha um papel com
a permissão
compute.instances.list
. - Os jobs que fazem upload de arquivos exigem que o usuário tenha a permissão
Storage Object Creator
de acesso de gravação ou papel bucket de preparo. - A saída do job não estará disponível, a menos que o usuário também tenha o papel Leitor de objetos de armazenamento ou tenha recebido acesso de leitura ao bucket de preparo do projeto.
Contas de serviço
Quando você chama APIs do Dataproc para realizar ações em um projeto, como criar instâncias de VM, o Dataproc realiza essas ações em seu nome usando uma conta de serviço com as permissões necessárias para executar as ações. Para mais informações, consulte Contas de serviço do Dataproc
Gerenciamento do IAM
É possível receber e definir políticas do IAM usando o console do Google Cloud, a API IAM ou a CLI do Google Cloud.
- Para acessar o console do Google Cloud, consulte Controle de acesso usando o console do Google Cloud.
- Para a API, consulte Controle de acesso usando a API.
- Para a Google Cloud CLI, consulte Controle de acesso usando a Google Cloud CLI.
A seguir
- Conheça os principais e os papéis do Dataproc
- Saiba mais sobre o IAM granular do Dataproc
- Saiba mais sobre o IAM.
- Saiba mais sobre contas de serviço no Dataproc