Es requerimiento surge de la necesidad de tener datos personales enmascarados para mantener la privacidad de los involucrados y poder distribuirlo de manera abierta.
Disponible la misma a partir de 2.3.0, adjunto archivo al final del post.
Requisitos
Servidor actual donde se encuentra el servidor de postgres corriendo.
Directorio anonimizador el usuario postgres debe tener permisos escritura, lectura y ejecución, ejecutar el siguiente script bash “anonimizar.sh” que se encuentra en el siguiente directorio.
en la distribución del paquete
diaguita/aplicacion/bin/anonimizador/fuentes
Le solicitara en el siguiente orden que ingresen
usuario de base de datos: el mismo debe contar con permisos superusuario sobre la base de negocio.
contraseña del usuario.
puerto.
y por defecto deja el dump anonimizado en /tmp con el siguiente nombre
XXXXX_mask.sql
Tablas y campos por el momento que se proceden anonimizar. scp_convocatorias
asunto_convocatoria
comentario scp_items_solictados
comentario
descripcion
especificacion scp_proveedores_sugeridos
proveedor_descripcion
proveedor_telefono
proveedor_direccion scp_proveedor_sugerido
proveedor_pagina_web
proveedor_contacto scp_pliegos
objetivo_contratacion
observaciones_generales scp_pliegos_articulos
descripcion scp_detalles_ordenes_compras
descripcion scp_renglones_oferentes
observaciones
descripcion scp_items_solicitados
especificacion scp_dictames_evaluacion
observaciones scp_informes_tecnicos
observaciones scp_solicitudes_altas_bienes_patrimoniales
observaciones scp_solicitud_alta_bien_patrimonial_detalles
descripcion_bien scp_bienes_patrimoniales
descripcion anx_personas_x_documentos
numero anx_personas_x_documentos
numero_sin_formato,
razon_social
nombre_fantasia
Hola gente.
Disculpen si no corresponde seguir por este hilo, pero quería reportar que tengo problemas con el proceso de anonimizar en la versión 2.6.0
En principio, hay cuestiones en script que tuve que modificar y son:
como los permisos de los archivos son son solo para lectura y escritura del usuario apache entonces el script se tiene que ejecutar como root (o en su defecto como apache), pero primero tuve que agregarles permisos de ejecución al archivo mask y a todos los .sh
luego en el install_mask.sh, tuve que agregar el parámetro -W para que solicite la contraseña del usuario postgres
lo mismo en el la línea del pg_dump en el archivo anonimizar.sh
Hasta ahí parecia que ya estaba todo, pero están mal los nombres de los archivos SQL a los que se hace referencia en el install_mask.sh. En el directorio SQL están los archivos con un número que antecede el nombre, por ejemplo 01_create_tables_mask.sql pero en el script no está referenciado con el número.
[root@diaguita-prueba fuentes]# ls -l sql/
total 130
-rw-r----- 1 apache apache 515 abr 24 2018 01_create_tables_mask.sql
-rw-r----- 1 apache apache 26371 abr 24 2018 02_mask_firstnames.sql
-rw-r----- 1 apache apache 47692 abr 24 2018 03_mask_lastnames.sql
-rw-r----- 1 apache apache 997 abr 24 2018 04_proc_init_shuffle_dni.sql
-rw-r----- 1 apache apache 1640 abr 24 2018 05_proc_shuffle_dni.sql
-rw-r----- 1 apache apache 350 abr 24 2018 06_proc_char_to_sha256.sql
-rw-r----- 1 apache apache 358 abr 24 2018 07_proc_get_cuilt.sql
-rw-r----- 1 apache apache 237 abr 24 2018 08_proc_get_username.sql
-rw-r----- 1 apache apache 266 abr 24 2018 09_proc_hash_mail.sql
-rw-r----- 1 apache apache 3941 abr 24 2018 10_proc_hash_nombre.sql
-rw-r----- 1 apache apache 44 abr 24 2018 11_mask_generate_data.sql
-rw-r----- 1 apache apache 980 abr 24 2018 12_proc_rand_apellido.sql
-rw-r----- 1 apache apache 1316 abr 24 2018 13_proc_rand_apyno.sql
-rw-r----- 1 apache apache 274 abr 24 2018 14_proc_rand_dni.sql
-rw-r----- 1 apache apache 498 abr 24 2018 15_proc_rand_fecha.sql
-rw-r----- 1 apache apache 535 abr 24 2018 16_proc_rand_importe.sql
-rw-r----- 1 apache apache 2434 abr 24 2018 17_proc_rand_nombre.sql
-rw-r----- 1 apache apache 2456 abr 24 2018 18_proc_set_text.sql
-rw-r----- 1 apache apache 11355 abr 24 2018 19_proc_shuffle_cuilt.sql
-rw-r----- 1 apache apache 290 abr 24 2018 20_proc_char_to_md5.sql
Igualmente, hice un intento de agrear los números en el script, pero al parecer el orden de la ejecución de los SQL y el de la numeración de los archivos difiere.
No quiero seguir modificando sin saber, por eso les pido si pueden solucionarlo. Evidentemente algo cambió porque además en la versión 2.5.0 (con los primeros cambios que mencioné) funciona bien el proceso.
Muchas gracias y quedo a disposición para lo que sea.
Un abrazo.
Paso a comentarte:
en primer instancia, para ejecutar ese comando hay que cargar el entorno. Para esto, parado en la carpeta de instalación ejecuto:
[root@diaguita-prueba SIU-Diaguita-2.6.0]# . entorno_toba.env
Entorno cargado.
Ejecute 'toba' para ver la lista de comandos disponibles.
pero al ejecutar el proceso de anonimizar me da el siguiente error:
root@diaguita-prueba SIU-Diaguita-2.6.0]# toba proyecto anonimizar_base -p diaguita
PHP Notice: Use of undefined constant apex_pa_instancia - assumed 'apex_pa_instancia' in /var/www/html/siu/SIU-Diaguita-2.6.0/php/extension_toba/diaguita_comando.php on line 1476
INFO_INSTANCIA: No se encuentra definido el archivo de inicializacion de la INSTANCIA: 'apex_pa_instancia' ('/var/www/html/siu/SIU-Diaguita-2.6.0/instalacion/i__apex_pa_instancia/instancia.ini')
___________________________________________________________________________________________________
TIEMPO: 0,013 segundos