Descripción general
La administración de identidades y accesos (IAM) te permite controlar el acceso de usuarios y grupos a los recursos del proyecto. Este documento se enfoca en los permisos de IAM pertinentes para Dataproc y las funciones de IAM que otorgan esos permisos.
Permisos de Dataproc
Los permisos de Dataproc permiten que los usuarios, incluidas las cuentas de servicio, realicen acciones en los clústeres, los trabajos, las operaciones y las plantillas de flujo de trabajo de Dataproc. Por ejemplo, el permiso dataproc.clusters.create
permite que un usuario cree clústeres de Dataproc en un proyecto.
Por lo general, no otorgas permisos, sino funciones, que incluyen uno o más permisos.
Las siguientes tablas enumeran los permisos necesarios para llamar a las API de Dataproc (métodos). Las tablas se organizan según las APIs asociadas a cada recurso de Dataproc (clústeres, trabajos, operaciones y plantillas de flujo de trabajo).
Alcance de los permisos: El alcance de los permisos de Dataproc 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.clusters.create
permite la creación de clústeres de Dataproc en el proyecto en el que se otorga.dataproc.jobs.create
permite el envío de trabajos de Dataproc a clústeres de Dataproc en el proyecto que los contiene.dataproc.clusters.list
permite mostrar una lista de detalles de los clústeres de Dataproc en el proyecto en el que se otorga.
Permisos necesarios de los métodos de clústeres
Método | Permisos necesarios |
---|---|
projects.regions.clusters.create 1, 2 | dataproc.clusters.create |
projects.regions.clusters.get | dataproc.clusters.get |
projects.regions.clusters.list | dataproc.clusters.list |
projects.regions.clusters.patch1, 2, 3 | dataproc.clusters.update |
projects.regions.clusters.delete1 | dataproc.clusters.delete |
projects.regions.clusters.start | dataproc.clusters.start |
projects.regions.clusters.stop | dataproc.clusters.stop |
projects.regions.clusters.getIamPolicy | dataproc.clusters.getIamPolicy |
projects.regions.clusters.setIamPolicy | dataproc.clusters.setIamPolicy |
Notas:
- También se requiere el permiso
dataproc.operations.get
para obtener actualizaciones de estado de Google Cloud CLI. - Asimismo, se requiere el permiso
dataproc.clusters.get
para obtener el resultado de la operación en Google Cloud CLI. dataproc.autoscalingPolicies.use
también es necesario para habilitar una política de ajuste de escala automático en un clúster.
Permisos necesarios para los métodos de Jobs
Método | Permisos necesarios |
---|---|
projects.regions.jobs.submit 1, 2 | dataproc.jobs.create dataproc.clusters.use |
projects.regions.jobs.get | dataproc.jobs.get |
projects.regions.jobs.list | dataproc.jobs.list |
projects.regions.jobs.cancel1 | dataproc.jobs.cancel |
projects.regions.jobs.patch1 | dataproc.jobs.update |
projects.regions.jobs.delete1 | dataproc.jobs.delete |
projects.regions.jobs.getIamPolicy | dataproc.jobs.getIamPolicy |
projects.regions.jobs.setIamPolicy | dataproc.jobs.setIamPolicy |
Notas:
Google Cloud CLI también requiere permiso
dataproc.jobs.get
para los comandosjobs submit
,jobs wait
,jobs update
,jobs delete
yjobs kill
.Gcloud CLI también requiere el permiso
dataproc.clusters.get
para enviar trabajos. Para ver un ejemplo de cómo configurar los permisos necesarios a fin de que un usuario ejecutegcloud dataproc jobs submit
en un clúster con la IAM detallada de Dataproc (consulta Cómo enviar trabajos con la IAM detallada).
Permisos necesarios de los métodos de operaciones
Método | Permisos necesarios |
---|---|
projects.regions.operations.get | dataproc.operations.get |
projects.regions.operations.list | dataproc.operations.list |
projects.regions.operations.cancel | dataproc.operations.cancel |
projects.regions.operations.delete | dataproc.operations.delete |
projects.regions.operations.getIamPolicy | dataproc.operations.getIamPolicy |
projects.regions.operations.setIamPolicy | dataproc.operations.setIamPolicy |
Permisos necesarios para los métodos de plantillas de flujo de trabajo
Método | Permisos necesarios |
---|---|
projects.regions.workflowTemplates.instantiate | dataproc.workflowTemplates.instantiate |
projects.regions.workflowTemplates.instantiateInline | dataproc.workflowTemplates.instantiateInline |
projects.regions.workflowTemplates.create | dataproc.workflowTemplates.create |
projects.regions.workflowTemplates.get | dataproc.workflowTemplates.get |
projects.regions.workflowTemplates.list | dataproc.workflowTemplates.list |
projects.regions.workflowTemplates.update | dataproc.workflowTemplates.update |
projects.regions.workflowTemplates.delete | dataproc.workflowTemplates.delete |
projects.regions.workflowTemplates.getIamPolicy | dataproc.workflowTemplates.getIamPolicy |
projects.regions.workflowTemplates.setIamPolicy | dataproc.workflowTemplates.setIamPolicy |
Notas:
Los permisos de la plantilla de flujo de trabajo son independientes de los permisos de trabajo y clúster. Un usuario sin los permisos
create cluster
osubmit job
puede crear una instancia de una plantilla de flujo de trabajo.Además, Google Cloud CLI requiere el permiso
dataproc.operations.get
para sondear la finalización del flujo de trabajo.El permiso
dataproc.operations.cancel
es necesario para cancelar un flujo de trabajo en ejecución.
Permisos necesarios de los métodos de las políticas de ajuste de escala automático
Método | Permisos necesarios |
---|---|
projects.regions.autoscalingPolicies.create | dataproc.autoscalingPolicies.create |
projects.regions.autoscalingPolicies.get | dataproc.autoscalingPolicies.get |
projects.regions.autoscalingPolicies.list | dataproc.autoscalingPolicies.list |
projects.regions.autoscalingPolicies.update | dataproc.autoscalingPolicies.update |
projects.regions.autoscalingPolicies.delete | dataproc.autoscalingPolicies.delete |
projects.regions.autoscalingPolicies.getIamPolicy | dataproc.autoscalingPolicies.getIamPolicy |
projects.regions.autoscalingPolicies.setIamPolicy | dataproc.autoscalingPolicies.setIamPolicy |
Notas:
dataproc.autoscalingPolicies.use
es necesario para habilitar una política de ajuste de escala automático en un clúster con una solicitud del métodoclusters.patch
.
Permisos necesarios de los métodos de grupos de nodos
Método | Permisos necesarios |
---|---|
projects.regions.nodeGroups.create | dataproc.nodeGroups.create |
projects.regions.nodeGroups.get | dataproc.nodeGroups.get |
projects.regions.nodeGroups.resize | dataproc.nodeGroups.update |
Funciones de Dataproc
Las funciones de IAM de Dataproc son un conjunto de uno o más permisos.
Debes otorgar roles a usuarios o grupos para permitirles realizar acciones en los recursos de Dataproc de un proyecto. Por ejemplo, el rol de Visualizador de Dataproc contiene los permisos get
y list
, que permiten a un usuario obtener y enumerar una lista de clústeres, trabajos y operaciones de Dataproc de un proyecto.
En la siguiente tabla, se muestran las funciones de IAM para Dataproc y los permisos que corresponden a cada función.
Funciones de Dataproc |
Permisos |
Administrador de Dataproc( Control total de los recursos de Dataproc. |
|
Editor de Dataproc( Proporciona los permisos necesarios para ver los recursos requeridos a fin de administrar Dataproc, incluidos los tipos de máquinas, redes, proyectos y zonas. Recursos de nivel más bajo en los que puedes otorgar esta función:
|
|
Agente de Dataproc Hub( Permite la administración de los recursos de Dataproc. Está destinada a las cuentas de servicio que ejecutan instancias de Dataproc Hub. |
|
Visualizador de Dataproc( Acceso de solo lectura a los recursos de Dataproc. Recursos de nivel más bajo en los que puedes otorgar esta función:
|
|
Trabajador de Dataproc( Proporciona acceso de trabajador a los recursos de Dataproc. Se orienta a cuentas de servicio. |
|
Notas:
- Se necesitan o recomiendan los permisos de
compute
para crear y ver clústeres de Dataproc cuando se usa la consola de Google Cloud o la CLI de Google Cloud. - Para permitir que un usuario suba archivos, otorga la función
Storage Object Creator
. Para permitir que un usuario vea el resultado del trabajo, otorga la funciónStorage Object Viewer
. - Un usuario debe tener el permiso
monitoring.timeSeries.list
para ver los gráficos de la pestaña Descripción general en la consola de Google Cloud→Dataproc→Detalles del clúster. - Un usuario debe tener el permiso
compute.instances.list
para ver el estado de la instancia y el menú SSH de la instancia principal en la pestaña Instancias de VM de la consola de Google Cloud→Dataproc→Detalles del clúster. Para obtener información sobre los roles de Compute Engine, consulta Compute Engine→Funciones de IAM disponibles. - Para crear un clúster con una cuenta de servicio especificada por el usuario, la cuenta de servicio debe tener todos los permisos otorgados por el rol
Dataproc Worker
, que incluye el acceso a los buckets temporales y de preparación de Dataproc. Es posible que se requieran funciones adicionales según las características configuradas. Consulta Crea un clúster con una cuenta de servicio de VM personalizada para obtener más información.
Funciones de proyecto
También puedes establecer permisos a nivel del proyecto mediante las funciones de Proyecto de IAM. En la siguiente tabla, se enumeran 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 |
Funciones de IAM y resumen de operaciones de Dataproc
En la siguiente tabla, se enumeran las operaciones de Dataproc asociadas con los roles del proyecto y de Dataproc.
Operación | Editor de proyecto | Visualizador del proyecto | Administrador de Dataproc | Editor de Dataproc | Visualizador de Dataproc |
---|---|---|---|---|---|
Obtener o establecer permisos de IAM para Dataproc | No | No | Sí | No | No |
Crear clúster | Sí | No | Sí | Sí | No |
Mostrar clústeres | Sí | Sí | Sí | Sí | Sí |
Obtener detalles del clúster | Sí | Sí | Sí 1, 2 | Sí 1, 2 | Sí 1, 2 |
Actualizar clúster | Sí | No | Sí | Sí | No |
Borrar clúster | Sí | No | Sí | Sí | No |
Iniciar/detener clúster | Sí | No | Sí | Sí | No |
Enviar trabajo | Sí | No | Sí3 | Sí3 | No |
Mostrar trabajos | Sí | Sí | Sí | Sí | Sí |
Obtener detalles del trabajo | Sí | Sí | Sí4 | Sí4 | Sí4 |
Cancelar trabajo | Sí | No | Sí | Sí | No |
Borrar trabajos | Sí | No | Sí | Sí | No |
Mostrar lista de operaciones | Sí | Sí | Sí | Sí | Sí |
Obtener detalles de la operación | Sí | Sí | Sí | Sí | Sí |
Borrar operación | Sí | No | Sí | Sí | No |
Notas:
- El gráfico de rendimiento no está disponible, a menos que el usuario también tenga una función con el permiso
monitoring.timeSeries.list
. - La lista de VM del clúster no incluirá información del estado ni un vínculo SSH a la instancia principal, a menos que el usuario también tenga una función con el permiso
compute.instances.list
. - Los trabajos que suben archivos requieren que el usuario tenga el rol de
Storage Object Creator
o acceso de escritura al bucket de etapa de pruebas de Dataproc. - El resultado del trabajo no está disponible, a menos que el usuario también tenga la función de Lector del objeto de Storage o se le haya otorgado acceso de lectura al bucket de etapa de pruebas para el proyecto.
Cuentas de servicio
Cuando llamas a las APIs de Dataproc para realizar acciones en un proyecto, como crear instancias de VM, Dataproc realiza las acciones en tu nombre mediante una cuenta de servicio que tiene los permisos necesarios para realizarlas. Para obtener más información, consulta Cuentas de servicio de Dataproc.
Administración de IAM
Puedes obtener y configurar políticas de IAM con la consola de Google Cloud, la API de IAM o Google Cloud CLI.
- Para obtener información sobre la consola de Google Cloud, consulta Control de acceso a través de la consola de Google Cloud.
- Para la API, consulta Control de acceso con la API.
- Para Google Cloud CLI, consulta Control de acceso con Google Cloud CLI.
¿Qué sigue?
- Obtén información sobre los principales y roles de Dataproc.
- Obtén información acerca de la IAM detallada de Dataproc.
- Obtén más información sobre IAM.
- Obtén información sobre las cuentas de servicio en Dataproc.