Otorga permiso de usuario de 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.

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 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 Google Cloud Console, 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.

Otorgue permiso de usuario a la cuenta de servicio

  1. En Cloud Console, 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 encuentra la cuenta de servicio que deseas usar para el clúster de Dataproc y luego haz clic en Abrir.
  3. Haga 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 la página, se muestra una lista de las principales a las que se les otorgaron funciones 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 funciones a las cuentas de servicio de Dataproc

Otorgar permiso de función 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 su proyecto. Si deseas obtener más información, consulta Cómo solicitar permiso para conectar cuentas de servicio a los recursos.

Otorga permiso de administrador de Cloud Storage

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

¿Qué sigue?