Descripción general del control de acceso basado en funciones (RBAC)

En esta página, se describe la autorización detallada con el control de acceso basado en roles (RBAC) en Cloud Data Fusion.

Habilitar RBAC en tus instancias de Cloud Data Fusion te permite controlar el acceso dentro de las instancias y los espacios de nombres, como quién puede acceder a los recursos de Cloud Data Fusion y qué puede hacer con ellos.

Casos de uso del RBAC

RBAC proporciona aislamiento a nivel del espacio de nombres dentro de una sola instancia de Cloud Data Fusion. Se recomienda para los siguientes casos de uso:

  • Ayuda a minimizar la cantidad de instancias que usa tu organización.
  • Cuando varios desarrolladores, equipos o unidades de negocios usan una sola instancia de Cloud Data Fusion.

Con el RBAC de Cloud Data Fusion, las organizaciones pueden hacer lo siguiente:

  • Permitir que un usuario solo ejecute una canalización dentro de un espacio de nombres, pero no modifique los artefactos ni los perfiles de procesamiento del entorno de ejecución
  • Permitir que un usuario solo vea la canalización, pero no la pueda modificar ni ejecutar
  • Permitir a un usuario crear, implementar y ejecutar una canalización

Recomendación: Incluso cuando usas RBAC, a fin de mantener el aislamiento, la seguridad y la estabilidad del rendimiento, usa instancias y proyectos independientes para los entornos de desarrollo y producción.

Limitaciones

  • A un usuario se le puede otorgar una o varias funciones a nivel de instancia o de espacio de nombres.
  • RBAC solo está disponible en la edición Enterprise de Cloud Data Fusion.
  • Cantidad de espacios de nombres: No hay un límite estricto para la cantidad de espacios de nombres por instancia.
  • Para conocer la cantidad máxima de usuarios simultáneos en una instancia habilitada para RBAC, consulta Precios.
  • Cuando se usan tokens de acceso de OAuth de cuentas de servicio para acceder a las instancias habilitadas para RBAC de la versión 6.5, se deben especificar los siguientes permisos, en especial el permiso userinfo.email. Sin ellos, encontrarás errores de permiso denegado.
    • https://www.googleapis.com/auth/userinfo.email
    • https://www.googleapis.com/auth/cloud-platform o bien https://www.googleapis.com/auth/servicecontrol

Asignaciones de funciones

Una asignación de función consta de tres elementos: principal, definición de la función y permiso.

Principal

Otorgas roles a los principales para cambiar su acceso a los recursos de Cloud Data Fusion.

Definición de la función

Un rol contiene un conjunto de permisos que te permite realizar acciones específicas en los recursos deGoogle Cloud .

Cloud Data Fusion proporciona varias funciones predefinidas que puedes usar.

Ejemplos:

  • La función de administrador de instancias (datafusion.admin) permite que los principales creen y borren espacios de nombres y otorguen permisos.
  • El rol de desarrollador (datafusion.developer) permite que los principales creen y borren canalizaciones, implementen canalizaciones y ejecuten vistas previas.

Alcance

El alcance es el conjunto de recursos al que se aplica el acceso. Cuando asignas un rol, puedes limitar aún más las acciones permitidas si defines un alcance, como una instancia o un espacio de nombres. Esto es útil si deseas asignar a alguien el rol de desarrollador, pero solo para un espacio de nombres.

Recomendaciones de seguridad

Adoptar un modelo de seguridad y satisfacer las necesidades y los requisitos de tu organización puede ser un desafío. Las siguientes recomendaciones están diseñadas para ayudarte a simplificar tu proceso de adopción del modelo de RBAC de Cloud Data Fusion:

  • La función de administrador de instancias debe otorgarse con precaución. Esta función habilita el acceso completo a una instancia y a todos sus recursos subyacentes de Cloud Data Fusion. Un principal con este rol puede otorgar permisos a otros usuarios con la API de REST.
  • No se debe otorgar la función de administrador de instancias cuando los principales deben tener acceso a espacios de nombres individuales dentro de una instancia de Cloud Data Fusion. En su lugar, otorga la función de descriptor de acceso a las instancias con una de las funciones de visualizador, desarrollador, operador o editor otorgadas en un subconjunto de los espacios de nombres.
  • Es seguro asignar la función de descriptor de acceso a las instancias, ya que permite el acceso de los principales a la instancia, pero no otorga acceso a ningún recurso dentro de la instancia. Por lo general, esta función se usa junto con una función de visualizador, desarrollador, editor o editor para otorgar acceso a uno espacio de nombres o a un subconjunto de estos dentro de una instancia.
  • Se recomienda asignar la función de visualizador a los usuarios o Grupos de Google que desean usar el servicio automático para comprender el estado de trabajos en ejecución o para visualizar canalizaciones o registros con instancias de Cloud Data Fusion. Por ejemplo, los consumidores de informes diarios que desean saber si se completó el procesamiento.
  • Se recomienda la función de desarrollador para los desarrolladores de ETL que son responsables de crear, probar y administrar canalizaciones.
  • Se recomienda la función de operador para un espacio de nombres a los usuarios que proporcionan servicios de administrador de operaciones o DevOps. Pueden realizar todas las acciones que pueden realizar los desarrolladores (excepto obtener una vista previa de las canalizaciones), y también implementar artefactos y administrar los perfiles de procesamiento.
  • La función de editor para un espacio de nombres es una función con privilegios que le otorga al usuario o Grupo de Google acceso completo a todos los recursos en el espacio de nombres. El editor puede considerarse la unión de las funciones de desarrollador y de operador.
  • Los operadores y administradores deben ser cuidadosos con la instalación de complementos o artefactos no confiables, ya que esto puede presentar un riesgo de seguridad.

Soluciona problemas

En esta sección de la página, se muestra cómo resolver problemas relacionados con el RBAC en Cloud Data Fusion.

Un principal que tiene el rol de visualizador de Cloud Data Fusion para un espacio de nombres en RBAC puede editar canalizaciones.

El acceso se basa en una combinación de roles de IAM y RBAC. Las funciones de IAM tienen prioridad sobre las funciones de RBAC. Verifica si el principal tiene los roles de IAM de Editor del proyecto o Administrador de Cloud Data Fusion.

Un principal que tiene el rol de administrador de instancias en RBAC no puede ver las instancias de Cloud Data Fusion en la consola de Google Cloud .

Hay un problema conocido en Cloud Data Fusion en el que los principales con el rol de administrador de instancias no pueden ver instancias en la consola de Google Cloud . Para solucionar el problema, otorga a la principal el rol de Visualizador de proyecto o uno de los roles de IAM de Cloud Data Fusion, además de convertirla en administrador de una instancia. Esto otorga acceso de visualizador a la principal para todas las instancias del proyecto.

Evita que una principal vea los espacios de nombres en los que no tiene un rol

Para evitar que una principal vea los espacios de nombres en los que no tiene un rol, no debe tener el rol de Visualizador de proyectos ni ninguno de los roles de IAM de Cloud Data Fusion. En su lugar, otorga roles de RBAC al principal solo en el espacio de nombres en el que debe operar.

La principal con este tipo de acceso no verá la lista de instancias de Cloud Data Fusion en la consola de Google Cloud . En su lugar, proporciónale un vínculo directo a la instancia, similar al siguiente: https://INSTANCE_NAME-PROJECT_ID.REGION_NAME.datafusion.googleusercontent.com/

Cuando el principal abre la instancia, Cloud Data Fusion muestra una lista de los espacios de nombres en los que se le otorgó el rol de RBAC.

Otorga el rol de Acceso a instancias de Cloud Data Fusion a un principal

La función de Acceso se asigna de forma implícita a un principal cuando se le asigna cualquier otro rol de RBAC para cualquier instancia de Cloud Data Fusion. Para verificar si un principal tiene ese rol en una instancia en particular, consulta el Analizador de políticas de IAM.

¿Qué sigue?