DataVirt
Bases de datos virtuales y enmascaradas sobre la producción: una prueba de aceptación o una demostración en dos clics.
DataVirt se instala en su dispositivo (Windows, Linux y Android) y se abre con su cuenta Prophetix, la misma que para las aplicaciones web.
DataVirt se conecta a sus bases de datos SQL Server, PostgreSQL, MariaDB, MySQL y Db2. Lee sus esquemas, dibuja sus diagramas y localiza las columnas que contienen datos personales: nombres, correos electrónicos, teléfonos, IBAN, números de tarjeta o de seguridad social, fechas de nacimiento, salarios. Para cada una, usted elige cómo enmascararla — un nombre verosímil, un correo ficticio, una fecha desplazada, un importe con ruido — y la máscara sigue siendo la misma de una tabla a otra, de modo que las uniones se mantienen.
Una base de datos virtual se crea en unos segundos, sin copiar los datos: cada tabla es en ella una vista sobre la producción, transparente o enmascarada, y todo lo que escribe la aplicación se queda en la base de datos virtual. La producción nunca se toca. Se le pasa un script de despliegue para comprobar los cambios de estructura y de datos, se reinicia, se tira — o se borra sola a la hora fijada.
Un servicio, en Windows, en Linux o en un contenedor, mantiene las conexiones en sus instalaciones. Su API lo gestiona todo desde un pipeline (GitHub, GitLab, Azure DevOps) o una herramienta de tickets (Jira, ServiceNow); la interfaz se abre en el navegador, en el escritorio de Windows y Linux, y en Android.
DataVirt está en preparación. Se incorporará al catálogo de la suscripción Prophetix cuando salga.
Todas las funciones de DataVirt
65 funciones en 10 ámbitos
Fuentes de datos
- Se conecta a sus bases de datos SQL Server, PostgreSQL, MariaDB, MySQL y Db2.
- Declara una base de datos de producción, preferiblemente con una cuenta de solo lectura, y prueba la conexión.
- Lee el esquema: tablas, columnas, tipos, claves, índices y volúmenes.
- Dibuja el diagrama del esquema, exportable en SVG o en Mermaid.
- Detecta las columnas con datos personales a partir de sus nombres y de una muestra de valores: nombres, correos electrónicos, teléfonos, IBAN, tarjetas, números de seguridad social, direcciones IP, fechas de nacimiento, salarios.
- Marca cada propuesta como «por confirmar» hasta que una persona la valide.
Enmascaramiento de datos
- Elige una estrategia de enmascaramiento por columna, entre dieciséis: valor vacío o fijo, huella, apellido, nombre, nombre completo, correo electrónico, teléfono, dirección, ciudad, IBAN, tarjeta, parcial, fecha desplazada, ruido, texto.
- Hace el enmascaramiento determinista: un mismo valor da la misma máscara, de modo que las uniones, las agrupaciones y la unicidad se mantienen.
- Compara los valores originales y enmascarados en una vista previa, para ajustar las reglas antes de entregar la base de datos.
- Conserva el tipo y la longitud de cada columna, y deja vacíos los valores vacíos.
- Da a cada base de datos su propia sal, de modo que las máscaras de una base no coinciden con las de otra.
Seudonimización, anonimización y sustitución
- Seudonimiza los números sin colisiones, de modo que una clave primaria sigue siendo única.
- Hace que el seudónimo siga a las claves externas que hacen referencia a la columna, para que las uniones se mantengan.
- Compone un correo electrónico a partir del nombre y el apellido seudonimizados de la misma fila.
- Da los mismos seudónimos en todas las bases de datos de un mismo dominio, para seguir a un cliente de un entorno de pruebas de aceptación a otro.
- Generaliza las fechas, los números y los textos (año, tramo, primeros caracteres) para ayudar a anonimizar.
- Mide el riesgo de reidentificación mediante el k-anonimato, sin las reglas y luego con ellas, e indica qué generalizar.
- Sustituye por valores de sus listas, tablas de correspondencia o formatos fabricados.
- Aplica con un clic un perfil de seudonimización, de anonimización o de sustitución, y comprueba la coherencia de las reglas antes de guardarlas.
- Recupera, para los administradores, el seudónimo de un valor o el valor original de un seudónimo, con un registro en el diario que no contiene el valor original.
Bases de datos virtuales
- Crea una base de datos virtual en unos segundos, sin copiar los datos: cada tabla es en ella una vista sobre la producción.
- Elige el modo: transparente, enmascarado o enmascarado con vista previa de los originales y de las máscaras.
- Mantiene las escrituras de la aplicación en la base de datos virtual; la producción nunca se escribe.
- Da a la aplicación una cuenta propia de la base de datos, que en modo enmascarado no lee los originales.
- Expone cada base de datos en un puerto de la máquina del agente, como un servidor real: la aplicación conserva su controlador habitual.
- Elige el puerto de una base de datos, incluido el del motor, para que el agente sirva de máquina de salto.
- Da una fecha de caducidad a una base de datos: se borra sola a la hora fijada.
- Prolonga, reinicia y elimina una base de datos, y cambia su modo.
- Materializa tablas en copias reales para escribir en ellas o modificar su estructura.
- Lista las tablas de solo lectura, sin clave primaria.
Scripts de despliegue
- Ejecuta un script de despliegue sobre una base de datos virtual para comprobar los cambios de estructura y de datos.
- Divide el script según el motor y lo ejecuta instrucción por instrucción.
- Devuelve un informe: instrucciones, tablas materializadas, diferencias de estructura con el origen y escrituras tabla por tabla.
- Hace fallar el pipeline, con una respuesta 422, cuando una instrucción falla.
Análisis de impacto
- Mide un conjunto de consultas de lectura antes y después de un cambio: índice añadido o quitado, columna eliminada, renombrada o con otro tipo, migración de datos.
- Da un veredicto por consulta: idéntica, más rápida, plan cambiado, más lenta, resultado cambiado o rota.
- Muestra las filas aparecidas y desaparecidas cuando cambia un resultado.
- Lista las vistas, funciones, procedimientos, desencadenadores, claves e índices que dependen de lo que toca el script.
- Simula un cambio y luego deja la base de datos a cero.
- Guarda el conjunto de consultas en el origen, para todas sus bases de datos, y lo actualiza desde su repositorio.
- Devuelve el informe en formato JUnit para los pipelines, con un fallo en caso de regresión.
Gestión desde el sitio
- Instala un agente en sus instalaciones, en una VM Windows, Ubuntu, Debian o Linux con systemd, o en un contenedor: alcanza sus bases de datos y el sitio mediante HTTPS saliente.
- Registra el agente con un código mostrado durante la instalación, o con un token para una instalación automatizada.
- Gestiona desde datavirt.prophetix.com sus fuentes, hosts, enmascaramientos y bases de datos virtuales, con las mismas pantallas que la interfaz local del agente.
- Conserva las contraseñas de sus bases de datos en el agente: el sitio no guarda ninguna.
- Da derechos de lectura, de operador o de administrador sobre un agente entero o fuente por fuente, por correo electrónico.
- Revoca un agente desde el sitio, lo que corta su canal de inmediato.
- Lleva un diario de las operaciones y conserva la interfaz local del agente como alternativa.
Integraciones
- Expone una API REST documentada, que crea, reinicia y elimina bases de datos desde un pipeline.
- Proporciona ejemplos para GitHub Actions, GitLab CI y Azure DevOps.
- Crea, reinicia o elimina el entorno de un ticket desde una herramienta de tickets, como Jira o ServiceNow.
- Envía webhooks firmados para seguir los eventos.
- Protege el acceso con claves de acceso de tres roles, o con el inicio de sesión en su cuenta Prophetix.
En sus dispositivos
- Web: el sitio datavirt.prophetix.com y la interfaz local del agente, en un navegador.
- Windows y Linux: una aplicación de escritorio que gestiona un servicio DataVirt.
- Android: una aplicación que gestiona un servicio DataVirt, para crear un entorno de pruebas de aceptación en dos gestos, prolongar, reiniciar, eliminar, consultar una vista previa y leer el diario.
- El propio servicio funciona en Windows, en Linux (systemd) o en un contenedor.
Conviene saber
- SQL Server y Db2: el SQL se genera y se revisa, pero nunca se ha ejecutado en servidores reales. PostgreSQL y MariaDB se han verificado.
- En MariaDB y MySQL, las tablas en las que se escribe deben materializarse: no es posible escribir en una tabla virtual.
- Db2 requiere el controlador de IBM en la máquina del servicio.
- El servicio de Windows, la aplicación de Android y el inicio de sesión real de Prophetix todavía no se han probado; el escritorio solo se ha probado contra un servicio simulado, nunca en Linux.
- Las claves externas, las restricciones y los desencadenadores del origen no se vuelven a crear en las vistas.
- La seudonimización ayuda a proteger los datos, pero quien posee la clave y el origen puede reidentificarlo todo.
- El k-anonimato no mide todo el riesgo de reidentificación.
- El sitio datavirt.prophetix.com todavía no se ha probado en producción: su despliegue y el inicio de sesión real de Prophetix están por hacer.