Otorga permisos de usuario a la cuenta de servicio

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

Para 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 la función 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 Identity and Access Management.
    Ir a la página de IAM
  2. Desde 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.

Otorga 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. En esta página, se muestra una lista de las principales a las que se les otorgaron roles en la cuenta de servicio.

  5. Haz clic en Otorgar acceso.

  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 funciones a las cuentas de servicio de Dataproc

Otorga permisos de rol de ejecutor

Otorga la función 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. A fin de obtener más información, consulta Solicita permiso para conectar cuentas de servicio a los recursos.

Otorga permiso de administrador a Cloud Storage

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

¿Qué sigue?