En esta página, se describen las opciones de control de acceso en Cloud Data Fusion.
Puedes controlar el acceso a los recursos en Cloud Data Fusion en las siguientes opciones maneras:
Para controlar el acceso a las operaciones del plano de control, como la creación y actualización de instancias a través de la consola de Google Cloud, Google Cloud CLI y la API de REST, usa la administración de identidades y accesos (IAM), como se describe en esta página.
Para otorgar acceso a los servicios de datos de Google Cloud, como BigQuery o Cloud Storage a una cuenta de servicio en la que se ejecutan las canalizaciones, usa IAM.
Para controlar los permisos detallados de las acciones realizadas en el instancia, conocida como plano de datos operaciones, como iniciar canalizaciones, usa el control de acceso basado en roles (RBAC).
Para obtener información sobre la arquitectura y los recursos involucrados en Control de acceso de Cloud Data Fusion, consulta Herramientas de redes. Para obtener información sobre cómo otorgar roles y permisos, consulta Administra el acceso a proyectos, carpetas y organizaciones.
Acerca de IAM en Cloud Data Fusion
Para controlar el acceso a las funciones de Cloud Data Fusion, otorga roles y permisos de IAM a las cuentas de servicio y a otros principales en tu proyecto de Google Cloud.
Para otorgar acceso detallado a las cuentas de usuario para que puedan usar el La interfaz web de Cloud Data Fusion, usa 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 administrado por Google que pueda acceder a los recursos del cliente en el momento de diseño de la canalización. Este agente de servicio se agrega automáticamente al proyecto cuando habilitas la API de Cloud Data Fusion. Se usa para todas las instancias del 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.
Habilita la ejecución a través del aprovisionamiento de clústeres de Dataproc y enviar trabajos de canalización.
Funciones para la cuenta de servicio de Cloud Data Fusion
De forma predeterminada, la cuenta de servicio de Cloud Data Fusion solo tiene el
Función de 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 con la API de Cloud Data Fusion rol Agente de servicio.
Rol | Recurso | Permisos |
---|---|---|
Agente de servicios 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 o personalizada de Compute Engine
La cuenta de servicio de Compute Engine es la cuenta predeterminada que Cloud Data Fusion usa para implementar y ejecutar trabajos que acceden a otros recursos de Google Cloud. De forma predeterminada, se adjunta a una VM de clúster de Dataproc para permitir que Cloud Data Fusion acceda a los recursos de Dataproc durante la ejecución de una canalización.
Puedes elegir una cuenta de servicio personalizada para conectarla a Dataproc clúster cuando se crea una instancia de Cloud Data Fusion o cuando se crean Perfiles de procesamiento en la interfaz web de Cloud Data Fusion.
Para obtener más información, consulta 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 fuentes y receptores) cuando ejecutas un por lotes, Cloud Data Fusion usa Cuenta de servicio predeterminada de Compute Engine.
Puedes configurar una cuenta de servicio personalizada administrada por el usuario para las instancias de Cloud Data Fusion y otorgarle un rol a esta cuenta. Después, puedes elegir esta cuenta de servicio cuando crees nuevas instancias.
Función de ejecutor de Cloud Data Fusion
En el proyecto que contenga la instancia de Cloud Data Fusion, para ambas
y cuentas de servicio personalizadas administradas por el usuario, otorga el rol Runner de Cloud Data Fusion
rol (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 usuario | datafusion.instances.runtime |
Función de usuario de cuenta de servicio
En la cuenta de servicio predeterminada o administrada por el usuario en el proyecto en el que se inician los clústeres de Dataproc cuando ejecutas canalizaciones, otorga a la cuenta de servicio de Cloud Data Fusion el rol de usuario de cuenta de servicio (roles/iam.serviceAccountUser
).
Para obtener más información, consulta Otorga permiso a la cuenta de servicio.
Función de trabajador de Dataproc
Para ejecutar los trabajos en clústeres de Dataproc, otorga el rol Worker de Dataproc
rol (roles/dataproc.worker
) al servicio predeterminado o administrado por el usuario
y las cuentas que usan tus canalizaciones de Cloud Data Fusion.
Roles para los usuarios
Para activar cualquier operación en Cloud Data Fusion, tú (el principal) debes tengan permisos suficientes. Los permisos individuales se agrupan en roles, otorgar roles a esa principal.
Si el RBAC no está habilitado o si usas una edición de Cloud Data Fusion que
no es compatible con RBAC, los usuarios con cualquier IAM de Cloud Data Fusion
acceso completo a la Web de Cloud Data Fusion
interfaz de usuario. El rol Administrador solo permite a los usuarios administrar la instancia, como
Operaciones Create
, Update
, Upgrade
y Delete
.
Otorga los siguientes roles a las principales, según los permisos que tengan en Cloud Data Fusion.
Rol | Descripción | Permisos |
---|---|---|
Administrador de Cloud Data Fusion (roles/datafusion.admin ) |
Todos los permisos de visualizador, además de los permisos para crear, actualizar y borrar instancias de Cloud Data Fusion. |
|
Visualizador de Cloud Data Fusion (roles/datafusion.viewer ) |
|
|
Acceder a los recursos de otro proyecto en el momento del diseño
En esta sección, se describe el control de acceso a los recursos ubicados en una proyecto de Google Cloud diferente al de tu instancia de Cloud Data Fusion en el diseño tiempo.
Cuando diseñas canalizaciones en la Web de Cloud Data Fusion puedes usar funciones como Wrangler o Preview, que acceder a recursos en otros proyectos.
En las siguientes secciones, se describe cómo determinas la cuenta de servicio en tu y otorga los permisos adecuados.
Determina la cuenta de servicio de tu entorno
El nombre de la cuenta de servicio es Cuenta de servicio de Cloud Data Fusion y la principal
para este agente de servicio es
service-CUSTOMER_PROJECT_NUMBER@gcp-sa-datafusion.iam.gserviceaccount.com
Otorga permiso para acceder a los recursos de otro proyecto
Para otorgar los roles que otorgan permiso para acceder a varios recursos, sigue estos pasos:
- En el proyecto en el que existe el recurso de destino, agrega el
Cuenta de servicio de Cloud Data Fusion (
service-CUSTOMER_PROJECT_NUMBER@gcp-sa-datafusion.iam.gserviceaccount.com
) como principal. - Otorga roles a la cuenta de servicio de Cloud Data Fusion en el destino recurso en el proyecto en el que existe el recurso de destino.
Después de otorgar los roles, puedes acceder a los recursos de un proyecto diferente en y a diseñar tiempo de la misma manera que se accede a los recursos del proyecto en el que cada instancia de Compute Engine.
Accede a los recursos de otro proyecto en el momento de la ejecución
En esta sección, se describe el control de acceso a los recursos ubicados en una proyecto de Google Cloud diferente al de tu instancia de Cloud Data Fusion en tiempo de ejecución.
En el momento de la ejecución, debes realizar la canalización en Dataproc que pueden acceder a recursos de otros proyectos. De forma predeterminada, el El clúster de Dataproc se inicia en el mismo proyecto que en la instancia de Cloud Data Fusion, pero puedes usar clústeres en otra en un proyecto final.
Para acceder a los recursos de otros proyectos de Google Cloud, sigue estos pasos: pasos:
- Determina la cuenta de servicio para tu proyecto.
- En el proyecto donde se encuentra el recurso, otorga roles de IAM a la cuenta de servicio predeterminada de Compute Engine para darle acceso recursos en otro proyecto.
Determina la cuenta de servicio de Compute Engine
Para obtener más información sobre la cuenta de servicio de Compute Engine, consulta Acerca de IAM en Cloud Data Fusion.
Otorga recursos de acceso 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 ser diferentes según el recurso al que quieras acceder.
Para acceder a los recursos, sigue estos pasos:
- Otorga roles y permisos, y especifica tu servicio de Compute Engine cuenta como una principal en el proyecto en el que existe el recurso objetivo.
- Agrega los roles adecuados para acceder al recurso.
Permisos de la API de Cloud Data Fusion
Se requieren los siguientes permisos para ejecutar la API de Cloud Data Fusion.
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 comunes
Las tareas comunes en Cloud Data Fusion requieren los siguientes permisos:
Tarea | Permisos |
---|---|
Accede a la interfaz web de Cloud Data Fusion | datafusion.instances.get |
Accede a la página Instancias de Cloud Data Fusion la consola de Google Cloud | datafusion.instances.list |
Acceder a la página Detalles de una instancia | datafusion.instances.get |
Crea una instancia nueva | datafusion.instances.create |
Actualizar etiquetas y opciones avanzadas para personalizar una instancia | datafusion.instances.update |
Borra una instancia | datafusion.instances.delete |
¿Qué sigue?
- Obtén más información sobre el control de acceso entre varios proyectos.