En esta página se describe cómo asignar el rol Usuario de cuenta de servicio a la cuenta de servicio de Dataproc para que el agente de servicio de Cloud Data Fusion pueda aprovisionar y ejecutar flujos de trabajo en clústeres de Dataproc.
En el caso de las cuentas de servicio que usa Dataproc, también debes conceder el permiso datafusion.instances.runtime
para acceder a los recursos de tiempo de ejecución de Cloud Data Fusion.
Tanto si usas una cuenta de servicio gestionada por el usuario como la cuenta de servicio predeterminada de Compute Engine en las máquinas virtuales de un clúster, debes asignar el rol Usuario de cuenta de servicio a Cloud Data Fusion. De lo contrario, Cloud Data Fusion no podrá aprovisionar un clúster de Dataproc y aparecerá el siguiente error al ejecutar 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]'
Obtener el nombre de la cuenta de servicio
- En la Google Cloud consola, ve a la página Gestión de identidades y accesos.
Ir a la página de gestión de identidades y accesos - En el selector de proyectos situado 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.
- Busca y copia el nombre de la cuenta de servicio de Cloud Data Fusion. Utiliza el siguiente formato:
service-[project-number]@gcp-sa-datafusion.iam.gserviceaccount.com
.
Conceder permiso de usuario de cuenta de servicio
- En la Google Cloud consola, ve a la página Cuentas de servicio.
Ir a la página Cuentas de servicio - Haz clic en Seleccionar un proyecto, elige un proyecto en el que se encuentre la cuenta de servicio que quieras usar para el clúster de Dataproc y, a continuación, haz clic en Abrir.
Haz clic en la dirección de correo de la cuenta de servicio de Dataproc.
Haz clic en la pestaña Permisos. En la página se muestra una lista de los principales a los que se les han concedido roles en la cuenta de servicio.
Haz clic en
Conceder acceso.En el campo Nuevos principales, pega el nombre de la cuenta de servicio de Cloud Data Fusion que has copiado anteriormente.
Selecciona el rol Usuario de cuenta de servicio.
Haz clic en Guardar.
Conceder roles a cuentas de servicio de Dataproc
Conceder permiso de rol de ejecutor
Concede el rol de ejecutor de Cloud Data Fusion
(roles/datafusion.runner
) a las cuentas de servicio que utiliza
Dataproc. De esta forma, la cuenta de servicio de Dataproc puede ejecutar flujos de procesamiento de Cloud Data Fusion en tu proyecto.
Para obtener más información, consulta el artículo Requerir permiso para asociar cuentas de servicio a recursos.
Conceder permiso de administrador de Cloud Storage
En Cloud Data Fusion 6.2.0 y versiones posteriores, asigna el rol de administrador de Cloud Storage (roles/storage.admin
) a las cuentas de servicio que usa Dataproc en tu proyecto.
Siguientes pasos
- Consulta más información sobre el control de acceso en Cloud Data Fusion.
- Consulta más información sobre las cuentas de servicio de Cloud Data Fusion.