viernes, 7 de septiembre de 2012

Más sobre modelos de seguridad con múltiples comunidades


Lo que un usuario que pertenece a varias comunidades puede o
no hacer depende de como se interpretan las consecuencias de
pertenecer a varias comunidades
La semana pasada estuvimos analizando como se modela la seguridad informacional para manejar casos en los que las personas hacen vida dentro de varias comunidades. En estos casos no es suficiente la definición detallada del perfil de lo que pueden o no hacer los miembros de las distintas comunidades de usuarios sobre cada tipo de documentos para decidir lo que alguien puede o no hacer.

Vimos que no hay una solución única y que hay cuatro modelos principales: Permisos individuales, Permisos de grupos, Permisos de unión de grupos y Permisos de intersección de grupos. Por razones de espacio explicamos sólo los dos primeros y dejamos para esta oportunidad los dos últimos.

Tanto el Modelo de unión de grupos como el Modelo de intersección de grupos comparten la facilidad de uso de que la persona está siempre conectada como persona y no como uno de sus roles. La diferencia está en la respuesta a qué se considera que es la conexión de una persona como persona con múltiples perfiles. Veamos los detalles:

Modelo de Permisos de unión de grupos: Bajo este modelo se considera que lo que una persona puede hacer es la suma de lo que puede hacer con cada uno de sus perfiles.

Si alguien con un perfil A no puede acceder a un tipo de objeto X pero con un perfil B, que corresponde a una comunidad a la que también pertenece, si puede, finalmente el sistema le permitirá acceder el objeto X.

Bajo este modelo se enfatiza la unicidad de las personas y el poder de hacer. La persona no está conectada bajo un rol, como en el caso del Modelo de Permisos por grupos, sino con todos sus roles, con todas sus comunidades y esto significa, en términos prácticos, sumando todos las posibilidades y nunca restando de estas las restricciones. Es decir, los perfiles se usan para aumentar permisos o posibilidades.

Modelo de Permisos de intersección de grupos: Bajo este modelo se considera que lo que una persona puede hacer en cada momento debe ser lo menos permisivo de lo que puede hacer con cada uno de sus perfiles.

Si con un perfil A no puede acceder a un tipo de objeto X, el sistema finalmente no le permitirá acceder el objeto X aunque con un perfil B, asociado a una comunidad a la que la persona también pertenece si se puede. Esto porque ya hay por lo menos uno de sus perfiles (el A en este caso) que lo restringe.

Bajo este modelo también se enfatiza la unicidad de la persona pero, a diferencia del caso anterior, de sus perfiles se resalta lo no se debe poder hacer. En cambio, de manera similar al caso anterior, también se considera que la persona no está conectada bajo un rol, como en el caso del Modelo de Permisos de grupo, sino con todos sus roles, con todas sus comunidades. El punto clave está en que esto significa, en términos prácticos, sumando todas sus restricciones y nunca aumentando las posibilidades. Es decir, los perfiles se usan para aumentar limitaciones.

Es posible encontrar situaciones en los que uno de estos modelos se considere más apropiado pero siempre habrá otras en las que no. Los dos modelos que examinamos de hoy tienen la ventaja de su sencillez en el sentido de que la persona no tiene que declarar su rol, pero por otro lado, son más limitados porque a veces una persona quisiera tener la perspectiva de prescindir de uno de sus roles, por ejemplo, para evitar borrar algo por accidente o para poder hacer algo un poco más exigente, pero esto no puede hacerse con los modelos que vimos hoy.

No hay comentarios: