Diferencia entre revisiones de «SIU-Kolla/Version 4.8.0/anonimizador»

De SIU
Saltar a: navegación, buscar
 
(No se muestran 4 ediciones intermedias de otro usuario)
Línea 16: Línea 16:
 
===Archivo de mascara de anonimización===
 
===Archivo de mascara de anonimización===
  
En la raíz del proyecto es necesario tener un archivo con el nombre mask.json con la estructura que se muestra en el archivo de ejemplo, definiendo los schemas, tablas, campos y funciones de enmascarado propias del proyecto.
+
En la raíz del proyecto se encuentra un archivo con el nombre '''mask.json''' que define los schemas, tablas y campos a enmascarar y la función de enmascarado a utilizar en cada caso. En caso de querer realizar una anonimización diferente a la propuesta se deberá editar este archivo.
  
 
===Ejecución del comando de anonimización===
 
===Ejecución del comando de anonimización===
Línea 29: Línea 29:
 
* Crea una nueva base de datos que es una copia de la base de datos a anonimizar
 
* Crea una nueva base de datos que es una copia de la base de datos a anonimizar
 
* Crea en la nueva base de datos la estructura y datos que necesita el anonimizador
 
* Crea en la nueva base de datos la estructura y datos que necesita el anonimizador
* Obtiene las reglas de anonimización del proyecto desde un archivo mask.json y lo configura en el anonimizador
+
* Obtiene las reglas de anonimización del proyecto desde el archivo mask.json y lo configura en el anonimizador
 
* Ejecuta el proceso de anonimización sobre cada schema definido en las reglas del proyecto en la nueva base de datos
 
* Ejecuta el proceso de anonimización sobre cada schema definido en las reglas del proyecto en la nueva base de datos
* Genera un archivo con el dump de la base de datos anonimizada. (Opcional) pasando como argumento al comando ej:
+
* Genera un archivo con el dump de la base de datos anonimizada. '''(Opcional)''' pasando como argumento al comando ej:
  
 
  instalador base:anonimizar --dir-dump /tmp/
 
  instalador base:anonimizar --dir-dump /tmp/
  
* Genera un archivo comprimido ZIP del archivo de dump. (Opcional) pasando como argumento al comando ej:
+
* Genera un archivo comprimido ZIP del archivo de dump. '''(Opcional)''' pasando como argumento al comando ej:
  
 
  instalador base:anonimizar --dir-dump /tmp/ --comprimir
 
  instalador base:anonimizar --dir-dump /tmp/ --comprimir
  
 +
===Restaurar el dump obtenido===
 +
 +
Finalmente, para restaurar el dump en una nueva base de datos, se hará uso del comando [https://www.postgresql.org/docs/13/backup-dump.html#BACKUP-DUMP-RESTORE psql].
  
 
[[SIU-Kolla/version4.8.0 | < Volver]]
 
[[SIU-Kolla/version4.8.0 | < Volver]]

Revisión actual del 10:18 23 feb 2023

Anonimizador de Base de Datos

El instalador de proyectos del SIU consume la librería de Anonimización y provee de un comando para realizar la anonimización. Para ello es necesario contar con la configuración que se describe a continuación.

Configurar datos de conexión a la base de datos a anonimizar

Para indicar los parámetros de conexión a la base de datos que se quiere anonimizar hay que configurar en el archivo del proyecto instalador.env lo siguiente:

###### CONFIG DE BASE DE DATOS A ANONIMIZAR ######
ANONIMIZAR_DB_HOST="localhost"
ANONIMIZAR_DB_PORT="5432"
ANONIMIZAR_DB_DBNAME="<nombre base de datos>"
ANONIMIZAR_DB_USERNAME="<nombre usuario de base de datos>"
ANONIMIZAR_DB_PASSWORD="<password usuario de base de datos>"

Archivo de mascara de anonimización

En la raíz del proyecto se encuentra un archivo con el nombre mask.json que define los schemas, tablas y campos a enmascarar y la función de enmascarado a utilizar en cada caso. En caso de querer realizar una anonimización diferente a la propuesta se deberá editar este archivo.

Ejecución del comando de anonimización

Una vez realizada la configuración que se describe anteriormente, para realizar la anonimización mediante el instalador se ejecuta el siguiente comando:

instalador base:anonimizar

Esto ejecutará las tareas necesarias para instalar el anonimizador en el servidor correspondiente:

  • Obtiene los datos de configuración de la base de datos a anonimizar
  • Crea una nueva base de datos que es una copia de la base de datos a anonimizar
  • Crea en la nueva base de datos la estructura y datos que necesita el anonimizador
  • Obtiene las reglas de anonimización del proyecto desde el archivo mask.json y lo configura en el anonimizador
  • Ejecuta el proceso de anonimización sobre cada schema definido en las reglas del proyecto en la nueva base de datos
  • Genera un archivo con el dump de la base de datos anonimizada. (Opcional) pasando como argumento al comando ej:
instalador base:anonimizar --dir-dump /tmp/
  • Genera un archivo comprimido ZIP del archivo de dump. (Opcional) pasando como argumento al comando ej:
instalador base:anonimizar --dir-dump /tmp/ --comprimir

Restaurar el dump obtenido

Finalmente, para restaurar el dump en una nueva base de datos, se hará uso del comando psql.

< Volver