Regla n. ° 1 de seguridad: si alguien tiene acceso a la información, tiene acceso a esa información
Esa tautología es molesta, pero es verdad. Si le da acceso a un individuo, ellos tienen acceso a los datos. Para los usuarios, esto generalmente significa control de acceso, pero para los desarrolladores ... bueno ... ellos son los que tienen que escribir el control de acceso.
Si este es un problema importante para usted (y parece que lo es), considere incorporar seguridad en su software. Un patrón común es diseñar software seguro en capas. En la capa más baja, un equipo de desarrollo de confianza diseña software que gestiona el control de acceso más simple. Ese software es validado y verificado por tantas personas como sea posible. Cualquiera que diseñe ese código tiene acceso a todo, por lo que la confianza es esencial.
Después de eso, los desarrolladores pueden construir un control de acceso más flexible sobre esa capa central. Este código todavía tiene que ser V y Vd, pero no es tan estricto porque siempre puede confiar en la capa central para cubrir lo esencial.
El patrón se extiende hacia afuera.
La parte difícil, de hecho, el arte de diseñar estos sistemas, es cómo construir cada capa para que los desarrolladores puedan continuar desarrollando y depurando al mismo tiempo que proporcionan a su empresa la seguridad que espera. En particular, deberá aceptar que la depuración exige más privilegios de los que cree que deberían, e intentar bloquearlos provocará algunos desarrolladores muy enojados.
Como solución secundaria, considere crear bases de datos "seguras" con fines de prueba donde los desarrolladores puedan extraer todos los mecanismos de seguridad y realizar una depuración seria.
Al final, tanto usted como sus desarrolladores deben comprender un principio clave de seguridad: toda la seguridad es un equilibrio entre seguridad y usabilidad. Usted debe golpear su propio balance de una empresa. El sistema no será perfectamente seguro y no será perfectamente utilizable. Ese equilibrio probablemente incluso se moverá a medida que su empresa crezca y / o cambien las demandas de los desarrolladores. Si está abierto a esta realidad, puede abordarla.