Regla # 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 usted 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 sí lo es), considere crear 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 un software que administra el control de acceso más simple. Ese software está validado y verificado por la mayor cantidad de personas 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 crear un control de acceso más flexible sobre esa capa central. Este código aún tiene que ser V & Vd, pero no es tan estricto porque siempre puedes 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 mientras le brindan a su empresa la seguridad que espera. En particular, deberás aceptar que la depuración exige más privilegios de los que crees que debería, y si intentas bloquearlo, se producirán algunos desarrolladores muy enojados.
Como solución complementaria, considere la posibilidad de crear bases de datos "seguras" para realizar pruebas en las que los desarrolladores puedan eliminar 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 la seguridad y la facilidad de uso. Usted debe hacer lo propio. El equilibrio como empresa. El sistema no será perfectamente seguro y no será perfectamente utilizable. Ese balance probablemente se moverá incluso a medida que su empresa crezca y / o las demandas de los desarrolladores cambien. Si está abierto a esta realidad, puede abordarla.