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 for 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.create
permite a criação de lotes no projeto que o contém.dataproc.sessions.create
permite a criação de sessões interativas no projeto que o 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 sem servidor para o Apache Spark 3.0 e superior
As seguintes autorizações aplicam-se ao Serverless para Apache Spark 3.0
e 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 |
Funções do Dataproc e Dataproc sem servidor
As funções do IAM do Dataproc podem conter autorizações associadas a recursos do Dataproc e do Serverless para Apache Spark. As funções do IAM do Dataproc sem servidor contêm autorizações associadas a recursos sem servidor para Apache Spark.
Por exemplo, a função Dataproc Viewer contém as autorizações
dataproc.batches
e dataproc.sessions
get e list, que
permitem a um utilizador ou a uma conta de serviço obter e listar cargas de trabalho e sessões em lote
num projeto.
Autorizações de utilizadores e requisitos de funções
Os utilizadores têm de ter a autorização conta de serviço
ActAs
para implementar recursos sem servidor para o Apache Spark, por exemplo, para enviar cargas de trabalho em lote. Consulte o artigo Funções para autenticação de contas de serviço para ver informações detalhadas.Requisitos de funções de tempo de execução do Serverless para Apache Spark
3.0
ou posterior:- Uma conta de utilizador precisa da função Editor do Dataproc ou Editor do Dataproc sem servidor para executar lotes e sessões.
- Uma conta de utilizador precisa da função Dataproc Viewer ou Dataproc Serverless Editor para obter e listar lotes e sessões.
- Uma conta de serviço personalizada precisa da função Dataproc Worker para executar lotes e sessões.
Para obter informações sobre as contas de serviço associadas ao tempo de execução do Serverless for Apache Spark
3.0
, consulte o artigo Contas de serviço do Serverless for Apache Spark.
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.