Ventana Gestión de permisos y usuarios

Controles habituales   Conceptos básicos

Accesible desde la opción Gestión de usuarios... permite la gestión (creación, borrado y modificaciones) de usuarios con sus contraseñas, y la asignación de esos usuarios a grupos de usuarios, cada uno de los cuales tiene un conjunto de permisos distinto.

ATENCIÓN: El acceso a esta ventana permite todo el control de seguridad sobre la base que se esté manejando: crear y eliminar usuarios, darles permisos, quitar claves...

Pestaña Permisos

La seguridad de acceso a la BD se guarda dentro del propio archivo de B.D., por eso aparece la ruta y el nombre de la base sobre la que se está trabajando.

En la lista desplegable Grupo: podemos seleccionar y cambiar el grupo del cual estamos viendo los permisos. La lista de permisos que podemos bloquear, están definidos en la plantilla motor.def que hay en el directorio raíz de instalación del programa.

Al marcar cada conmutador de la columna Acceso con un clic, se determina el acceso a las opciones de menú y distintas ventanas y funciones. Para cada nivel hay que determinar a qué opciones del programa tiene acceso. Por ejemplo, permitir que esté activa la opción de menú de crear un Nuevo archivo, Copiar un archivo...

El usuario de máxima autorización (que llamaremos Administrador, aunque pueda recibir cualquier nombre), puede activar o desactivar cualquier opción de interface haciendo doble clic en la línea correspondiente. Al activar o desactivar cada permiso, aparece y se oculta, alternativamente, un aspa () roja. Para activar o desactivar un grupo entero, podemos hacer un clic en el rótulo de color negro (carpeta) que los agrupa.

Si en la ventana aparece una de las marcas con una chispa amarilla, se debe a que las claves leídas en la plantilla motor.def tienen algún problema, bien de sintaxis, o se han quedado obsoletas en la versión del programa, pero el ejecutable actual no las puede interpretar.

El conmutador Proteger BD contra accesos externos (Ms-jet), establece un bloqueo y encriptación de los datos de la base para que no se pueda acceder directamente con el motor de B.D. Jet (por ejemplo desde Ms-Access), sin abrir el acceso con la aplicación.

Pestaña Grupos y Usuarios

En el panel superior, Grupos pertenecientes a la BD:

Muestra una lista de grupos de permisos y descripciones. Por defecto, cualquier archivo nuevo se crea con una plantilla de permisos que le da idea de cómo puede organizar sus grupos.

IMPORTANTE: Se recomienda que para mayor seguridad, todos los usuarios tengan su contraseña y la cambien de vez en cuando. Es importante recordar que sin la contraseña no se puede acceder de ninguna forma a un usuario que la tiene (ni el administrador tiene acceso a esta información), y por tanto, si perdemos la contraseña de administrador, no podríamos entrar ya en las bases de datos para las que no tengamos permisos.

IMPORTANTE: Recuerde que al utilizar Herramientas > Compacta base de datos, no se copian los Grupos que se hayan dado de baja en esta pestaña, mientras no se haga esto, sí continúan estando sus permisos en la base de datos.

 

Versión 7: La columna Ámbito, permite especificar subconjuntos de información dentro de una BD, por grupo de usuarios. Se trata de un filtro de acceso a los registros hasta el punto de que una herramienta como montar o desmontar OTs, no actúa sobre datos de otro ámbito, por ejemplo.

El filtro se realiza asignando un número a cada Grupo de usuarios. En la tabla CON hay un campo con.amb que almacena el ámbito para cada registro de BD. Esta definición de acceso (en visualización y edición) es restrictiva, es decir:

Si hay definido algún ámbito en grupos  de la BD, un usuario de un ámbito puede ver /editar:

· Ver, no editar, los conceptos asociados al ámbito 0 (sin ámbito) o comunes a todos
· Los conceptos marcados con su ámbito
· Los conceptos de los ámbitos que comiencen con el mismo dígito más significativo, es decir, un grupo con ámbito 100 tendrá acceso a los conceptos marcados con ámbito 101, 102, 199... pero no a los 201, 202... y por supuesto, no a los 200.

Hay en total 7 niveles en la jerarquía de ámbitos: 0, 1.000.000, 100.000, 10.000, 1.000, 100 y 99 unidades para cada centena.

· Un número negativo como ámbito de un registro, indica que puede ser visto/editado por cualquier ámbito excepto ese.

· Un usuario de un grupo sin ámbito definido, puede ver y editar en función de sus premisos de interface, todos los conceptos de la base.

En el ejemplo uso_ambitos.ing se puede ver y probar el uso de esta herramienta.

Versión 6: sólo se pueden usar los niveles de ámbitos 0, 100 y 99 unidades en cada centena. Tampoco las excepciones de ámbitos negativos.

 

En el panel inferior, Usuarios pertenecientes a la BD:

Muestra una lista con todos los nombres de usuario de la BD que aparece en la pestaña anterior o en la ventana principal, con una descripción y el nombre del Grupo de permisos al que pertenece. Cada usuario que tenga contraseña aparecerá con una marca azul (), en la columna Contraseña. Si quiere eliminarla o cambiarla o darla de alta, debe entrar en la base con ese usuario, introducir su contraseña y utilizar Herramientas > Cambio de contraseña...

En el campo Grupo, podemos poner a cada usuario un grupo de permisos de forma rápida, tecleando sólo un número contenido en el nombre del grupo, es decir, si nuestros grupos se denominan Grupo1, Grupo2, etc. con sólo teclear '1' ó '2', bastará.

Versión 7: La columna Raíz, permite definir a qué nivel del árbol de conceptos entra cada usuario cuando se accede mediante http a Ingrid como servidor web.

 

Los dos modos de acceso siguientes son excluyentes:

El modo Utilizar usuario [...] de sesión de Windows, permite establecer como nombre de usuario de entrada a una BD el nombre de usuario ya validado en Windows para introducir usuario y contraseña una sola vez. Si el modo está activado, al intentar entrar en una base se busca ese nombre de usuario (sin espacios en blanco, es decir, para el usuario Windows 'Luis Lozano' debe existir en la aplicación el usuario 'luislozano'; si existe, se salta la contraseña (en caso de que la tenga, lo que es siempre recomendable o habrá usuarios a los que se accede libremente), y si el usuario no existe, mira como siempre en el .INI el último usuario que entró, y si tiene contraseña la pide.

Se entiende que los usuarios deben tener clave (que no tiene porqué ser la misma que en Windows), ya que este conmutador es sólo un atajo para teclear la clave si ya se ha teclado en Windows, pero si el usuario de la aplicación no tiene clave, se accederá libremente desde el usuario Windows con el mismo nombre y desde cualquier otro.

Lo que se mira es el nombre del propietario del hilo de proceso actual de sesión en Windows, es decir, funciona de forma transparente para nombres de usuario como perfiles locales, perfiles móviles o nombres de dominio.

IMPORTANTE: El administrador debe recordar que al llevarse la BD a otra red o equipo, se puede comprometer la seguridad ya que puede existir un usuario con un nombre autorizado y distintos permisos. Un usuario con perfil Administrador de Windows puede crear usuarios con el nombre que quiera y acceder con el asignado a otra persona, pero resulta que un administrador es el propietario de la base.

TRUCO: Hay una limitación de 16 caracteres en el nombre de usuario de la aplicación. Si se tienen usuarios Win más largos, en la ventana de tipos y clases, se puede re-definir ese campo poniendo 'segusu.cod' -que sale como campo TExto-, como de 50 caracteres, por ejemplo.

El modo Utilizar usuario [...] de conexión a SGBD, permite crear usuarios en el SGBD con los que especificar permisos más detallados que los que permite el interface de la aplicación, por ejemplo, eliminar conceptos separado de modificarlos o crearlos. Si en la aplicación tenemos creado un usuario con el mismo nombre y contraseña que en SGBD, se aplicarán los permisos de aquel y se entrará en Ingrid directamente con esos datos.

IMPORTANTE: (Para administradores) el sistema de seguridad en grupos de usuarios y lista y clave de acceso de los mismos, se encuentra el el propio archivo de BD (siempre que nos refiramos a BD en formato JET, que es por defecto con el que se distribuye la aplicación).

La plantilla de permisos para JET se toma de la estándar "C:\Documents and Settings\<nombre de usuario>\Datos de programa\Microsoft\Access\System.mdw"  que va con el sistema, pero mediante una conexión JET a través de la pestaña de Servidores, se puede especificar otra plantilla de permisos.

Puede ver una lista con las claves de bloqueo que se pueden utilizar además de las que ya incluye el archivo de plantilla motor.def, en este esquema.

 

Botones al pie:

Defecto, realiza una opción delicada, ya que permite al administrador destruir la seguridad existente en la conexión de BD actual (usuario, grupos y permisos) ya que permite recuperar la plantilla de permisos del archivo comun que se esté utilizando. Si no se tiene redireccionado a otro archivo distinto en el campo Común (dir público), siempre será la BD comun que está en el directorio raíz de instalación. La plantilla de seguridad incluye una configuración razonable de usuarios, grupos y permisos, pero sin claves de acceso para los usuarios de los distintos niveles, incluyendo al administrador.

Traslada permite copiar todo el conjunto de permisos de la conexión actual (usuarios, grupos y permisos) a una BD en el archivo paralelo.

Proceso usual de protección de un sistema:

Para proteger con efectividad total el acceso a las opciones del programa y controlar qué usuarios acceden a qué datos, el Administrador debe seguir estos pasos:

1. Dar de alta en esta ventana, nuevos grupos de usuarios distintos de los genéricos que se ofrecen con la plantillas de archivos nuevos (Nivel1 a Nivel4). Es MUY IMPORTANTE incluir un grupo de Administradores sin ninguna limitación o no podrá haber un super-usuario.

2. Dar de alta los usuarios de nuestro sistema y asociarlos a los grupos creados. Asignarles una clave de acceso a cada uno.

3. En la ventana Gestión de permisos, dar EN CADA BASE DE DATOS, los permisos a cada grupo de los creados.

4. Quitar TODOS los permisos de acceso (incluso lectura) a los 4 grupos de defecto que venían con el programa, para que nadie pueda acceder a través de ellos.

Si esta operación se realiza incluso antes de crear nuestra primera base de datos, todas utilizarán ya este sistema y no tendremos ningún trabajo adicional, pero si lo hacemos cuando ya tengamos varias bases de datos en activo, tendremos que entrar en cada una de ellas y modificar los permisos en cada una.