A gestão de identidade e de acesso (IAM) permite-lhe controlar o acesso aos recursos do seu projeto. Este documento centra-se nas autorizações de IAM relevantes para o Serverless for Apache Spark e nas funções de IAM que concedem essas autorizações.
Autorizações do Dataproc para o Serverless para Apache Spark
As autorizações do Dataproc permitem que os utilizadores e as contas de serviço realizem ações em recursos do Serverless para Apache Spark. Por exemplo, a autorização dataproc.batches.create
permite-lhe criar cargas de trabalho em lote num projeto.
Não concede autorizações diretamente aos utilizadores. Em vez disso, concede-lhes funções do IAM, que têm uma ou mais autorizações incluídas. Pode conceder funções predefinidas que contêm uma lista de autorizações ou pode criar e conceder funções personalizadas que contêm uma ou mais autorizações que inclui na função personalizada.
As tabelas seguintes apresentam as autorizações básicas necessárias para chamar as APIs Dataproc (métodos) que criam ou acedem a recursos Serverless para Apache Spark. As tabelas estão organizadas de acordo com as APIs associadas a cada recurso do Serverless for Apache Spark, que incluem batches, sessions, sessionTemplates e operations.
Exemplos:
dataproc.batches.createpermite a criação de lotes no projeto que o contém.- A API
dataproc.sessions.createpermite a criação de sessões interativas no projeto que a contém.
Autorizações em lote
| Método | Autorizações necessárias |
|---|---|
| projects.locations.batches.create | dataproc.batches.create 1 |
| projects.locations.batches.delete | dataproc.batches.delete |
| projects.locations.batches.get | dataproc.batches.get |
| projects.locations.batches.list | dataproc.batches.list |
1 dataproc.batches.create também requer as autorizações dataproc.batches.get e dataproc.operations.get para lhe permitir receber atualizações de estado
da ferramenta de linha de comandos gcloud.
Autorizações de sessão
| Método | Autorizações necessárias |
|---|---|
| projects.locations.sessions.create | dataproc.sessions.create 1 |
| projects.locations.sessions.delete | dataproc.sessions.delete |
| projects.locations.sessions.get | dataproc.sessions.get |
| projects.locations.sessions.list | dataproc.sessions.list |
| projects.locations.sessions.terminate | dataproc.sessions.terminate |
1 dataproc.sessions.create também requer as autorizações dataproc.sessions.get e dataproc.operations.get para lhe permitir receber atualizações de estado da ferramenta de linha de comandos gcloud.
Autorizações de modelos de sessões
| Método | Autorizações necessárias |
|---|---|
| projects.locations.sessionTemplates.create | dataproc.sessionTemplates.create 1 |
| projects.locations.sessionTemplates.delete | dataproc.sessionTemplates.delete |
| projects.locations.sessionTemplates.get | dataproc.sessionTemplates.get |
| projects.locations.sessionTemplates.list | dataproc.sessionTemplates.list |
| projects.locations.sessionTemplates.update | dataproc.sessionTemplates.update |
1 dataproc.sessionTemplates.create também requer as autorizações dataproc.sessionTemplates.get e dataproc.operations.get para lhe permitir receber atualizações de estado
da ferramenta de linha de comandos gcloud.
Autorizações 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 1 | dataproc.operations.cancel |
| projects.regions.operations.delete | dataproc.operations.delete |
| projects.regions.operations.getIamPolicy | dataproc.operations.getIamPolicy |
| projects.regions.operations.setIamPolicy | dataproc.operations.setIamPolicy |
1 Para cancelar operações em lote, o dataproc.operations.cancel também requer a autorização dataproc.batches.cancel.
Autorizações de tempo de execução do Serverless para Apache Spark 3.0 e superior
As seguintes autorizações aplicam-se ao Serverless para Apache Spark 3.0 e aos runtimes posteriores.
Autorizações de cargas de trabalho
| Método | Autorizações necessárias |
|---|---|
| dataprocrm.v1.dataprocrm.projects.locations.workloads.create | dataprocrm.workloads.create |
| dataprocrm.v1.dataprocrm.projects.locations.workloads.cancel | dataprocrm.workloads.cancel |
| dataprocrm.v1.dataprocrm.projects.locations.workloads.delete | dataprocrm.workloads.delete |
| dataprocrm.v1.dataprocrm.projects.locations.workloads.get | dataprocrm.workloads.get |
| dataprocrm.v1.dataprocrm.projects.locations.workloads.list | dataprocrm.workloads.list |
| dataprocrm.v1.dataprocrm.projects.locations.workloads.use | dataprocrm.workloads.use |
Autorizações de NodePools
| Método | Autorizações necessárias |
|---|---|
| dataprocrm.v1.dataprocrm.projects.locations.workloads.nodePools.create | dataprocrm.nodePools.create |
| dataprocrm.v1.dataprocrm.projects.locations.workloads.nodePools.delete | dataprocrm.nodePools.delete |
| dataprocrm.v1.dataprocrm.projects.locations.workloads.nodePools.resize | dataprocrm.nodePools.resize |
| dataprocrm.v1.dataprocrm.projects.locations.workloads.nodePools.deleteNodes | dataprocrm.nodePools.deleteNodes |
| dataprocrm.v1.dataprocrm.projects.locations.workloads.nodePools.update | dataprocrm.nodePools.update |
| dataprocrm.v1.dataprocrm.projects.locations.workloads.nodePools.get | dataprocrm.nodePools.get |
| dataprocrm.v1.dataprocrm.projects.locations.workloads.nodePools.list | dataprocrm.nodePools.list |
Autorizações de nós
| Método | Autorizações necessárias |
|---|---|
| dataprocrm.v1.dataprocrm.projects.locations.workloads.nodePools.nodes.create | dataprocrm.nodes.create |
| dataprocrm.v1.dataprocrm.projects.locations.workloads.nodePools.nodes.delete | dataprocrm.nodes.delete |
| dataprocrm.v1.dataprocrm.projects.locations.workloads.nodePools.nodes.update | dataprocrm.nodes.update |
| dataprocrm.v1.dataprocrm.projects.locations.workloads.nodePools.nodes.heartbeat | dataprocrm.nodes.heartbeat |
| dataprocrm.v1.dataprocrm.projects.locations.workloads.nodePools.nodes.get | dataprocrm.nodes.get |
| dataprocrm.v1.dataprocrm.projects.locations.workloads.nodePools.nodes.list | dataprocrm.nodes.list |
| dataprocrm.v1.dataprocrm.projects.locations.workloads.nodePools.nodes.mintOAuthToken | dataprocrm.nodes.mintOAuthToken |
Autorizações de operações
| Método | Autorizações necessárias |
|---|---|
| dataprocrm.v1.dataprocrm.projects.locations.operations.get | dataprocrm.operations.get |
| dataprocrm.v1.dataprocrm.projects.locations.operations.list | dataprocrm.operations.list |
Requisitos de funções do Serverless para Apache Spark
A tabela seguinte lista as funções que contêm as autorizações necessárias para gerir cargas de trabalho e sessões em lote. Os requisitos podem variar consoante a versão de tempo de execução do lote ou da sessão e se o lote ou a sessão estiver a ser executado com a conta de serviço ou as credenciais do utilizador final (EUC).
| Versão do tempo de execução | Funções de IAM |
|---|---|
pre-3.0 |
Conceda aos utilizadores as seguintes funções:
|
3.0+ |
Conceda aos utilizadores as seguintes funções:
|
Notas:
Quando envia uma carga de trabalho em lote ou cria uma sessão interativa com o tempo de execução
3.0+e as credenciais do utilizador final (a predefinição 3.0 ou superior), as operações do sistema do plano de dados são executadas pelo agente do serviço de nó do Resource Manager do Dataproc. Para mais informações, consulte o artigo Conta de serviço do agente de serviço de tempo de execução 3.0 ou superior.Para compatibilidade com versões anteriores, as funções antigas Editor do Dataproc e Visualizador do Dataproc podem ser concedidas com
3.0+tempos de execução em vez das funções Editor do Dataproc sem servidor e Visualizador do Dataproc sem servidor. Além disso, pode conceder a função Dataproc Worker em vez da função Dataproc Serverless Node.Se uma conta de serviço tiver recebido a função de editor do projeto, contém as autorizações incluídas na função de trabalhador do Dataproc.
Para mais informações, consulte o artigo Contas de serviço do Serverless para Apache Spark.
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 as secções seguintes 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. |
|
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 resume 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 |
O que se segue?
- Saiba como gerir o acesso a projetos, pastas e organizações.