Roles y permisos de RBAC

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

Para una aplicación de acceso detallada a nivel de espacio de nombres y niveles inferiores, usa estos recursos y permisos de plano de datos con RBAC.

Jerarquía de recursos

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

Jerarquía de recursos del proyecto de Cloud Data Fusion

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

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

Roles predefinidos para RBAC

RBAC de Cloud Data Fusion incluye varias funciones predefinidas que puedes usar:

Función de acceso a la instancia (datafusion.accessor)
Otorga a la principal acceso a una instancia de Cloud Data Fusion, pero no a ningún recurso dentro de la instancia. Usa esta función junto con otras funciones específicas de los espacios de nombres para proporcionar un acceso detallado al espacio de nombres.
Rol de visualizador (datafusion.viewer)
Otorga acceso a una principal en un espacio de nombres para ver las canalizaciones, pero no para crear o ejecutar canalizaciones.
Función de operador (datafusion.operator)
Otorga acceso a una principal en un espacio de nombres para acceder a canalizaciones y ejecutarlas, cambiar el perfil de procesamiento, crear perfiles de procesamiento o subir artefactos. Puede realizar las mismas acciones que un desarrollador, excepto obtener una vista previa de las canalizaciones.
Rol de desarrollador (datafusion.developer)
Otorga acceso a una principal en un espacio de nombres para crear y modificar recursos limitados, como las canalizaciones, dentro del espacio de nombres.
Función de editor (datafusion.editor)
Otorga a la principal acceso completo a todos los recursos de Cloud Data Fusion en un espacio de nombres en una instancia de Cloud Data Fusion. Se debe otorgar esta función además de la función de Acceso a instancias a la principal. Con este rol, la principal puede crear, borrar y modificar recursos en el espacio de nombres.
Función de administrador de instancias (datafusion.admin)
Otorga acceso a todos los recursos dentro de una instancia de Cloud Data Fusion. Se asigna a través de IAM. No se asignan a nivel del espacio de nombres a través del RBAC.
Operación datafusion.accessor datafusion.viewer datafusion.operator datafusion.developer datafusion.editor datafusion.admin
Instancias
Instancia de acceso
Espacios de nombres
Crear espacio de nombres *
Espacio de nombres con acceso explícito otorgado
Acceso al espacio de nombres sin acceso explícito otorgado *
Editar espacio de nombres
Borrar espacios de nombres
Cuenta de servicio de espacio de nombres
Agregar cuenta de servicio
Editar cuenta de servicio
Quitar la cuenta de servicio
Usar la cuenta de servicio
RBAC
Otorga o revoca permisos para otras principales en el espacio de nombres *
Programas
Crear programa
Mirar el programa
Cambiar programa
Compute profiles
Crea perfiles de procesamiento
Ver perfiles de procesamiento
Editar perfiles de procesamiento
Borra perfiles de procesamiento
Conexiones
Crear conexiones
Ver conexiones
Editar conexiones
Borrar conexiones
Usar conexiones
Canalizaciones
Crear canalizaciones
Ver canalizaciones
Editar canalizaciones
Borrar canalizaciones
Vista previa de canalizaciones
Implementa canalizaciones
Ejecutar canalizaciones
Claves seguras
Crea claves seguras
Ver claves seguras
Borra las claves seguras
Etiquetas
Crear etiquetas
Visualiza etiquetas
Borrar etiquetas
Centro de Cloud Data Fusion
Implementa complementos
Administración del control de fuente
Configura el repositorio de control de código fuente
Sincroniza canalizaciones desde un espacio de nombres
Linaje
Ver linaje
Registros
Ver registros

* La principal debe tener el rol de IAM Administrador de Data Fusion, no el rol de RBAC de administrador de instancias.

Para obtener una lista completa de los permisos incluidos en la función predefinida de Cloud Data Fusion, consulta Funciones predefinidas de Cloud Data Fusion.

Funciones personalizadas para RBAC

Algunos casos de uso no se pueden implementar con los roles predefinidos de Cloud Data Fusion. En estos casos, crea una función personalizada.

Ejemplos

En los siguientes ejemplos, se describe cómo crear roles personalizados para RBAC:

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

  • Para crear una función personalizada que otorgue acceso de solo lectura a claves seguras, crea una función personalizada con los permisos datafusion.namespaces.get, datafusion.secureKeys.getSecret y datafusion.secureKeys.list.

Permisos para acciones comunes

Es posible que un solo permiso predefinido no sea suficiente para realizar la acción correspondiente. Por ejemplo, para actualizar las propiedades del espacio de nombres, es posible que también necesites el permiso datafusion.namespaces.get. En la siguiente tabla, se describen las acciones comunes realizadas dentro de una instancia de Cloud Data Fusion y los permisos de IAM necesarios:

Acción Permiso necesario
Accede a una instancia datafusion.instances.get
Cree un espacio de nombres datafusion.namespaces.create
Obtener un espacio de nombres datafusion.namespaces.get
Actualiza los metadatos del espacio de nombres (como las propiedades)
  • datafusion.namespaces.get
  • datafusion.namespaces.update
Borrar espacio de nombres (solo con el restablecimiento irrecuperable habilitado)
  • datafusion.namespaces.get
  • datafusion.namespaces.delete
Ver permisos en el espacio de nombres datafusion.namespaces.getIamPolicy
Otorga permisos en el espacio de nombres datafusion.namespaces.setIamPolicy
Extrae canalizaciones de la configuración de SCM del espacio de nombres
  • datafusion.namespaces.get
  • datafusion.namespaces.readRepository
  • datafusion.pipelines.create
Envía canalizaciones al repositorio de SCM para el espacio de nombres
  • datafusion.namespaces.get
  • datafusion.namespaces.writeRepository
Obtener configuración de SCM del espacio de nombres datafusion.namespaces.get
Actualizar la configuración de SCM del espacio de nombres datafusion.namespaces.updateRepositoryMetadata
Configura una cuenta de servicio para un espacio de nombres
  • datafusion.namespaces.get
  • datafusion.namespaces.setServiceAccount
Desactiva una cuenta de servicio para un espacio de nombres
  • datafusion.namespaces.get
  • datafusion.namespaces.unsetServiceAccount
Aprovisiona una credencial de cuenta de servicio para un espacio de nombres datafusion.namespaces.provisionCredential
Ver un borrador de la canalización datafusion.namespaces.get
Crea o borra un borrador de la canalización
  • datafusion.namespaces.get
  • datafusion.namespaces.update
Enumerar perfiles de Compute datafusion.profiles.list
Crea un perfil de Compute datafusion.profiles.create
Ve un perfil de Compute datafusion.profiles.get
Edita un perfil de Compute datafusion.profiles.update
Borra un perfil de Compute datafusion.profiles.delete
Crea una conexión
  • datafusion.namespaces.get
  • datafusion.pipelineConnections.create
Ver una conexión
  • datafusion.namespaces.get
  • datafusion.pipelineConnections.get
Edita una conexión
  • datafusion.namespaces.get
  • datafusion.pipelineConnections.update
Borrar una conexión
  • datafusion.namespaces.get
  • datafusion.pipelineConnections.delete
Explora, muestra o visualiza especificaciones de conexión
  • datafusion.namespaces.get
  • datafusion.pipelineConnections.use
Enumerar canalizaciones datafusion.namespaces.get
Creación de la canalización
  • datafusion.namespaces.get
  • datafusion.pipelines.create
Ver canalización
  • datafusion.namespaces.get
  • datafusion.pipelines.get
Edita la canalización
  • datafusion.namespaces.get
  • datafusion.pipelines.create
Editar propiedades de la canalización
  • datafusion.namespaces.get
  • datafusion.pipelines.update
Borrar canalizaciones
  • datafusion.namespaces.get
  • datafusion.pipelines.delete
Obtener vista previa de la canalización datafusion.pipelines.preview
Ejecutar canalizaciones datafusion.pipelines.execute
Crear programa datafusion.pipelines.execute
Ver programación
  • datafusion.namespaces.get
  • datafusion.pipelines.get
Cambiar programa datafusion.pipelines.execute
Enumerar claves seguras
  • datafusion.namespaces.get
  • datafusion.secureKeys.list
Crea claves de seguridad
  • datafusion.namespaces.get
  • datafusion.secureKeys.update
Ver claves seguras
  • datafusion.namespaces.get
  • datafusion.secureKeys.getSecret
Borrar claves seguras
  • datafusion.namespaces.get
  • datafusion.secureKeys.delete
Enumerar artefactos*
  • datafusion.namespaces.get
  • datafusion.artifacts.list
Crea un artefacto*
  • datafusion.namespaces.get
  • datafusion.artifacts.create
  • datafusion.artifacts.update
Obtén un artefacto*
  • datafusion.namespaces.get
  • datafusion.artifacts.get
Borrar un artefacto*
  • datafusion.namespaces.get
  • datafusion.artifacts.delete
Preferencias, etiquetas y metadatos Las preferencias, las etiquetas y los metadatos se establecen a nivel del recurso para el recurso en particular (datafusion.RESOURCE.update).
Permisos del conjunto de datos (obsoleto) datafusion.namespaces.update

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

¿Qué sigue?

  • Obtén más información sobre RBAC en Cloud Data Fusion.