Com o Identity and Access Management (IAM), é possível controlar o acesso aos recursos do projeto. Este documento se concentra nas permissões do IAM relevantes para o Serverless para Apache Spark e nos papéis do IAM que concedem essas permissões.
Permissões do Dataproc para o Serverless para Apache Spark
Com as permissões do Dataproc, os usuários e as contas de serviço podem executar ações em recursos do Serverless para Apache Spark. Por exemplo, a permissão dataproc.batches.create
permite criar cargas de trabalho em lote em um projeto.
Você não concede permissões diretamente aos usuários. Em vez disso, você atribui a eles papéis do IAM, que têm uma ou mais permissões agrupadas. É possível conceder papéis predefinidos que contêm uma lista de permissões ou criar e conceder papéis personalizados que contêm uma ou mais permissões incluídas neles.
As tabelas a seguir listam as permissões básicas necessárias para chamar
APIs (métodos) do Dataproc que criam ou acessam recursos do Serverless para Apache Spark. As tabelas são organizadas de acordo com as APIs associadas a cada recurso do Serverless para Apache Spark, incluindo batches
, sessions
, sessionTemplates
e operations
.
Exemplos:
dataproc.batches.create
permite a criação de lotes no projeto que contém.dataproc.sessions.create
permite a criação de sessões interativas no projeto.
Permissões em lote
Método | Permissõ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 O dataproc.batches.create
também exige permissões de dataproc.batches.get
e
dataproc.operations.get
para receber atualizações de status
da ferramenta de linha de comando gcloud
.
Permissões de sessão
Método | Permissõ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 O dataproc.sessions.create
também exige permissões de dataproc.sessions.get
e
dataproc.operations.get
para receber atualizações de status
da ferramenta de linha de comando gcloud
.
Permissões do modelo de sessão
Método | Permissõ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 O dataproc.sessionTemplates.create
também exige permissões de dataproc.sessionTemplates.get
e
dataproc.operations.get
para receber atualizações de status
da ferramenta de linha de comando gcloud
.
Permissões de operações
Método | Permissão exigida |
---|---|
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 exige a permissão dataproc.batches.cancel
.
Permissões de tempo de execução sem servidor para Apache Spark 3.0 e versões mais recentes
As permissões a seguir se aplicam ao Serverless para Apache Spark 3.0
e
runtimes mais recentes.
Permissões de cargas de trabalho
Método | Permissõ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 |
Permissões do NodePool
Método | Permissõ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 |
Permissões de nós
Método | Permissõ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 |
Permissões de operações
Método | Permissões necessárias |
---|---|
dataprocrm.v1.dataprocrm.projects.locations.operations.get | dataprocrm.operations.get |
dataprocrm.v1.dataprocrm.projects.locations.operations.list | dataprocrm.operations.list |
Papéis do Dataproc e do Dataproc sem servidor
Os papéis do IAM do Dataproc podem conter permissões associadas aos recursos do Dataproc e do Serverless para Apache Spark. As funções do IAM do Dataproc sem servidor contêm permissões associadas a recursos sem servidor para Apache Spark.
Por exemplo, o papel Leitor do Dataproc contém as
permissões de recebimento e listagem dataproc.batches
e dataproc.sessions
, que
permitem que um usuário ou uma conta de serviço receba e liste cargas de trabalho e sessões em lote
em um projeto.
Permissões e requisitos de função do usuário
Os usuários precisam ter a permissão de conta de serviço
ActAs
para implantar recursos do Serverless para Apache Spark, por exemplo, para enviar workloads em lote. Consulte Papéis para a autenticação da conta de serviço para informações detalhadas.Requisitos de função de tempo de execução do Serverless para Apache Spark
3.0
ou posterior:- Uma conta de usuário precisa do papel Editor do Dataproc ou Editor do Dataproc sem servidor para executar lotes e sessões.
- Uma conta de usuário precisa do papel Leitor do Dataproc ou Editor do Dataproc sem servidor para receber e listar lotes e sessões.
- Uma conta de serviço personalizada precisa da função Worker do Dataproc para executar lotes e sessões.
Para informações sobre as contas de serviço associadas ao ambiente de execução
3.0
do Serverless para Apache Spark, consulte Contas de serviço do Serverless para Apache Spark.
Pesquisar papéis e permissões do Dataproc
Use as seções a seguir para pesquisar papéis e permissõ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. |
|
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 resume as permissões associadas aos 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 |