Cómo ocultar los datos confidenciales del desarrollador de la aplicación y el DBA de la base de datos

0

Tengo una situación simple, estamos en el centro de TI y necesito desarrollar un solo formulario de 4 campos que contenga un campo de salario, necesito que el programador de nuestro centro de TI no pueda conocer los salarios de otros empleados cuando verifica el base de datos y la aplicación que creó

    
pregunta user39814 10.02.2014 - 07:13
fuente

3 respuestas

3

Tienes diferentes opciones, considera que dependiendo de las regulaciones lo que quieres hacer puede ser obligatorio (es decir, España).

  1. Esto es tan simple como crear una base de datos con información falsa pero con la misma estructura.
  2. Cambie los nombres de los empleados en la base de datos (y otros identificadores), déjelos desarrollar y luego vuelva a cambiarlos.
  3. Haga que el desarrollador y el dba firmen un acuerdo de no divulgación y les permita trabajar con el db original.

Creo que la primera opción es la mejor, llenar una base de datos es algo fácil con un script o similar y no necesitan acceder a la información real. La tercera opción, si tienes miedo solo de las regulaciones, es la más fácil.

--- Después de la aclaración agrego:

Puede usar cualquier método para almacenar los datos en la base de datos, creo que la forma más sencilla es no usar el cifrado público / privado, sino usar una contraseña normal con bcrypt o similar (esto tendrá menos complejidad y le impedirá administrar teclas).

El problema al usar una contraseña es que los datos se cifrarán con una sola contraseña y todos los usuarios de la aplicación tendrán que compartirla.

Creo que cifrar la información dentro de la base de datos no es una buena solución ya que tiene muchas implicaciones, lo que haría sería limitar y registrar el acceso a esa base de datos y elegir un dba para ella en el que pueda confiar.

El desarrollador, simplemente, no necesita acceder a los datos reales, puede crear su propia base de datos para pruebas y desarrollo.

    
respondido por el kiBytes 10.02.2014 - 07:58
fuente
2

Puede ocultar esta información del desarrollador con bastante facilidad. El desarrollador solo trabaja en un entorno de desarrollo, que no contiene datos en vivo. Cuando han creado la aplicación, crean un paquete de implementación, que una persona separada implementa para vivir. Hay algunas dificultades asociadas con esto, como la depuración de problemas de la aplicación, pero es posible.

Es mucho más difícil ocultar dicha información a las personas de operaciones, como el DBA. Su mejor enfoque es dividir los datos de alguna manera, como cifrarlos y almacenar la clave por separado. Al menos, esto requeriría que dos personas se confirieran para extraer los datos. En general, las organizaciones comerciales no lo hacen con éxito, y dadas las recientes filtraciones de la NSA, ¡parece que las agencias gubernamentales tampoco!

    
respondido por el paj28 10.02.2014 - 15:22
fuente
1

Tener a los desarrolladores trabajando sin acceso a los datos sería como dejarlos trabajar con los ojos vendados y con las manos atadas.

Pero eso no significa que tenga que ser datos de producción.

Cualquier proyecto de desarrollo de software serio debe tener al menos dos copias independientes, técnicamente completamente separadas: el entorno de prueba donde ocurre el desarrollo y el entorno de producción donde los usuarios reales están trabajando. Esta separación es importante para permitir que los desarrolladores prueben lo que sucede cuando crean, modifican y eliminan datos sin tener miedo de las consecuencias para el entorno de producción. Su entorno de prueba debe tener acceso a una base de datos propia que es técnicamente idéntica a la base de datos de producción, pero que está llena de datos de prueba.

Sus datos de prueba pueden ser generados aleatoriamente por un programa, o puede usar datos de producción y anonimizarlos. Cuando solo reemplaza todos los nombres (y cualquier otra información que pueda usarse para identificar a una persona) pero deja todos los demás datos como están, tiene datos que son funcionalmente idénticos a la producción pero que no violan la privacidad de nadie. >     

respondido por el Philipp 10.02.2014 - 17:08
fuente

Lea otras preguntas en las etiquetas