Otorga roles de cuenta de servicio para Dataproc

En esta página, se describe cómo otorgar el rol de Usuario de cuenta de servicio en la cuenta de servicio de Dataproc al agente de servicio de Cloud Data Fusion para permitir que aprovisione y ejecute canalizaciones en los clústeres de Dataproc.

En el caso de las cuentas de servicio que usa Dataproc, también debes otorgar el permiso datafusion.instances.runtime para acceder a los recursos del entorno de ejecución de Cloud Data Fusion.

Ya sea que uses una cuenta de servicio administrada por el usuario o la cuenta de servicio predeterminada de Compute Engine en las máquinas virtuales de un clúster, debes otorgar el rol de usuario de cuenta de servicio a Cloud Data Fusion. De lo contrario, Cloud Data Fusion no puede aprovisionar un clúster de Dataproc y aparece el siguiente error cuando ejecutas una canalización de datos:

PROVISION task failed in REQUESTING_CREATE state for program run [pipeline-name] due to Dataproc operation failure: INVALID_ARGUMENT: User not authorized to act as service account '[service-account-name]'

Obtén el nombre de la cuenta de servicio

  1. En la consola de Google Cloud, ve a la página Administración de identidades y accesos.
    Ir a la página de IAM
  2. En el selector de proyectos en la parte superior de la página, elige el proyecto, la carpeta o la organización a la que pertenece la instancia de Cloud Data Fusion.
  3. Busca y copia el nombre de la cuenta de servicio de Cloud Data Fusion. Usa el siguiente formato: service-[project-number]@gcp-sa-datafusion.iam.gserviceaccount.com.

Otorgar permiso de usuario a la cuenta de servicio

  1. En la consola de Google Cloud, ve a la página Cuentas de servicio.
    Ir a la página Cuentas de servicio
  2. Haz clic en Seleccionar un proyecto, elige un proyecto en el que se encuentre la cuenta de servicio que deseas usar para el clúster de Dataproc y, luego, haz clic en Abrir.
  3. Haz clic en la dirección de correo electrónico de la cuenta de servicio de Dataproc.

  4. Haz clic en la pestaña Permisos. La página muestra una lista de principales a las que se les otorgaron roles en la cuenta de servicio.

  5. Haz clic en Grant access.

  6. En el campo Principales nuevas, pega el nombre de la cuenta de servicio de Cloud Data Fusion que copiaste antes.

  7. Selecciona la función Usuario de cuenta de servicio.

    (Usuario de cuenta de servicio)

  8. Haz clic en Guardar.

Otorga roles a las cuentas de servicio de Dataproc

Otorga permiso de corredor

Otorga el rol de ejecutor de Cloud Data Fusion (roles/datafusion.runner) a las cuentas de servicio que usa Dataproc. Esto autoriza a la cuenta de servicio de Dataproc a ejecutar canalizaciones de Cloud Data Fusion en tu proyecto. Para obtener más información, consulta Solicita permiso para conectar cuentas de servicio a recursos.

Otorga permiso de administrador de Cloud Storage

En Cloud Data Fusion 6.2.0 y versiones posteriores, otorga el rol de administrador de Cloud Storage (roles/storage.admin) a las cuentas de servicio que usa Dataproc en tu proyecto.

¿Qué sigue?