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 el 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

El 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 que un usuario cree, implemente y ejecute una canalización

Recomendación: Incluso cuando usas RBAC, para 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 obtener la cantidad máxima de usuarios simultáneos en una instancia habilitada para RBAC, consulta Precios.
  • Funciones personalizadas: No se admite la creación de roles de RBAC personalizados.
  • El RBAC de Cloud Data Fusion no admite la autorización en la Administración de conexiones.
  • 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, verás errores de permiso negado.
    • 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

Otorga 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 varios roles predefinidos 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 las principales creen y borren canalizaciones, implementen canalizaciones y ejecuten vistas previas.

Alcance

El permiso 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 permiso, 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 a través de la API de REST.
  • No se debe otorgar el rol 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 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 tenga el rol de visor de Cloud Data Fusion para un espacio de nombres en el RBAC puede editar canalizaciones.

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

Un principal que tiene el rol de administrador de instancias en el 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 las principales con el rol de administrador de instancias no pueden ver las instancias en la consola de Google Cloud. Para solucionar el problema, otorga el rol de Visualizador de proyectos o uno de los roles de IAM de Cloud Data Fusion a la principal, además de otorgarle el rol de administrador a una instancia. Esto otorga acceso de lector al principal para todas las instancias del proyecto.

Evita que un principal vea espacios de nombres en los que no tiene ningún rol

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

El 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, envíales 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 espacios de nombres en los que se le otorga el rol de RBAC.

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

El rol 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 IAM Policy Analyzer.

¿Qué sigue?