Principales de Dataproc

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:

  1. Identidad de usuario
  2. Identidad del plano de control
  3. Identidad del plano de datos

    dataproc-service-accounts1

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 y list 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:

Roles relacionados

Siguientes pasos