Diferencia entre revisiones de «SIU-Kolla/Version 4.8.0/anonimizador»
(No se muestran 5 ediciones intermedias de otro usuario) | |||
Línea 10: | Línea 10: | ||
ANONIMIZAR_DB_HOST="localhost"<br /> | ANONIMIZAR_DB_HOST="localhost"<br /> | ||
ANONIMIZAR_DB_PORT="5432"<br /> | ANONIMIZAR_DB_PORT="5432"<br /> | ||
− | ANONIMIZAR_DB_DBNAME=" | + | ANONIMIZAR_DB_DBNAME="<nombre base de datos>"<br /> |
− | ANONIMIZAR_DB_USERNAME=" | + | ANONIMIZAR_DB_USERNAME="<nombre usuario de base de datos>"<br /> |
− | ANONIMIZAR_DB_PASSWORD=" | + | ANONIMIZAR_DB_PASSWORD="<password usuario de base de datos>"<br /> |
===Archivo de mascara de anonimización=== | ===Archivo de mascara de anonimización=== | ||
− | En la raíz 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 | + | * 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
Sumario
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.