Tutorial: Gestión de seguridad

jLibrary incluye un sistema muy flexible de seguridad basado en usuarios y grupos, roles y restricciones que le permitirá configurar de una manera muy sencilla quien puede acceder a la información de su sistema.

jLibrary incluye una perspectiva diseñada especialmente para esta tarea. Es la perspectiva de seguridad. Si esta perspectiva no está disponible cuando usted ha abierto jLibrary, pulse el botón de Otra perspectiva.

Al instante, aparecerá un cuadro de diálogo donde puede seleccionar las diferentes perspectivas definidas en jLibrary. Una de ellas es la perspectiva de seguridad. Seleccionela y pulse OK.

Una vez realizada la acción anterior, jLibrary debería pasar a mostrar la perspectiva de seguridad.

La perspectiva de seguridad está formada por algunas vistas diferentes de las encontradas en la tradicional perspectiva de repositorio:

En jLibrary, un servidor tiene una serie de usuarios definidos. Estos usuarios pueden tener diferentes permisos en los diferentes repositorios del servidor. Además, un servidor tiene definidos grupos, a los que se podrán asignar los diferentes usuarios. Tanto usuarios como grupos tendrán asignados una serie de roles. Los roles se definen a nivel de repositorio, por lo que por ejemplo el usuario martin puede tener el rol de Administrador en el repositorio A, y a la vez tener tan sólo el rol de lector en el repositorio B. Por último, cada nodo puede tener asignados una serie de restricciones. Dependiendo del tipo de política de restricciones del servidor, una restricción puede significar que el usuario o grupo restringido no puede acceder al nodo, o que el usuario o el grupo son los únicos que pueden acceder al nodo. Por defecto, las restricciones son "positivas". Indican que sólo los usuarios o grupos restringidos pueden acceder al nodo.

ADVERTENCIA : Para realizar los siguientes pasos de este tutorial ha de tener un usuario con permisos de Administrador de servidor , en caso de no disponer del mismo, consulte con el administrador de su servidor de jLibrary. Algunas de las operaciones que verá a continuación no funcionarán si no tiene dichos permisos. En caso de no disponer de permisos de Administrador de servidor, todavía puede realizar algunas operaciones siendo Administrador de repositorio, pero no podrá realizar la mayoría.

Gestión de usuarios

Un servidor de jLibrary tendrá asignados una serie de usuarios. Estos usuarios podrán pertenecer a grupos y tendrán asignados una serie de roles. Por defecto, jLibrary trae incluido un usuario llamado Administrador que tiene roles por defecto asignados: Administrador, Editor y Lector.

La vista que permite configurar los usuarios es la Vista de Usuarios, situada en un inicio en la parte superior central de la perspectiva de seguridad. Esta vista, como la de gestión de grupos y restricciones, incluye en su barra de herramientas tres botones que nos permiten crear, actualizar y eliminar usuarios de un servidor.

Para crear un usuario, pulse el botón más a la izquierda en la barra de herramientas. Es importante que tenga seleccionado algún repositorio, ya que sino jLibrary no sabrá en que servidor quiere crear el usuario.

Una vez lo haya hecho, se encontrará con la pantalla de creación de usuarios que pudo ver en el primer tutorial: Crear un repositorio. Si no creó en ese tutorial el usuario de prueba martin, créelo ahora. Introduzca algunos datos de prueba y pulse Aceptar para crear el usuario.

Para actualizar un usuario. Seleccionelo y pulse el botón Actualizar usuario.

Volverá a ver el mismo diálogo que permitía crear usuarios pero que ahora le permitirá modificar los datos del usuario seleccionado. Utilice esta opción para modificar la contraseña del usuario o para modificar sus datos personales.

Por último, pulse el botón eliminar si desea eliminar el usuario que esté seleccionado.

Para terminar con el tema de la gestión de usuarios, es importante que entienda la diferencia entre administrador del servidor y administrador del repositorio. Un administrador del servidor tendrá acceso de administración a todos los repositorios creados. Un administrador del servidor, puede asignar a otros usuarios el privilegio de administración de servidor desde el diálogo de creación y actualización de usuarios. Por otra parte, un administrador de repositorio, sólo tiene permisos para administrar su repositorio y no el resto de repositorios del servidor.

El administrador de servidor puede realizar absolutamente todas las operaciones, por lo tanto es recomendable que tenga precaución con la información de este usuario. Lo ideal es que tengan este tipo de acceso el menor número de personas posible, y que se guarde su contraseña con las mayores medidas de seguridad.

Gestión de grupos

Un servidor de jLibrary tendrá asignados una serie de grupos. Estos grupos contendrán usuarios y tendrán asignados una serie de roles. Por defecto, jLibrary tiene creados una serie de grupos: Lectores, Editores y Administradores. Cada uno de estos grupos tiene asignado un único rol, el de Lector, el de Editor y el de Administrador. Por lo tanto, un usuario que pertenezca al grupo Lectores sólo podrá leer documentos, un usuario que pertenezca al grupo Editores podrá además editar documentos, y un usuario que pertenezca al grupo Administradores podrá administrar el repositorio.

Puede crear nuevos grupos utilizando el botón más a la izquierda de la Vista de Grupos. Nuevamente, asegúrese de tener seleccionado algún repositorio o elemento del mismo.

Aparecerá un diálogo muy simple que le permitirá introducir tanto el nombre como la descripción del tutorial. Introduzca algunos datos de prueba y pulse Aceptar para crear el grupo.

El nuevo grupo creado aparecerá en la vista de grupos. Selecciónelo y pulse el botón de Modificar grupo para modificar su descripción.

Gestionando los usuarios de un grupo

En el momento en que usted selecciona un grupo, por ejemplo en el paso anterior, a la derecha, en la vista de usuarios, pasan a mostrarse los usuarios que forman parte únicamente de ese grupo. Si desea volver a ver todos los usuarios de un servidor de jLibrary, debe asegurarse de que no haya ningún grupo seleccionado.

Para añadir al usuario martin al grupo Grupo Tutorial, simplemente tiene que arrastrarlo desde la vista de usuarios sobre el grupo de destino, en este caso Grupo Tutorial. Recuerde que para ver todos los usuarios del servidor debe deseleccionar cualquier grupo que haya seleccionado previamente.

Una vez ha añadido el usuario al grupo, verá como el grupo está seleccionado y en la vista de usuarios aparecen los usuarios de ese grupo. Para volver a ver la lista de todos los usuarios, simplemente seleccione de nuevo el repositorio y se actualizarán los datos de todas las vistas. Otra forma de realizar lo mismo, es deseleccionar cualquier grupo que esté seleccionado en la vista de grupos.

Para eliminar el usuario del grupo, tan sólo tiene que utilizar el botón de eliminar de la vista de usuarios. Eso sí, asegúrese de que esté seleccionado algún grupo, ya que en otro caso eliminaría el usuario del servidor. Si usted selecciona un grupo, y pulsa el botón eliminar, eliminará el usuario de dicho grupo.

Gestión de roles

Todo repositorio de jLibrary tiene asignados una serie de roles. Cada rol contendrá una serie de usuarios y grupos. De este modo, un usuario puede tener un rol en un repositorio y otro rol completamente diferente en otro repositorio del mismo servidor. Por defecto, jLibrary trae incluidos tres roles que no se pueden modificar ni eliminar:

Si desea ver la lista de roles de un repositorio, seleccione el repositorio y en la vista de roles verá los que hay disponibles. Si desea ver los roles de un usuario o de un grupo, simplemente seleccione el usuario o el grupo y la vista de roles se actualizará convenientemente.

jLibrary da la posibilidad de crear nuevos roles. Para ello pulse el botón de Nuevo rol situado en la vista de roles.

Al momento se le presentará un diálogo desde el que puede introducir los datos del nuevo rol.

Una vez pulse el botón Aceptar podrá ver en la vista de roles que se ha creado el nuevo rol. Puede modificar sus datos seleccionándolo y utilizando el botón Modificar rol.

Por último, si desea eliminar el rol, selecciónelo y pulse el botón Eliminar rol de la vista de roles.

Gestionando los roles de usuarios y grupos

El proceso de añadir roles a los diferentes usuarios y grupos es exactamente igual que el explicado anteriormente para añadir usuarios a grupos. Si por ejemplo, desea añadir un determinado rol a un usuario, arrastre directamente el rol sobre el usuario. Automáticamente, jLibrary asignará ese rol al usuario. Después de la operación, el usuario aparecerá seleccionado y en la vista de roles podrá ver los roles de ese usuario. El mismo proceso se realizaría para añadir roles a grupos.

Para eliminar un rol de un usuario o grupo la operación es exactamente igual a la que se realizaba para eliminar usuarios de grupos. Primero, seleccione el usuario o grupo del que desea eliminar el rol. A continuación seleccione el rol y pulse el botón Eliminar rol. Nuevamente, asegúrese de que tenga seleccionado algún usuario o algún grupo, ya que en caso contrario eliminaría el rol seleccionado del repositorio, y eso no es lo que desea hacer.

Gestión de restricciones

Las restricciones existen, como sugiere su nombre, para restringir el acceso a determinados nodos de un repositorio. Si selecciona un nodo, podrá ver ne la vista de restricciones todos los usuarios y grupos que tienen restringido el acceso a ese nodo.

Si desea restringir el acceso a un usuario o a un grupo, arrastre el usuario o el grupo sobre la vista de restricciones.

Desde ese momento, el usuario no podrá acceder a dicho nodo. Puede hacer la prueba y conectarse con ese usuario al repositorio y verá como éste no podrá ver esa información.

Las restricciones se aplican a los usuarios independientemente de los roles o permisos de los que éstos dispongan. Esto es muy importante para mantener la privacidad de la información. Aunque un administrador del repositorio o del servidor intente acceder a esa información, le será imposible. Tenga cuidado con esta característica ya que por ejemplo, podría perder la información si añade demasiadas restricciones y nadie puede administrar el nodo restringido.

La política de seguridad puede configurarse desde el fichero jlibrary.properties. Si no conoce cuál es este fichero, debería leer primero la guía de instalación para aprender más sobre él. Este fichero, tiene una línea desde la cual puede configurarse la política de restricciones de seguridad de jLibrary:

use.negative.constraints.policy=false

Por defecto, el valor de la clave use.negative.constraints.policy es false. Esto significa que el servidor tendrá una política "positiva", y las restricciones significarán que un usuario o grupo tiene permitido el acceso a ese node. Con esta política, cuando creas un repositorio, sólo el creador del repositorio se añadirá a la lista de restricciones. Si desea que otros usuarios o grupos accedan al repositorio, tendrá que añadirlos manualmente a la lista de restricciones.

Si especifica un valor de true a la clave use.negative.constraints.policy cambiará la política de restricciones de seguridad a "negativa", significando esto que el usuario o grupo no podrá acceder a ese nodo. Con esta política, si se crea un repositorio, no se añadirá automáticamente ninguna restricción. Por lo tanto, todo el mundo podrá acceder a los datos del repositorio. Si desea denegarle el acceso a alguien, tan sólo hay que añadirlo a la lista de restricciones.

¡ Felicidades ! Ha abierto ya tiene los conocimientos suficientes para asegurar sus repositorios :)

-martin