Control de acceso con la gestión de identidades y accesos

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:
  • BigQuery
  • Bigtable
  • Compute Engine
  • Dataproc
  • Cloud DNS
  • Firebase
  • Cloud Monitoring
  • Network Connectivity
  • Integración con seguridad de redes
  • API Network Services
  • Política de organización
  • API Recommender
  • API Cloud Resource Manager
  • Redes de servicios
  • Uso de Servicio
  • Spanner
  • Cloud Storage
  • Cloud Service Mesh
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.
  • datafusion.instances.get
  • datafusion.instances.list
  • datafusion.instances.create
  • datafusion.instances.delete
  • datafusion.instances.update
  • datafusion.operations.get
  • datafusion.operations.list
  • datafusion.operations.cancel
  • resourcemanager.projects.get
  • resourcemanager.projects.list
Lector de Cloud Data Fusion (roles/datafusion.viewer)
  • Puede ver las instancias de Cloud Data Fusion del proyecto en la consola Google Cloud .
  • No se pueden crear, actualizar ni eliminar instancias de Cloud Data Fusion.
  • datafusion.instances.get
  • datafusion.instances.list
  • datafusion.operations.get
  • datafusion.operations.list
  • resourcemanager.projects.get
  • resourcemanager.projects.list

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:

  1. 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.
  2. 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

  1. Determina la cuenta de servicio de tu proyecto.
  2. 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:

  1. 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.
  2. 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

Siguientes pasos