En esta página se describen las opciones de control de acceso de Cloud Data Fusion.
Puede controlar el acceso a los recursos de Cloud Data Fusion de las siguientes formas:
Para controlar el acceso a las operaciones del plano de control, como crear y actualizar instancias a través de la Google Cloud consola, la interfaz de línea de comandos de Google Cloud y la API REST, usa Gestión de Identidades y Accesos (IAM), tal como se describe en esta página.
Para conceder acceso a Google Cloud servicios de datos, como BigQuery o Cloud Storage, a una cuenta de servicio en la que se ejecutan las canalizaciones, usa IAM.
Para controlar los permisos granulares de las acciones realizadas en la instancia, conocidas como operaciones del plano de datos, como iniciar canalizaciones, usa el control de acceso basado en roles (RBAC).
Para obtener información sobre la arquitectura y los recursos implicados en el control de acceso de Cloud Data Fusion, consulta Redes. Para obtener información sobre cómo conceder roles y permisos, consulta el artículo Gestionar el acceso a proyectos, carpetas y organizaciones.
Información sobre IAM en Cloud Data Fusion
Puedes controlar el acceso a las funciones de Cloud Data Fusion concediendo roles y permisos de gestión de identidades y accesos (IAM) a cuentas de servicio y a otras entidades de tu proyecto de Google Cloud .
Para conceder acceso detallado a las cuentas de usuario de forma que puedan usar la interfaz web de Cloud Data Fusion, usa el control de acceso basado en roles (RBAC).
De forma predeterminada, Cloud Data Fusion usa las siguientes cuentas de servicio:
Cuenta de servicio de Cloud Data Fusion
La cuenta de servicio de Cloud Data Fusion es un agente de servicio gestionado por Google que puede acceder a los recursos del cliente durante el diseño de la canalización. Este agente de servicio se añade automáticamente a un proyecto cuando habilitas la API de Cloud Data Fusion. Se usa en todas las instancias de tu proyecto.
El agente de servicio tiene las siguientes responsabilidades:
Comunicarse con otros servicios, como Cloud Storage, BigQuery o Datastream, durante el diseño de la canalización.
Habilitar la ejecución aprovisionando clústeres de Dataproc y enviando trabajos de flujo de procesamiento.
Roles de la cuenta de servicio de Cloud Data Fusion
De forma predeterminada, la cuenta de servicio de Cloud Data Fusion solo tiene el rol Agente de servicio de la API de Cloud Data Fusion (roles/datafusion.serviceAgent
).
El nombre principal de este agente de servicio es
service-CUSTOMER_PROJECT_NUMBER@gcp-sa-datafusion.iam.gserviceaccount.com
.
Los siguientes recursos predeterminados están asociados al rol de agente de servicio de la API de Cloud Data Fusion.
Rol | Recurso | Permisos |
---|---|---|
Agente de servicio de la API de Cloud Data Fusion | Servicios asociados:
|
Consulta los permisos del agente de servicio de la API de Cloud Data Fusion. |
Cuenta de servicio predeterminada de Compute Engine o cuenta de servicio personalizada
La cuenta de servicio de Compute Engine es la cuenta predeterminada que usa Cloud Data Fusion para implementar y ejecutar trabajos que acceden a otrosGoogle Cloud recursos. De forma predeterminada, se adjunta a una máquina virtual de clúster de Dataproc para que Cloud Data Fusion pueda acceder a los recursos de Dataproc durante la ejecución de una canalización.
Puedes elegir una cuenta de servicio personalizada para asociarla al clúster de Dataproc al crear una instancia de Cloud Data Fusion o creando nuevos perfiles de computación en la interfaz web de Cloud Data Fusion.
Para obtener más información, consulta el artículo Cuentas de servicio en Cloud Data Fusion.
Roles de la cuenta de servicio de Compute Engine
De forma predeterminada, para acceder a los recursos (como orígenes y receptores) al ejecutar una canalización, Cloud Data Fusion usa la cuenta de servicio predeterminada de Compute Engine.
Puedes configurar una cuenta de servicio personalizada gestionada por el usuario para las instancias de Cloud Data Fusion y asignar un rol a esta cuenta. Después, puedes elegir esta cuenta de servicio al crear nuevas instancias.
Rol Ejecutor de Cloud Data Fusion
En el proyecto que contiene la instancia de Cloud Data Fusion, tanto para las cuentas de servicio personalizadas predeterminadas como para las gestionadas por el usuario, asigna el rol Cloud Data Fusion Runner (datafusion.runner
).
Rol | Descripción | Permiso |
---|---|---|
Ejecutor de Data Fusion (datafusion.runner) |
Permite que la cuenta de servicio de Compute Engine se comunique con los servicios de Cloud Data Fusion en el proyecto de inquilino. | datafusion.instances.runtime |
Rol Usuario de cuenta de servicio
En la cuenta de servicio predeterminada o gestionada por el usuario del proyecto en el que se inician los clústeres de Dataproc al ejecutar las canalizaciones, concede a la cuenta de servicio de Cloud Data Fusion el rol Usuario de cuenta de servicio (roles/iam.serviceAccountUser
).
Para obtener más información, consulta Conceder permisos a una cuenta de servicio.
Rol Trabajador de Dataproc
Para ejecutar los trabajos en clústeres de Dataproc, asigna el rol de trabajador de Dataproc (roles/dataproc.worker
) a las cuentas de servicio predeterminadas o gestionadas por el usuario que usen tus flujos de procesamiento de Cloud Data Fusion.
Roles de usuario
Para activar cualquier operación en Cloud Data Fusion, tú (el principal) debes tener suficientes permisos. Los permisos individuales se agrupan en roles, y tú asignas roles a esa cuenta principal.
Si el control de acceso basado en roles no está habilitado o si usas una edición de Cloud Data Fusion que no lo admite, los usuarios con cualquier rol de gestión de identidades y accesos de Cloud Data Fusion tendrán acceso completo a la interfaz web de Cloud Data Fusion. El rol de administrador solo permite a los usuarios gestionar la instancia, como las operaciones de Create
, Update
, Upgrade
y Delete
.
Concede los siguientes roles a los principales, en función de los permisos que necesiten en Cloud Data Fusion.
Rol | Descripción | Permisos |
---|---|---|
Administrador de Cloud Data Fusion (roles/datafusion.admin ) |
Todos los permisos de lectura, además de los permisos para crear, actualizar y eliminar instancias de Cloud Data Fusion. |
|
Lector de Cloud Data Fusion (roles/datafusion.viewer ) |
|
|
Acceder a recursos de otro proyecto en tiempo de diseño
En esta sección se describe el control de acceso a los recursos que se encuentran en un Google Cloud proyecto diferente Google Cloud de tu instancia de Cloud Data Fusion en tiempo de diseño.
Cuando diseñas flujos de procesamiento en la interfaz web de Cloud Data Fusion, puedes usar funciones como Wrangler o Vista previa, que acceden a recursos de otros proyectos.
En las secciones siguientes se describe cómo determinar la cuenta de servicio de tu entorno y, a continuación, conceder los permisos adecuados.
Determinar la cuenta de servicio de tu entorno
El nombre de la cuenta de servicio es Cuenta de servicio de Cloud Data Fusion y la entidad de seguridad de este agente de servicio es service-CUSTOMER_PROJECT_NUMBER@gcp-sa-datafusion.iam.gserviceaccount.com
.
Dar permiso para acceder a recursos de otro proyecto
Para conceder los roles que dan permiso para acceder a varios recursos, sigue estos pasos:
- En el proyecto en el que se encuentra el recurso de destino, añade la cuenta de servicio de Cloud Data Fusion (
service-CUSTOMER_PROJECT_NUMBER@gcp-sa-datafusion.iam.gserviceaccount.com
) como principal. - Asigna roles a la cuenta de servicio de Cloud Data Fusion en el recurso de destino del proyecto en el que se encuentra el recurso de destino.
Una vez que hayas concedido los roles, podrás acceder a los recursos de otro proyecto en tiempo de diseño de la misma forma que accedes a los recursos del proyecto en el que se encuentra tu instancia.
Acceder a recursos de otro proyecto en tiempo de ejecución
En esta sección se describe el control de acceso a los recursos que se encuentran en un Google Cloud proyecto diferente Google Cloud de tu instancia de Cloud Data Fusion en tiempo de ejecución.
En el momento de la ejecución, se ejecuta el flujo de procesamiento en un clúster de Dataproc, que puede acceder a recursos de otros proyectos. De forma predeterminada, el clúster de Dataproc se inicia en el mismo proyecto que la instancia de Cloud Data Fusion, pero puedes usar clústeres de otro proyecto.
Para acceder a los recursos de otros proyectos, sigue estos pasos: Google Cloud
- Determina la cuenta de servicio de tu proyecto.
- En el proyecto en el que se encuentra el recurso, asigna roles de gestión de identidades y accesos a la cuenta de servicio predeterminada de Compute Engine para darle acceso a los recursos de otro proyecto.
Determinar la cuenta de servicio de Compute Engine
Para obtener más información sobre la cuenta de servicio de Compute Engine, consulta el artículo Acerca de Gestión de identidades y accesos en Cloud Data Fusion.
Conceder acceso a recursos de IAM en otro proyecto
La cuenta de servicio predeterminada de Compute Engine requiere permisos para acceder a los recursos de otro proyecto. Estos roles y permisos pueden variar en función del recurso al que quieras acceder.
Para acceder a los recursos, sigue estos pasos:
- Concede roles y permisos, especificando tu cuenta de servicio de Compute Engine como entidad principal en el proyecto en el que se encuentra el recurso de destino.
- Añade los roles adecuados para acceder al recurso.
Permisos de la API de Cloud Data Fusion
Para ejecutar la API de Cloud Data Fusion, se necesitan los siguientes permisos.
Llamada a la API | Permiso |
---|---|
instances.create |
datafusion.instances.create |
instances.delete |
datafusion.instances.delete |
instances.list |
datafusion.instances.list |
instances.get |
datafusion.instances.get |
instances.update |
datafusion.instances.update |
operations.cancel |
datafusion.operations.cancel |
operations.list |
datafusion.operations.list |
operations.get |
datafusion.operations.get |
Permisos para tareas habituales
Para llevar a cabo tareas habituales en Cloud Data Fusion, se necesitan los siguientes permisos:
Tarea | Permisos |
---|---|
Acceder a la interfaz web de Cloud Data Fusion | datafusion.instances.get |
Acceder a la página Instancias de Cloud Data Fusion en la Google Cloud consola | datafusion.instances.list |
Acceder a la página Detalles de una instancia | datafusion.instances.get |
Crear una instancia | datafusion.instances.create |
Actualizar etiquetas y opciones avanzadas para personalizar una instancia | datafusion.instances.update |
Eliminar una instancia | datafusion.instances.delete |