Cuando usas el servicio Dataproc para crear clústeres y ejecutar tareas en ellos, el servicio configura los roles y permisos de Dataproc necesarios en tu proyecto para acceder y usar los recursos de Google Cloud que necesita para llevar a cabo estas tareas. Sin embargo, si trabajas en varios proyectos (por ejemplo, para acceder a datos de otro proyecto), tendrás que configurar los roles y permisos necesarios para acceder a los recursos de otros proyectos.
Para ayudarte a trabajar en varios proyectos, en este documento se enumeran las diferentes entidades que usan el servicio Dataproc y los roles que contienen los permisos necesarios para que esas entidades accedan a los recursos y los usen. Google Cloud
Hay tres principales (identidades) que acceden a Dataproc y lo usan:
- Identidad de usuario
- Identidad del plano de control
Identidad del plano de datos
Usuario de la API de Dataproc (identidad de usuario)
Ejemplo: username@example.com
Es el usuario que llama al servicio Dataproc para crear clústeres, enviar trabajos y hacer otras solicitudes al servicio. El usuario suele ser una persona, pero también puede ser una cuenta de servicio si se invoca Dataproc a través de un cliente de API o desde otroGoogle Cloud servicio, como Compute Engine, funciones de Cloud Run o Cloud Composer.
Roles relacionados
Notas
- Las tareas enviadas mediante la API de Dataproc se ejecutan como
root
en Linux. Los clústeres de Dataproc heredan los metadatos de SSH de Compute Engine de todo el proyecto, a menos que se bloqueen explícitamente al definir
--metadata=block-project-ssh-keys=true
al crear el clúster (consulta Metadatos de clúster).Se crean directorios de usuario de HDFS para cada usuario de SSH a nivel de proyecto. Estos directorios de HDFS se crean durante la implementación del clúster y a los usuarios de SSH nuevos (posteriores a la implementación) no se les asigna un directorio de HDFS en los clústeres ya creados.
Agente de servicio de Dataproc (identidad del plano de control)
Ejemplo: service-project-number@dataproc-accounts.iam.gserviceaccount.com
La cuenta de servicio del agente de servicio de Dataproc se usa para realizar un amplio conjunto de operaciones del sistema en los recursos ubicados en el proyecto en el que se crea un clúster de Dataproc, entre las que se incluyen las siguientes:
- Creación de recursos de Compute Engine, incluidas instancias de VM, grupos de instancias y plantillas de instancias
get
ylist
para confirmar la configuración de recursos como imágenes, firewalls, acciones de inicialización de Dataproc y segmentos de Cloud Storage- Creación automática de los segmentos de desarrollo por fases y temporales de Dataproc si el usuario no especifica el segmento de desarrollo por fases o el temporal
- Escribir metadatos de configuración del clúster en el segmento de almacenamiento provisional
- Acceder a redes de VPC en un proyecto host
Roles relacionados
Cuenta de servicio de la VM de Dataproc (identidad del plano de datos)
Ejemplo: project-number-compute@developer.gserviceaccount.com
El código de tu aplicación se ejecuta como la cuenta de servicio de la VM en las VMs de Dataproc. A las tareas de los usuarios se les asignan los roles (con sus permisos asociados) de esta cuenta de servicio.
La cuenta de servicio de la VM hace lo siguiente:
- Se comunica con el plano de control de Dataproc.
- Lee y escribe datos en los segmentos de almacenamiento provisional y temporales de Dataproc.
- Lee y escribe datos de Cloud Storage, BigQuery, Cloud Logging y otros Google Cloud recursos según lo necesiten tus trabajos de Dataproc.
Roles relacionados
Siguientes pasos
- Más información sobre los roles y permisos de Dataproc
- Consulta más información sobre las cuentas de servicio de Dataproc.
- Consulta la información sobre el control de acceso en BigQuery.
- Consulta las opciones de control de acceso de Cloud Storage.