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.createpermite a criação de clusters do Dataproc no projeto que o contémdataproc.jobs.createpermite o envio de tarefas do Dataproc para clusters do Dataproc no projeto que contém o clusterdataproc.clusters.listpermite 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.gettambém é necessária para receber atualizações de estado da CLI Google Cloud. - A autorização
dataproc.clusters.gettambém é necessária para obter o resultado da operação na CLI do Google Cloud. - A autorização
dataproc.autoscalingPolicies.usetambé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.getautorização para os comandosjobs submit,jobs wait,jobs update,jobs deleteejobs kill.A CLI gcloud também requer autorização para enviar tarefas.
dataproc.clusters.getPara ver um exemplo da definição das autorizações necessárias para um utilizador executargcloud dataproc jobs submitnum 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 clusterousubmit jobpode criar e instanciar um modelo de fluxo de trabalho.Além disso, a CLI Google Cloud requer a autorização
dataproc.operations.getpara 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.usepara 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 lista as funções que contêm as autorizações necessárias para criar e gerir clusters do Dataproc.
| Conceder função a | Funções |
|---|---|
| Utilizador | Conceda aos utilizadores as seguintes funções:
|
| Conta de serviço | Conceda à conta de serviço da VM do Dataproc a função de trabalhador do Dataproc. |
Tenha em conta o seguinte:
Pode ter de conceder à conta de serviço da VM do Dataproc funções predefinidas ou personalizadas adicionais que contenham as autorizações necessárias para outras operações, como ler e escrever dados do e para o Cloud Storage, o BigQuery, o Cloud Logging e outros Google Cloud recursos.
Em alguns projetos, a conta de serviço da VM do Dataproc pode ter recebido automaticamente a função de editor do projeto, que inclui as autorizações da função de trabalhador do Dataproc, além de autorizações adicionais que não são necessárias para operações do plano de dados do Dataproc. Para seguir o princípio das práticas recomendadas de segurança do privilégio mínimo, substitua a função Editor pela função Dataproc Worker (consulte o artigo Ver funções da conta de serviço da VM).
Precisa de conceder funções?
Consoante a política da sua organização, pode já ter sido concedida uma função obrigatória.
Verifique as funções concedidas aos utilizadores
Para ver se foi concedida uma função a um utilizador, siga as instruções em Gerir o acesso a projetos, pastas e organizações > Ver acesso atual.
Verifique as funções concedidas às contas de serviço
Para ver se foi concedida uma função a uma conta de serviço, consulte o artigo Ver e gerir funções da conta de serviço do IAM.
Verifique as funções concedidas numa conta de serviço
Para ver se foi concedida uma função a um utilizador numa conta de serviço, siga as instruções em Gerir o acesso às contas de serviço > Ver o acesso atual.
Procure funções e autorizações do Dataproc
Pode usar a secção seguinte para procurar funções e autorizações do Dataproc.
| 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
computesã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.listpara ver gráficos na consola→Dataproc→Detalhes do cluster separador Vista geral. Google Cloud - Um utilizador tem de ter autorização
compute.instances.listpara 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 trabalho | 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 Creatorou 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.
Âmbitos de acesso da VM do Dataproc
Os âmbitos de acesso da VM e as funções de IAM funcionam em conjunto para limitar o acesso da VM às Google Cloud
APIs. Por exemplo, se as VMs do cluster tiverem apenas o âmbito https://www.googleapis.com/auth/storage-full, as aplicações em execução nas VMs do cluster podem chamar APIs Cloud Storage, mas não podem fazer pedidos ao BigQuery, mesmo que estejam a ser executadas como uma conta de serviço de VM à qual foi concedido um papel do BigQuery com autorizações amplas.
Uma prática recomendada é conceder o âmbito cloud-platform amplo
(https://www.googleapis.com/auth/cloud-platform)
às VMs e, em seguida, limitar o acesso às VMs concedendo funções IAM específicas à conta de serviço da VM (consulte a prática recomendada de âmbitos).
Âmbitos predefinidos da VM do Dataproc. Se os âmbitos não forem especificados quando um cluster é criado (consulte gcloud dataproc cluster create --scopes), as VMs do Dataproc têm o seguinte conjunto predefinido de âmbitos:
https://www.googleapis.com/auth/cloud-platform (clusters created with image version 2.1+).
https://www.googleapis.com/auth/bigquery
https://www.googleapis.com/auth/bigtable.admin.table
https://www.googleapis.com/auth/bigtable.data
https://www.googleapis.com/auth/cloud.useraccounts.readonly
https://www.googleapis.com/auth/devstorage.full_control
https://www.googleapis.com/auth/devstorage.read_write
https://www.googleapis.com/auth/logging.write
Se especificar âmbitos ao criar um cluster, as VMs do cluster têm os âmbitos especificados e o seguinte conjunto mínimo de âmbitos obrigatórios (mesmo que não os especifique):
https://www.googleapis.com/auth/cloud-platform (clusters created with image version 2.1+).
https://www.googleapis.com/auth/cloud.useraccounts.readonly
https://www.googleapis.com/auth/devstorage.read_write
https://www.googleapis.com/auth/logging.write
Gestão de políticas de permissão da IAM
Concede funções de IAM a principais através de políticas de permissão. Pode obter e definir políticas de autorização 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 gcloud, consulte o artigo Controlo de acesso através da CLI gcloud.
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