Gestión de Identidades y Accesos (IAM) te permite controlar el acceso a los recursos de tu proyecto. Este documento se centra en los permisos de gestión de identidades y accesos relevantes para Serverless para Apache Spark y en los roles de gestión de identidades y accesos que conceden esos permisos.
Permisos de Dataproc para Serverless para Apache Spark
Los permisos de Dataproc permiten que los usuarios y las cuentas de servicio realicen acciones en recursos de Serverless para Apache Spark. Por ejemplo, el permiso dataproc.batches.create
te permite crear cargas de trabajo por lotes en un proyecto.
No se otorgan permisos directamente a los usuarios, sino que se les asignan roles de gestión de identidades y accesos, que incluyen uno o varios permisos. Puedes conceder roles predefinidos que contengan una lista de permisos, o bien crear y conceder roles personalizados que contengan uno o varios permisos que incluyas en el rol personalizado.
En las siguientes tablas se indican los permisos básicos necesarios para llamar a las APIs (métodos) de Dataproc que crean o acceden a recursos de Serverless para Apache Spark. Las tablas se organizan según las APIs asociadas a cada recurso de Serverless para Apache Spark, que incluyen batches
, sessions
, sessionTemplates
y operations
.
Ejemplos:
dataproc.batches.create
permite crear lotes en el proyecto que lo contiene.dataproc.sessions.create
permite crear sesiones interactivas en el proyecto contenedor.
Permisos por lotes
Método | Permisos obligatorios |
---|---|
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
también requiere los permisos dataproc.batches.get
y
dataproc.operations.get
para poder obtener actualizaciones de estado
de la herramienta de línea de comandos gcloud
.
Permisos de sesión
Método | Permisos obligatorios |
---|---|
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
también requiere los permisos dataproc.sessions.get
y
dataproc.operations.get
para poder obtener actualizaciones de estado
de la herramienta de línea de comandos gcloud
.
Permisos de plantillas de sesión
Método | Permisos obligatorios |
---|---|
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
también requiere los permisos dataproc.sessionTemplates.get
y
dataproc.operations.get
para poder obtener actualizaciones de estado
de la herramienta de línea de comandos gcloud
.
Permisos de operaciones
Método | Permisos obligatorios |
---|---|
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 operaciones por lotes, dataproc.operations.cancel
también requiere el permiso dataproc.batches.cancel
.
Permisos de tiempo de ejecución de Serverless para Apache Spark 3.0 y versiones posteriores
Los siguientes permisos se aplican a los tiempos de ejecución de Serverless para Apache Spark 3.0
y versiones posteriores.
Permisos de cargas de trabajo
Método | Permisos obligatorios |
---|---|
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 |
Permisos de NodePools
Método | Permisos obligatorios |
---|---|
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 |
Permisos de nodos
Método | Permisos obligatorios |
---|---|
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 |
Permisos de operaciones
Método | Permisos obligatorios |
---|---|
dataprocrm.v1.dataprocrm.projects.locations.operations.get | dataprocrm.operations.get |
dataprocrm.v1.dataprocrm.projects.locations.operations.list | dataprocrm.operations.list |
Roles de Dataproc y Dataproc Serverless
Los roles de gestión de identidades y accesos de Dataproc pueden contener permisos asociados a recursos de Dataproc y de Serverless para Apache Spark. Los roles de gestión de identidades y accesos de Dataproc Serverless contienen permisos asociados a recursos de Serverless para Apache Spark.
Por ejemplo, el rol Lector de Dataproc contiene los permisos dataproc.batches
y dataproc.sessions
get y list, que permiten a un usuario o a una cuenta de servicio obtener y enumerar cargas de trabajo y sesiones por lotes en un proyecto.
Permisos y requisitos de roles de usuario
Los usuarios deben tener el permiso de cuenta de servicio
ActAs
para desplegar recursos de Serverless para Apache Spark, por ejemplo, para enviar cargas de trabajo por lotes. Consulta información detallada sobre los roles de la autenticación de cuentas de servicio.Requisitos de rol de tiempo de ejecución de Apache Spark sin servidor
3.0
o versiones posteriores:- Una cuenta de usuario necesita el rol Editor de Dataproc o Editor de Dataproc sin servidor para ejecutar lotes y sesiones.
- Una cuenta de usuario necesita el rol Lector de Dataproc o Editor de Dataproc Serverless para obtener y enumerar lotes y sesiones.
- Una cuenta de servicio personalizada necesita el rol Trabajador de Dataproc para ejecutar lotes y sesiones.
Para obtener información sobre las cuentas de servicio asociadas al tiempo de ejecución de
3.0
sin servidor para Apache Spark, consulta Cuentas de servicio de Serverless para Apache Spark.
Buscar roles y permisos de Dataproc
Puede usar las siguientes secciones para buscar roles y permisos de 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. |
|
Roles de proyecto
También puedes definir permisos a nivel de proyecto mediante los roles de proyecto de gestión de identidades y accesos. En la siguiente tabla se resumen los permisos asociados a los roles de proyecto de gestión de identidades y accesos:
Rol de proyecto | Permisos |
---|---|
Lector de proyectos | Todos los permisos de proyecto para acciones de solo lectura que conservan el estado (get y list) |
Editor del proyecto | Todos los permisos de lector de proyectos, además de todos los permisos de proyectos para realizar acciones que modifiquen el estado (crear, eliminar, actualizar, usar, cancelar, detener e iniciar) |
Propietario del proyecto | Todos los permisos de editor de proyectos, además de los permisos para gestionar el control de acceso del proyecto (get/set IamPolicy) y para configurar la facturación del proyecto |
Siguientes pasos
- Consulta cómo gestionar el acceso a proyectos, carpetas y organizaciones.