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:
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 |
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
ydatafusion.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
ydatafusion.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) |
|
Eliminar espacio de nombres (solo si la opción de restablecimiento irrecuperable está habilitada) |
|
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 |
|
Enviar pipelines al repositorio de SCM de un espacio de nombres |
|
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 |
|
Quitar una cuenta de servicio de un espacio de nombres |
|
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 |
|
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 |
|
Ver una conexión |
|
Editar una conexión |
|
Eliminar una conexión |
|
Consultar, probar o ver especificaciones de conexión |
|
Mostrar flujos de procesamiento |
|
Crear canal |
|
Ver flujo de procesamiento |
|
Editar flujo de procesamiento |
|
Editar las propiedades de un flujo de procesamiento |
|
Eliminar canal |
|
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 |
|
Cambiar programación | datafusion.pipelines.execute |
List Secure Keys |
|
Crear claves seguras |
|
Ver claves seguras |
|
Eliminar llaves seguras |
|
List Artifacts* |
|
Crear un artefacto* |
|
Obtener un artefacto* |
|
Eliminar un artefacto* |
|
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 |
Siguientes pasos
- Consulta más información sobre el control de acceso basado en roles en Cloud Data Fusion.