Permisos de Dataproc sin servidores y funciones de IAM

La administración de identidades y accesos (IAM) te permite controlar el acceso de usuarios y grupos a los recursos de tu proyecto. Este documento se enfoca en los permisos de IAM relevantes para Dataproc sin servidor y los roles de IAM que otorgan esos permisos.

Permisos de Dataproc Serverless

Los permisos de Dataproc sin servidores permiten que los usuarios, incluidas las cuentas de servicio, realicen acciones en los recursos de Dataproc sin servidores. Por ejemplo, el permiso dataproc.batches.create te permite crear lotes de Dataproc Serverless en tu proyecto. No se otorgan permisos a los usuarios directamente, sino funciones, que incluyen uno o más permisos.

En las siguientes tablas, se enumeran los permisos necesarios para llamar a las APIs (métodos) de Dataproc sin servidor. Las tablas se organizan según las APIs asociadas a cada recurso de Dataproc Serverless (lotes, sesiones, sessionTemplates y operaciones). Para obtener una lista de los permisos de Google Cloud incluidos en cada rol, consulta Roles de Dataproc.

Alcance de los permisos: El alcance de los permisos de Dataproc sin servidor que se muestran en las siguientes tablas es el proyecto de Google Cloud en el que se otorgan (alcance de cloud-platform). Consulta Permisos de la cuenta de servicio.

Ejemplos:

  • dataproc.batches.create permite la creación de lotes en el proyecto que los contiene.
  • dataproc.sessions.create permite la creación de una sesión interactiva en el proyecto que lo contiene.
  • dataproc.operations.list permite mostrar una lista de detalles de las operaciones de Dataproc en el proyecto en el que se otorga.

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 poder obtener actualizaciones de estado de la herramienta de línea de comandos gcloud.

Permisos de la 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 poder obtener actualizaciones de estado de la herramienta de línea de comandos gcloud.

Permisos de la plantilla de entorno de ejecución de la 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 poder obtener actualizaciones de estado de la herramienta de línea de comandos 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.

Roles de Dataproc sin servidores

Los roles de IAM de Dataproc Serverless son un paquete de uno o más permisos. Debes otorgar roles a usuarios o grupos para permitirles realizar acciones en los recursos de Dataproc sin servidores de tu proyecto. Por ejemplo, el rol de Visualizador de Dataproc contiene los permisos de obtención y enumeración dataproc.batches y dataproc.sessions, que te permiten obtener y enumerar lotes y sesiones de Dataproc Serverless en un proyecto.

En la siguiente tabla, se enumeran las funciones de IAM sin servidores de Dataproc y los permisos asociados a cada función:

ID de función Permisos
roles/dataproc.admin dataproc.batches.cancel
dataproc.batches.create
dataproc.batches.delete
dataproc.batches.get
dataproc.batches.list
dataproc.batches.cancel
dataproc.sessions.create
dataproc.sessions.delete
dataproc.sessions.get
dataproc.sessions.list
dataproc.sessions.terminate
dataproc.sessionTemplates.create
dataproc.sessionTemplates.delete
dataproc.sessionTemplates.get
dataproc.sessionTemplates.list
dataproc.sessionTemplates.update
roles/dataproc.editor dataproc.batches.cancel
dataproc.batches.create
dataproc.batches.delete
dataproc.batches.get
dataproc.batches.list
dataproc.sessions.create
dataproc.sessions.delete
dataproc.sessions.get
dataproc.sessions.list
dataproc.sessions.terminate
dataproc.sessionTemplates.create
dataproc.sessionTemplates.delete
dataproc.sessionTemplates.get
dataproc.sessionTemplates.list
dataproc.sessionTemplates.update
roles/dataproc.viewer dataproc.batches.get
dataproc.batches.list
dataproc.sessions.get
dataproc.sessions.list
dataproc.sessionTemplates.get
dataproc.sessionTemplates.list

Funciones de proyecto

También puedes establecer permisos a nivel del proyecto mediante las funciones de Proyecto de IAM. Aquí hay un resumen de los permisos asociados con las funciones 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

Roles personalizados

Los permisos por lotes de Dataproc se pueden agregar a roles personalizados a través de la consola de Google Cloud o la herramienta de línea de comandos de gcloud.

Cómo administrar las políticas de IAM

Puedes obtener y configurar políticas de IAM con la consola de Google Cloud, la API de IAM o la herramienta de línea de comandos gcloud.

¿Qué sigue?