Información general
Gestión de Identidades y Accesos (IAM) te permite controlar el acceso de usuarios y grupos a los recursos de los proyectos. Este documento se centra en los permisos de gestión de identidades y accesos relevantes para Dataproc y en los roles de gestión de identidades y accesos que conceden esos permisos.
Permisos de Dataproc
Los permisos de Dataproc permiten que los usuarios, incluidas las cuentas de servicio, realicen acciones en clústeres, tareas, operaciones y plantillas de flujo de trabajo de Dataproc. Por ejemplo, el permiso dataproc.clusters.create
permite a un usuario crear clústeres de Dataproc en un proyecto.
Normalmente, no se conceden permisos, sino roles, que incluyen uno o varios permisos.
En las siguientes tablas se indican los permisos necesarios para llamar a las APIs (métodos) de Dataproc. Las tablas se organizan según las APIs asociadas a cada recurso de Dataproc (clústeres, trabajos, operaciones y plantillas de flujo de trabajo).
Ámbito de los permisos: el ámbito de los permisos de Dataproc que se indican en las siguientes tablas es el proyecto que los contiene (ámbito cloud-platform
). Google CloudConsulta Permisos de cuenta de servicio.
Ejemplos:
dataproc.clusters.create
permite crear clústeres de Dataproc en el proyecto que lo contiene.dataproc.jobs.create
permite enviar trabajos de Dataproc a clústeres de Dataproc en el proyecto contenedor.dataproc.clusters.list
permite enumerar los detalles de los clústeres de Dataproc del proyecto contenedor.
Permisos necesarios para los métodos de clústeres
Método | Permisos obligatorios |
---|---|
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.patch 1, 2, 3 | dataproc.clusters.update |
projects.regions.clusters.delete 1 | 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 necesita el permiso
dataproc.operations.get
para obtener actualizaciones de estado de Google Cloud CLI. - También se necesita el permiso
dataproc.clusters.get
para obtener el resultado de la operación desde Google Cloud CLI. - También se necesita el permiso
dataproc.autoscalingPolicies.use
para habilitar una política de autoescalado en un clúster.
Permisos necesarios para los métodos de trabajos
Método | Permisos obligatorios |
---|---|
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.cancel 1 | dataproc.jobs.cancel |
projects.regions.jobs.patch 1 | dataproc.jobs.update |
projects.regions.jobs.delete 1 | dataproc.jobs.delete |
projects.regions.jobs.getIamPolicy | dataproc.jobs.getIamPolicy |
projects.regions.jobs.setIamPolicy | dataproc.jobs.setIamPolicy |
Notas:
La CLI de Google Cloud también requiere
dataproc.jobs.get
permiso para los comandosjobs submit
,jobs wait
,jobs update
,jobs delete
yjobs kill
.La CLI de gcloud también requiere el permiso
dataproc.clusters.get
para enviar tareas. Para ver un ejemplo de cómo definir los permisos necesarios para que un usuario ejecutegcloud dataproc jobs submit
en un clúster mediante la gestión de identidades y accesos granular de Dataproc, consulta Enviar tareas con la gestión de identidades y accesos granular.
Permisos necesarios para los métodos de operaciones
Método | Permisos obligatorios |
---|---|
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 obligatorios |
---|---|
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 las plantillas de flujo de trabajo son independientes de los permisos de los clústeres y las tareas. Un usuario sin permisos de
create cluster
osubmit job
puede crear e instanciar una plantilla de flujo de trabajo.Además, la CLI de Google Cloud requiere el permiso
dataproc.operations.get
para sondear si se ha completado el flujo de trabajo.Se necesita el permiso
dataproc.operations.cancel
para cancelar un flujo de trabajo en ejecución.
Permisos necesarios para los métodos de las políticas de autoescalado
Método | Permisos obligatorios |
---|---|
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:
- Se necesita el permiso
dataproc.autoscalingPolicies.use
para habilitar una política de autoescalado en un clúster con una solicitud de métodoclusters.patch
.
Permisos necesarios para los métodos de grupos de nodos
Método | Permisos obligatorios |
---|---|
projects.regions.nodeGroups.create | dataproc.nodeGroups.create |
projects.regions.nodeGroups.get | dataproc.nodeGroups.get |
projects.regions.nodeGroups.resize | dataproc.nodeGroups.update |
Roles de Dataproc
Los roles de gestión de identidades y accesos de Dataproc son un conjunto de uno o varios permisos.
Asigna roles a usuarios o grupos para permitirles realizar acciones en los recursos de Dataproc de un proyecto. Por ejemplo, el rol Lector de Dataproc contiene los permisos get
y list
, que permiten a un usuario obtener y enumerar clústeres, trabajos y operaciones de Dataproc en un proyecto.
En la siguiente tabla se indican los roles de gestión de identidades y accesos de Dataproc y los permisos asociados a cada rol.
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. |
|
Notas:
- Se necesitan o se recomiendan permisos de
compute
para crear y ver clústeres de Dataproc al usar la consola de Google Cloud o la CLI de Google Cloud. - Para permitir que un usuario suba archivos, concédele el rol
Storage Object Creator
. Para permitir que un usuario vea la salida de un trabajo, concédele el rolStorage Object Viewer
. - Un usuario debe tener permiso
monitoring.timeSeries.list
para ver gráficos en la consola Google Cloud → Dataproc → pestaña Detalles del clúster → Resumen. - Un usuario debe tener el permiso
compute.instances.list
para ver el estado de la instancia y el menú SSH de la instancia maestra en la consolaGoogle Cloud → Dataproc → pestaña Detalles del clúster → Instancias de VM. Para obtener información sobre los roles de Compute Engine, consulta Compute Engine > Roles de gestión de identidades y accesos disponibles. - Para crear un clúster con una cuenta de servicio especificada por el usuario, esta cuenta debe tener todos los permisos que otorga el rol
Dataproc Worker
, incluido el acceso a los contenedores de almacenamiento provisional y temporal de Dataproc. Es posible que se necesiten roles adicionales en función de las funciones configuradas. Para obtener más información, consulta Crear un clúster con una cuenta de servicio de VM personalizada.
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 indican 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 |
Resumen de roles de gestión de identidades y accesos y operaciones de Dataproc
En la siguiente tabla se enumeran las operaciones de Dataproc asociadas a los roles de proyecto y de Dataproc.
Operación | Editor del proyecto | Lector de proyectos | Administrador de Dataproc | Editor de Dataproc | Lector de Dataproc |
---|---|---|---|---|---|
Obtener o definir permisos de gestión de identidades y accesos de Dataproc | No | No | Sí | No | No |
Crear clúster | Sí | No | Sí | Sí | No |
Mostrar clústeres | Sí | Sí | Sí | Sí | Sí |
Obtener detalles de clúster | Sí | Sí | Sí 1, 2 | Sí 1, 2 | Sí 1, 2 |
Actualizar clúster | Sí | No | Sí | Sí | No |
Eliminar clúster | Sí | No | Sí | Sí | No |
Iniciar o detener un clúster | Sí | No | Sí | Sí | No |
Enviar tarea | Sí | No | Sí 3 | Sí 3 | No |
Mostrar tareas | Sí | Sí | Sí | Sí | Sí |
Obtener detalles de la tarea | Sí | Sí | Sí 4 | Sí 4 | Sí 4 |
Cancelar tarea | Sí | No | Sí | Sí | No |
Eliminar tarea | Sí | No | Sí | Sí | No |
Mostrar operaciones | Sí | Sí | Sí | Sí | Sí |
Obtener detalles de la operación | Sí | Sí | Sí | Sí | Sí |
Eliminar operación | Sí | No | Sí | Sí | No |
Notas:
- El gráfico de rendimiento no está disponible a menos que el usuario también tenga un rol con el permiso
monitoring.timeSeries.list
. - La lista de VMs del clúster no incluirá información de estado ni un enlace SSH para la instancia maestra a menos que el usuario también tenga un rol con el permiso
compute.instances.list
. - Los trabajos que suben archivos requieren que el usuario tenga el rol
Storage Object Creator
o acceso de escritura al staging bucket de Dataproc. - La salida de los trabajos no está disponible a menos que el usuario también tenga el rol Lector de objetos de Storage o se le haya concedido acceso de lectura al segmento de almacenamiento provisional del 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 llevarlas a cabo. Para obtener más información, consulta el artículo sobre cuentas de servicio de Dataproc.
Gestión de IAM
Puedes obtener y definir políticas de gestión de identidades y accesos mediante la Google Cloud consola, la API de gestión de identidades y accesos o la CLI de Google Cloud.
- Para la consola de Google Cloud , consulta Control de acceso mediante la consola de Google Cloud .
- Para obtener información sobre la API, consulta Control de acceso mediante la API.
- Para obtener información sobre Google Cloud CLI, consulta Control de acceso con Google Cloud CLI.
Siguientes pasos
- Más información sobre los principales y los roles de Dataproc
- Información sobre la gestión de identidades y accesos granular de Dataproc
- Más información sobre la gestión de identidades y accesos
- Información sobre las cuentas de servicio en Dataproc