Principales de Dataproc y sus funciones

Cuando usas el servicio de Dataproc para crear clústeres y ejecutar trabajos en ellos, el servicio configura los Permisos de Dataproc y las funciones de IAM de tu proyecto a fin de acceder a los recursos de Google Cloud que necesita para usarlos y realizar estas tareas. Sin embargo, si realizas un trabajo entre proyectos, por ejemplo, para acceder a los datos de otro proyecto, deberás configurar las funciones y los permisos necesarios a fin de acceder a los recursos entre proyectos.

Para ayudarte a realizar el trabajo entre proyectos de manera correcta, en este documento se enumeran los diferentes principales que usan el servicio de Dataproc y las funciones que contienen los permisos necesarios para que esos principales usen y accedan a los recursos de Google Cloud.

Existen 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

Usuario de la API de Dataproc (identidad de usuario)

Ejemplo: username@example.com

Este es el usuario que llama al servicio de Dataproc para crear clústeres, enviar trabajos y realizar otras solicitudes al servicio. El usuario suele ser una persona física, pero también puede ser una cuenta de servicio si Dataproc se invoca a través de un cliente de API o desde otro servicio de Google Cloud, como Compute Engine, Cloud Functions o Cloud Composer

Funciones relacionadas

Notas

  • Los trabajos enviados a la API de Dataproc se ejecutan como root en Linux.
  • Los clústeres de Dataproc heredan los metadatos SSH de Compute Engine en todo el proyecto, a menos que se bloqueen explícitamente mediante la configuración de --metadata=block-project-ssh-keys=true cuando creas el clúster (consulta metadatos de clústeres).

  • Se crean directorios de usuario de HDFS para cada usuario SSH a nivel de proyecto. Estos directorios de HDFS se crean en el momento de la implementación del clúster, y un nuevo usuario SSH (después de la implementación) no recibe un directorio HDFS en los clústeres existentes.

Agente del 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 de Dataproc se usa para realizar un conjunto amplio de operaciones del sistema en los recursos ubicados en el proyecto en el que se crea un clúster de Dataproc, incluido lo siguiente:

  • Crear recursos de Compute Engine, que incluyen instancias de VM, grupos de instancias y plantillas de instancias
  • Operaciones get y list para confirmar la configuración de recursos como imágenes, firewalls, acciones de inicialización de Dataproc y buckets de Cloud Storage
  • Crear de forma automática los buckets temporales y de etapa de pruebas de Dataproc si el usuario no los especificó
  • Escribir metadatos de configuración de clústeres en el bucket de etapa de pruebas
  • Accede a redes de VPC en un proyecto host

Funciones relacionadas

Cuenta de servicio de VM de Dataproc (identidad del plano de datos)

Ejemplo: project-number-compute@developer.gserviceaccount.com

El código de la aplicación se ejecuta como la cuenta de servicio de VM en las VM de Dataproc. A los trabajos de usuario se les otorgan las funciones (con sus permisos asociados) de esta cuenta de servicio.

La cuenta de servicio de la VM debe cumplir con estas características:

Funciones relacionadas

Más información