Últimas Noticias
Enlaces Recomendados
Modelo de Seguridad en OpenCms 7: usuario, grupos, OU y roles
13-11-09
El modelo de seguridad de OpenCms en v6 y anteriores estaba basado en ‘listas de acceso’ (ACL) a los recursos del sistema de archivos virtual (elementos del VFS). A partir de la asignación de permisos a grupos de usuarios se podían determinar los niveles de acceso. OpenCms v7.x introduce el concepto de roles y unidades organizacionales.
La implementación de un modelo de seguridad en OpenCms requiere la utilización de todos los elementos disponibles: usuarios, grupos, roles y unidades organizacionales. Estos elementos se combinan para lograr un esquema de seguridad flexible. A continuación, describiremos cada uno de ellos:
Usuarios
OpenCms viene con una serie de usuarios pre-cargados: Admin, Export y Guest. Cada uno posee una función dentro de OpenCms: administrar el sistema (Admin), gestionar la exportación desde el VFS al sistema de archivos real (Export) y permitir el acceso al proyecto online (Guest).
A su vez, cada usuario tendrá un grupo asociado, un rol, un sitio y una unidad organizacional (OU). El grupo, sitio y rol pueden ser asignados al momento de la creación. No obstante, la OU debe ser seleccionada con anterioridad. Es decir, el usuario se creará en la OU donde hayamos ingresado para realizar la operación.
Finalmente, en la nueva versión desaparece el tipo de usuario WEBUSER. Los ‘webusers’ son aquellos usuarios que pertenecen a una OU con la marca de ‘webuser’ o simplemente adoptan el rol de webuser por la falta de un rol que les otorgue otra funcionalidad (Guest).
Grupos
En la práctica, los grupos funcionan como organizadores que reúnen usuarios. Esta agrupación luego facilita la asignación de permisos al VFS.
Los grupos poseen una relación con las unidades organizacionales (OU). La creación de grupos respecto de la OU es contextual. Es decir, debemos primero ingresar a una OU y luego crear el grupo. Por defecto, los grupos son creados en la OU raíz /.
La unidad organizacional raíz / posee algunos grupos pre-cargados. El más importante: Administradores.
Los permisos disponibles para asignar a los USUARIOS o GRUPOS en el sistema de archivo de OpenCms son:
Por último, a nivel permisos es posible determinar que un recurso es SOLO PARA USO INTERNO. De esta forma, no será accesible de ninguna forma desde el proyecto ONLINE.
Roles
Los roles son utilizados en OpenCms para asignar determinada funcionalidad a los usuarios. Los roles están pre-cargados y no pueden modificarse:
Es fundamental verificar la asignación de roles dado que algunos de ellos pueden sobre-escribir definiciones de seguridad a nivel del usuario.
Unidades Organizacionales
Las unidades organizaciones ofrecen un nivel superior de agrupación para usuarios y grupos. Esta forma de organizar la seguridad proviene de los servicios de directorio LDAP compatibles.
Dentro de la creación de una OU podremos seleccionar una marca de ’solo para webusers’. Mediante este control, el sistema deshabilita la asignación de roles a los usuarios miembros de la OU.
Implementación
Conclusiones
En resumen, la implementación de un modelo de seguridad en OpenCms v7 requiere de la definición de las diferentes unidades organizacionales que utilizaremos para agrupar usuarios y grupos. Cada usuarios, recibirá en primera medida la herencia de permisos a los que puede acceder fijado a nivel de los recursos de la OU. Luego, podremos configurar restricciones adicionales para ese usuario a nivel del VFS a través del modelo de permisos.
Finalmente, podremos definir que funcionalidades tiene el usuario disponible mediante la asignación de roles.
Technology For Solutions