Roles y permisos de RBAC

En esta página se describen los roles y permisos que usan las instancias de Cloud Data Fusion con el control de acceso basado en roles (RBAC) habilitado.

Para aplicar un control de acceso pormenorizado a nivel de espacio de nombres o inferior, usa estos recursos y permisos del plano de datos con RBAC.

Jerarquía de recursos

Los recursos de Cloud Data Fusion tienen la siguiente jerarquía:

Jerarquía de recursos de proyectos de Cloud Data Fusion

En esta figura se muestra la jerarquía de recursos en orden descendente (de más general a más específico): Google Cloud proyecto, ubicación, instancia de Cloud Data Fusion y espacios de nombres. Debajo de los espacios de nombres, sin ningún orden, se encuentran las conexiones, las claves seguras, las canalizaciones, los artefactos (como los complementos, los controladores y las aplicaciones) y los perfiles de computación.

Los siguientes recursos son recursos del plano de datos de Cloud Data Fusion que puedes controlar con la API REST o en Cloud Data Fusion Studio: espacios de nombres, conexiones, claves seguras, canalizaciones, artefactos y perfiles de cálculo.

Roles predefinidos para el control de acceso basado en roles

El control de acceso basado en roles de Cloud Data Fusion incluye varios roles predefinidos que puede usar:

Rol de acceso a la instancia (datafusion.accessor)
Concede al principal acceso a una instancia de Cloud Data Fusion, pero no a ningún recurso de la instancia. Usa este rol junto con otros roles específicos del espacio de nombres para proporcionar un acceso detallado al espacio de nombres.
Rol de lector (datafusion.viewer)
Concede acceso a un principal en un espacio de nombres para ver las canalizaciones, pero no para crear ni ejecutar canalizaciones.
Rol de operador (datafusion.operator)
Concede acceso a un principal en un espacio de nombres para acceder y ejecutar canalizaciones, cambiar el perfil de cálculo, crear perfiles de cálculo o subir artefactos. Puede realizar las mismas acciones que un desarrollador, excepto previsualizar las canalizaciones.
Rol de desarrollador (datafusion.developer)
Concede acceso a un principal en un espacio de nombres para crear y modificar recursos limitados, como las canalizaciones, en el espacio de nombres.
Rol de editor (datafusion.editor)
Concede al principal acceso completo a todos los recursos de Cloud Data Fusion de un espacio de nombres de una instancia de Cloud Data Fusion. Este rol se debe asignar a la cuenta principal además del rol Accesor de instancias. Con este rol, la entidad de seguridad puede crear, eliminar y modificar recursos en el espacio de nombres.
Rol Administrador de instancia (datafusion.admin)
Concede acceso a todos los recursos de una instancia de Cloud Data Fusion. Asignado mediante la gestión de identidades y accesos. No se ha asignado a nivel de espacio de nombres mediante RBAC.
Operación datafusion.accessor datafusion.viewer datafusion.operator datafusion.developer datafusion.editor datafusion.admin
Instancias
Acceder a la instancia
Espacios de nombres
Crear espacio de nombres *
Espacio de nombres de acceso con acceso explícito concedido
Acceder al espacio de nombres sin que se haya concedido acceso explícito *
Editar espacio de nombres
Eliminar espacio de nombres
Cuenta de servicio del espacio de nombres
Añadir cuenta de servicio
Editar cuenta de servicio
Quitar cuenta de servicio
Usar cuenta de servicio
RBAC
Conceder o revocar permisos a otras entidades de seguridad en el espacio de nombres *
Programaciones
Crear programación
Ver programación
Cambiar la programación
Perfiles de cálculo
Crear perfiles de computación
Ver perfiles de computación
Editar perfiles de computación
Eliminar perfiles de computación
Conexiones
Crear conexiones
Ver conexiones
Editar conexiones
Eliminar conexiones
Usar conexiones
Pipelines
Crear flujos de procesamiento
Ver flujos de procesamiento
Editar flujos de procesamiento
Eliminar flujos de trabajo
Previsualizar flujos de procesamiento
Flujos de procesamiento de despliegue
Ejecutar flujos de procesamiento
Llaves seguras
Crear claves seguras
Ver llaves seguras
Eliminar claves seguras
Etiquetas
Crear etiquetas
Ver etiquetas
Eliminar etiquetas
Cloud Data Fusion Hub
Desplegar complementos
Gestión de control de versiones
Configurar el repositorio de control de código fuente
Sincronizar las canalizaciones de un espacio de nombres
Linaje
Ver linaje
Registros
Ver registros

* La cuenta principal debe tener el rol de gestión de identidades y accesos de administrador de Data Fusion, no el rol de control de acceso basado en roles de administrador de instancias.

Para ver una lista completa de los permisos incluidos en el rol predefinido de Cloud Data Fusion, consulta Roles predefinidos de Cloud Data Fusion.

Roles personalizados para RBAC

Algunos casos prácticos no se pueden implementar con los roles predefinidos de Cloud Data Fusion. En estos casos, crea un rol personalizado.

Ejemplos

En los siguientes ejemplos se describe cómo crear roles personalizados para el control de acceso basado en roles:

  • Para crear un rol personalizado que solo dé acceso a las claves seguras de un espacio de nombres, crea un rol personalizado con los permisos datafusion.namespaces.get y datafusion.secureKeys.*.

  • Para crear un rol personalizado que proporcione acceso de solo lectura a las claves seguras, crea un rol personalizado con los permisos datafusion.namespaces.get, datafusion.secureKeys.getSecret y datafusion.secureKeys.list.

Permisos para acciones comunes

Puede que un solo permiso predefinido no sea suficiente para realizar la acción correspondiente. Por ejemplo, para actualizar las propiedades del espacio de nombres, también puede que necesites el permiso datafusion.namespaces.get. En la siguiente tabla se describen las acciones comunes que se realizan en una instancia de Cloud Data Fusion y los permisos de gestión de identidades y accesos necesarios:

Acción Permiso obligatorio
Acceder a una instancia datafusion.instances.get
Crear un espacio de nombres datafusion.namespaces.create
Obtener un espacio de nombres datafusion.namespaces.get
Actualizar metadatos de espacios de nombres (como propiedades)
  • datafusion.namespaces.get
  • datafusion.namespaces.update
Eliminar espacio de nombres (solo si la opción de restablecimiento irrecuperable está habilitada)
  • datafusion.namespaces.get
  • datafusion.namespaces.delete
Ver permisos en un espacio de nombres datafusion.namespaces.getIamPolicy
Conceder permisos en un espacio de nombres datafusion.namespaces.setIamPolicy
Extraer pipelines de la configuración de SCM de espacios de nombres
  • datafusion.namespaces.get
  • datafusion.namespaces.readRepository
  • datafusion.pipelines.create
Enviar pipelines al repositorio de SCM de un espacio de nombres
  • datafusion.namespaces.get
  • datafusion.namespaces.writeRepository
Obtener la configuración de SCM de un espacio de nombres datafusion.namespaces.get
Actualizar la configuración de SCM de un espacio de nombres datafusion.namespaces.updateRepositoryMetadata
Definir una cuenta de servicio para un espacio de nombres
  • datafusion.namespaces.get
  • datafusion.namespaces.setServiceAccount
Quitar una cuenta de servicio de un espacio de nombres
  • datafusion.namespaces.get
  • datafusion.namespaces.unsetServiceAccount
Proporcionar una credencial de cuenta de servicio para un espacio de nombres datafusion.namespaces.provisionCredential
Ver un borrador de flujo de procesamiento datafusion.namespaces.get
Crear o eliminar un borrador de flujo de procesamiento
  • datafusion.namespaces.get
  • datafusion.namespaces.update
Mostrar perfiles de Compute datafusion.profiles.list
Crear un perfil de computación datafusion.profiles.create
Ver un perfil de Compute datafusion.profiles.get
Editar un perfil de computación datafusion.profiles.update
Eliminar un perfil de cálculo datafusion.profiles.delete
Crear una conexión
  • datafusion.namespaces.get
  • datafusion.pipelineConnections.create
Ver una conexión
  • datafusion.namespaces.get
  • datafusion.pipelineConnections.get
Editar una conexión
  • datafusion.namespaces.get
  • datafusion.pipelineConnections.update
Eliminar una conexión
  • datafusion.namespaces.get
  • datafusion.pipelineConnections.delete
Consultar, probar o ver especificaciones de conexión
  • datafusion.namespaces.get
  • datafusion.pipelineConnections.use
Mostrar flujos de procesamiento
  • datafusion.namespaces.get
  • datafusion.pipelines.list
Crear canal
  • datafusion.namespaces.get
  • datafusion.pipelines.create
Ver flujo de procesamiento
  • datafusion.namespaces.get
  • datafusion.pipelines.get
Editar flujo de procesamiento
  • datafusion.namespaces.get
  • datafusion.pipelines.create
Editar las propiedades de un flujo de procesamiento
  • datafusion.namespaces.get
  • datafusion.pipelines.update
Eliminar canal
  • datafusion.namespaces.get
  • datafusion.pipelines.delete
Vista previa del flujo de procesamiento datafusion.pipelines.preview
Ejecutar flujo de procesamiento datafusion.pipelines.execute
Crear programación datafusion.pipelines.execute
Ver programación
  • datafusion.namespaces.get
  • datafusion.pipelines.get
Cambiar programación datafusion.pipelines.execute
List Secure Keys
  • datafusion.namespaces.get
  • datafusion.secureKeys.list
Crear claves seguras
  • datafusion.namespaces.get
  • datafusion.secureKeys.update
Ver claves seguras
  • datafusion.namespaces.get
  • datafusion.secureKeys.getSecret
Eliminar llaves seguras
  • datafusion.namespaces.get
  • datafusion.secureKeys.delete
List Artifacts*
  • datafusion.namespaces.get
  • datafusion.artifacts.list
Crear un artefacto*
  • datafusion.namespaces.get
  • datafusion.artifacts.create
  • datafusion.artifacts.update
Obtener un artefacto*
  • datafusion.namespaces.get
  • datafusion.artifacts.get
Eliminar un artefacto*
  • datafusion.namespaces.get
  • datafusion.artifacts.delete
Preferencias, etiquetas y metadatos Las preferencias, las etiquetas y los metadatos se definen a nivel de recurso para el recurso en cuestión (datafusion.RESOURCE.update).
Permisos de conjuntos de datos (obsoleto) datafusion.namespaces.update

* Los artefactos, como los complementos y los controladores, son elementos que se suben a Cloud Data Fusion para desarrollar las canalizaciones.

Siguientes pasos