El problema es que si alguien ya tiene acceso completo a la base de datos, es solo cuestión de tiempo antes de vincular los registros a personas determinadas. En algún lugar de su base de datos (o en la propia aplicación), deberá establecer la relación entre el usuario y los elementos. Si alguien tiene acceso completo, entonces tendrá acceso a ese mecanismo.
No hay forma de prevenir esto.
La realidad es que al tener acceso completo estamos en una posición de confianza. Esto significa que los gerentes de la compañía deben confiar en que, aunque usted pueda ver los datos, no actuará de ninguna manera con ellos. Aquí es donde entran en juego pequeñas cosas como la ética.
Ahora, dicho esto, muchas compañías separan al personal de desarrollo y producción. El propósito es eliminar el Desarrollo de tener contacto directo con datos en vivo (es decir, reales). Esto tiene una serie de ventajas, ya que la seguridad y la confiabilidad de los datos están en la parte superior del heap.
El único inconveniente real es que algunos desarrolladores de creen que no pueden solucionar un problema sin acceso de producción. Sin embargo, esto simplemente no es verdad.
El personal de producción sería el único con acceso a los servidores en vivo. Por lo general, serán investigados en mayor grado (antecedentes penales y otras verificaciones de antecedentes) que se compadezca con el tipo de datos que debe proteger.
El objetivo de todo esto es que se trata de un problema de personal; y no uno que pueda ser realmente resuelto con medios técnicos.
ACTUALIZACIÓN
otros aquí parece que falta una pieza muy importante y vital del rompecabezas. A saber, que los datos se ingresan en el sistema por algún motivo. Esa razón es casi universal para que pueda ser compartida. En el caso de un informe de gastos, los datos se ingresan para que la contabilidad pueda saber a quién devolver.
Lo que significa que el sistema, en algún nivel, tendrá que coincidir con los usuarios y los artículos sin la persona de entrada de datos (es decir: un vendedor) estando conectado
Y debido a que los datos tienen que ser atados juntos sin. todas las partes involucradas allí para escribir un código de seguridad para "liberar" los datos, entonces un DBA será absolutamente capaz de revisar los registros de consulta para descubrir quién es quién. Y muy fácilmente podría agregar independientemente de la cantidad de marcas de almohadilla que desee agregar. Triple DES tampoco lo salvará.
Al final del día, todo lo que ha hecho es hacer el desarrollo más difícil con absolutamente cero beneficio de seguridad. No puedo enfatizar esto lo suficiente: la única forma de ocultar datos de un dba sería para 1. que los datos a solo sean accesibles por la misma persona que los ingresó o 2. para que no existan en primer lugar .
En relación con la opción 1, si la única persona que puede acceder a ella es la persona que la ingresó ... bueno, no tiene sentido que esté en una base de datos corporativa.
¿Qué es "infromation"? ;) – MPelletier
Gracias, error ortográfico corregido. –
Por favor, siéntase libre de preguntar si la pregunta no es lo suficientemente clara. O si piensa/siente/asume que probablemente no hay solución para este problema: adelante y dígalo. –