Identity and Access Management (IAM) te permite controlar el acceso a los recursos de tu proyecto. En este documento, se describen los permisos de IAM relevantes para Serverless for Apache Spark y los roles de IAM que otorgan 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 los 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 les otorgan permisos a los usuarios directamente, sino roles de IAM, que incluyen uno o más permisos. Puedes otorgar roles predefinidos que contengan una lista de permisos, o bien crear y otorgar roles personalizados que contengan uno o más permisos que incluyas en el rol personalizado.
En las siguientes tablas, se enumeran los permisos básicos necesarios para llamar a las APIs (métodos) de Dataproc que crean recursos de Serverless para Apache Spark o acceden a ellos. 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 la creación de lotes en el proyecto contenedor.dataproc.sessions.create
permite la creación de sesiones interactivas en el proyecto contenedor.
Permisos por lotes
Método | Permisos necesarios |
---|---|
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 permitirle obtener actualizaciones de estado de la herramienta de línea de comandos de gcloud
.
Permisos de sesión
Método | Permisos necesarios |
---|---|
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 permitirle obtener actualizaciones de estado de la herramienta de línea de comandos de gcloud
.
Permisos de plantilla de sesión
Método | Permisos necesarios |
---|---|
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 permitirle obtener actualizaciones de estado de la herramienta de línea de comandos de gcloud
.
Permisos de operaciones
Método | Permisos necesarios |
---|---|
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 Serverless para Apache Spark 3.0
y a los tiempos de ejecución posteriores.
Permisos de cargas de trabajo
Método | Permisos necesarios |
---|---|
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 necesarios |
---|---|
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 necesarios |
---|---|
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 necesarios |
---|---|
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 IAM de Dataproc pueden contener permisos asociados con los recursos de Dataproc y Serverless para Apache Spark. Los roles de IAM de Dataproc Serverless contienen permisos asociados con los recursos de Serverless para Apache Spark.
Por ejemplo, la función Visualizador de Dataproc contiene los permisos de obtención y enumeración dataproc.batches
y dataproc.sessions
, que permiten a un usuario o una cuenta de servicio obtener y enumerar cargas de trabajo y sesiones por lotes en un proyecto.
Permisos y requisitos de roles del usuario
Los usuarios deben tener el permiso de cuenta de servicio
ActAs
para implementar recursos de Serverless para Apache Spark, por ejemplo, para enviar cargas de trabajo por lotes. Consulta Roles para la autenticación de cuentas de servicio para obtener información detallada.Requisitos de roles de tiempo de ejecución de Serverless para Apache Spark
3.0
o versiones posteriores:- Una cuenta de usuario necesita el rol de editor de Dataproc o editor de Dataproc Serverless para ejecutar lotes y sesiones.
- Una cuenta de usuario necesita el rol de Visualizador 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 con el entorno de ejecución de Serverless para Apache Spark
3.0
, consulta Cuentas de servicio de Serverless para Apache Spark.
Cómo buscar roles y permisos de Dataproc
Puedes 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. |
|
Funciones de proyecto
También puedes establecer permisos a nivel del proyecto con las funciones de Proyecto de IAM. En la siguiente tabla, se resumen los permisos asociados con los roles de proyecto de IAM:
Función de proyecto | Permisos |
---|---|
Visualizador del proyecto | Todos los permisos de proyecto para acciones de solo lectura que conservan el estado (obtener y enumerar) |
Editor de proyecto | Todos los permisos de Lector del proyecto más todos los permisos del proyecto para acciones que modifican el estado (crear, borrar, actualizar, usar, detener y empezar) |
Propietario del proyecto | Todos los permisos de Editor del proyecto más los permisos para administrar el control de acceso del proyecto (obtener/configurar IamPolicy) y para configurar la facturación del proyecto |
¿Qué sigue?
- Obtén más información para administrar el acceso a proyectos, carpetas y organizaciones.