Seguridad de acceso/tablas en base de datos Access

Ante todo darte las gracias por prestarte a ayudar desinteresadamente en este medio tan interesante.
Tengo una base de datos en Access 2003 que he desarrollado durante dos años, que utilizan varias personas en una oficina y cuya complejidad me hace descartar comenzar esta de nuevo con la ayuda de otros lenguajes de programación. El no prever la escalabilidad de la misma (todo empezó como algo sencillo para resolver un problema puntual y ahora es pilar fundamental en la empresa), me ha llevado al tremendo problema de seguridad actual:
He protegido formularios e informes convirtiendo la BD a MDE. He protegido lo que cada usuario puede hacer creando una tabla oculta con usuario y contraseña y los permisos que cada uno tiene. Cada formulario revisa en esta tabla los permisos y hace visibles o no los botones que procedan. Funciona todo de maravilla.
El problema: Si cualquiera abre la base de datos pulsando el shift, va a herramientas/opciones y hace visibles los objetos ocultos, abre la tabla usuarios, quita la máscara de "contraseña", puede acceder con cualquier usuario y envía al traste toda la poca seguridad de la base de datos. Además, no me interesa que nadie se pueda llevar los datos en un pen y los despiece en casa.
¿Cómo puedo evitarlo? He leído bastante sobre esto pero no sé si alguna solución funcionaria:
- ¿Crear una aplicación autoinstalable con el empaquetador de Office?
- ¿Trasladar mis tablas a un servidor con el asistente para convertir a SQL Server?
- ¿Seguridad por usuarios de Access con los archivos MDW?
- ¿Alguna forma de proteger en Windows el archivo que contiene las tablas de manera que únicamente la aplicación pueda leer datos sin que se puedan abrir las tablas?
- ¿Alguna opción en Access para que no puedan editarse las tablas (he probado bloquear su modificación, pero pueden abrirse, eliminarse la máscara y ver las contraseñas aunque luego no te deje guardarlas)?
- ¿Alguna otra solución que no haya pensado que pueda funcionar?
En definitiva, necesito que se pueda ejecutar la aplicación como hasta ahora, pero que nadie pueda modificar el diseño de las tablas excepto yo para que no pueda averiguar las contraseñas de acceso que he establecido.
Sé que elegí mal la aplicación si lo que quiero es seguridad, pero ahora tengo que buscar algún remedio, si es que existe...
Respuesta
1
Tienes que diferenciar esto:
Si el acceso a los datos es a través de otro access, no puedes mejorar la seguridad.
Si te planteas acceder a los datos mediante otros lenguajes, entonces los datos podrían llegar a estar protegidos.
No es que la elección sea mala, sino que tu política de privacidad a cambiado.
Si compras un coche, un mini para moverte por la ciudad, y con el tiempo necesitas ademas de moverte transportar objetos, pues lo mejor es una furgoneta, pero tu tienes ya un mini, o cambias a furgoneta o te quedas con el mini y haces lo que puedes.
Mi recomendación es que sopeses la posibilidad de migrar a otro sistema, pero:
1)Por lo general es un engorro, te encontraras con un sistema cerrado (una aplicación que para modificarla te sera mucho más trabajo que lo que es ahora).
2)Puedes llegar a tener que depender de terceros.
Si una ventaja tiene access es que nos permite modificaciones casi sobre la marcha.
Ahora sopesa lo que tienes y lo que buscas y la decisión queda en tus manos.
Tienes una decisión difícil por delante. Sopesa todo y asesórate profesionalmente si te planteas el cambio.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas