DataVirt
Database virtuali e mascherati sopra la produzione: un collaudo o una dimostrazione in due clic.
DataVirt si installa sul vostro dispositivo (Windows, Linux e Android) e si apre con il vostro account Etrebil, lo stesso delle applicazioni web.
DataVirt si collega ai suoi database SQL Server, PostgreSQL, MariaDB, MySQL e Db2. Ne legge gli schemi, ne disegna i diagrammi e individua le colonne che contengono dati personali: nomi, e-mail, telefoni, IBAN, numeri di carta o di previdenza sociale, date di nascita, stipendi. Per ciascuna, lei sceglie come mascherarla — un nome plausibile, un'e-mail fittizia, una data spostata, un importo con rumore — e la maschera resta la stessa da una tabella all'altra, così i join reggono.
Un database virtuale si crea in pochi secondi, senza copiare i dati: ogni tabella è una vista sulla produzione, trasparente o mascherata, e tutto ciò che l'applicazione scrive resta nel database virtuale. La produzione non viene mai toccata. Vi si esegue uno script di distribuzione per verificare le modifiche di struttura e di dati, lo si reimposta, lo si getta — oppure si cancella da solo all'ora stabilita.
Un servizio, su Windows, su Linux o in un container, mantiene le connessioni presso di lei. La sua API gestisce tutto da una pipeline (GitHub, GitLab, Azure DevOps) o da uno strumento di ticketing (Jira, ServiceNow); l'interfaccia si apre nel browser, sul desktop Windows e Linux e su Android.
DataVirt è in preparazione. Entrerà nel catalogo dell'abbonamento Etrebil alla sua uscita.
Tutte le funzionalità di DataVirt
65 funzionalità in 10 ambiti
Origini dati
- Si collega ai suoi database SQL Server, PostgreSQL, MariaDB, MySQL e Db2.
- Dichiara un database di produzione, di preferenza con un account in sola lettura, e verifica la connessione.
- Legge lo schema: tabelle, colonne, tipi, chiavi, indici e volumi.
- Disegna il diagramma dello schema, esportabile in SVG o in Mermaid.
- Rileva le colonne con dati personali in base ai loro nomi e a un campione di valori: nomi, e-mail, telefoni, IBAN, carte, numeri di previdenza sociale, indirizzi IP, date di nascita, stipendi.
- Contrassegna ogni proposta come «da confermare» finché una persona non la convalida.
Mascheramento dei dati
- Sceglie una strategia di mascheramento per colonna, tra sedici: valore vuoto o fisso, impronta, cognome, nome, nome completo, e-mail, telefono, indirizzo, città, IBAN, carta, parziale, data spostata, rumore, testo.
- Rende il mascheramento deterministico: lo stesso valore dà la stessa maschera, quindi join, raggruppamenti e unicità reggono.
- Confronta i valori originali e mascherati in un'anteprima, per regolare le regole prima di consegnare il database.
- Mantiene il tipo e la lunghezza di ogni colonna e lascia vuoti i valori vuoti.
- Assegna a ogni database un proprio salt, così le maschere di un database non si sovrappongono a quelle di un altro.
Pseudonimizzazione, anonimizzazione e sostituzione
- Pseudonimizza i numeri senza collisioni, così una chiave primaria resta univoca.
- Fa seguire lo pseudonimo alle chiavi esterne che fanno riferimento alla colonna, perché i join reggano.
- Compone un'e-mail a partire dal nome e dal cognome pseudonimizzati della stessa riga.
- Assegna gli stessi pseudonimi in tutti i database di uno stesso dominio, per seguire un cliente da un ambiente di collaudo all'altro.
- Generalizza date, numeri e testi (anno, fascia, primi caratteri) per aiutare ad anonimizzare.
- Misura il rischio di reidentificazione con il k-anonimato, senza e poi con le regole, e indica cosa generalizzare.
- Sostituisce con valori tratti dalle sue liste, da tabelle di corrispondenza o da formati generati.
- Applica con un clic un profilo di pseudonimizzazione, anonimizzazione o sostituzione e verifica la coerenza delle regole prima di salvarle.
- Recupera, per gli amministratori, lo pseudonimo di un valore o il valore originale di uno pseudonimo, con una traccia nel registro che non contiene il valore originale.
Database virtuali
- Crea un database virtuale in pochi secondi, senza copiare i dati: ogni tabella è una vista sulla produzione.
- Sceglie la modalità: trasparente, mascherata o mascherata con anteprima degli originali e delle maschere.
- Mantiene le scritture dell'applicazione nel database virtuale; la produzione non viene mai scritta.
- Assegna all'applicazione un account proprio del database, che in modalità mascherata non legge gli originali.
- Espone ogni database su una porta della macchina dell'agente, come un vero server: l'applicazione mantiene il suo driver abituale.
- Sceglie la porta di un database, compresa quella del motore, perché l'agente possa fare da jump host.
- Assegna una scadenza a un database: si cancella da solo all'ora stabilita.
- Prolunga, reimposta ed elimina un database e ne cambia la modalità.
- Materializza le tabelle in copie reali per poterle scrivere o modificarne la struttura.
- Elenca le tabelle in sola lettura, senza chiave primaria.
Script di distribuzione
- Esegue uno script di distribuzione su un database virtuale per verificare le modifiche di struttura e di dati.
- Suddivide lo script in base al motore e lo esegue istruzione per istruzione.
- Restituisce un rapporto: istruzioni, tabelle materializzate, differenze di struttura rispetto all'origine e scritture tabella per tabella.
- Fa fallire la pipeline, con una risposta 422, quando un'istruzione fallisce.
Analisi d'impatto
- Misura un insieme di query di lettura prima e dopo una modifica: indice aggiunto o rimosso, colonna rimossa, rinominata o con tipo cambiato, migrazione di dati.
- Dà un verdetto per ogni query: identica, più veloce, piano cambiato, più lenta, risultato cambiato o interrotta.
- Mostra le righe comparse e scomparse quando un risultato cambia.
- Elenca le viste, le funzioni, le procedure, i trigger, le chiavi e gli indici che dipendono da ciò che lo script tocca.
- Simula una modifica, poi riporta il database a zero.
- Registra l'insieme di query sull'origine, per tutti i suoi database, e lo aggiorna a partire dal suo repository.
- Restituisce il rapporto in formato JUnit per le pipeline, con un fallimento in caso di regressione.
Gestione dal sito
- Installa un agente presso di lei, su una VM Windows, Ubuntu, Debian o Linux con systemd, oppure in un container: raggiunge i suoi database e il sito in HTTPS in uscita.
- Registra l'agente con un codice mostrato durante l'installazione, o con un token per un'installazione automatizzata.
- Gestisce da datavirt.etrebil.com le sue origini, i suoi host, i mascheramenti e i database virtuali, con le stesse schermate dell'interfaccia locale dell'agente.
- Conserva le password dei suoi database sull'agente: il sito non ne detiene alcuna.
- Assegna diritti di lettura, di operatore o di amministratore su un intero agente o origine per origine, tramite e-mail.
- Revoca un agente dal sito, il che interrompe subito il suo canale.
- Tiene un registro delle operazioni e mantiene l'interfaccia locale dell'agente come soluzione di riserva.
Integrazioni
- Espone un'API REST documentata, che crea, reimposta ed elimina i database da una pipeline.
- Fornisce esempi per GitHub Actions, GitLab CI e Azure DevOps.
- Crea, reimposta o elimina l'ambiente di un ticket da uno strumento di ticketing, come Jira o ServiceNow.
- Invia webhook firmati per seguire gli eventi.
- Protegge l'accesso con chiavi di accesso a tre ruoli, oppure con l'accesso al suo account Etrebil.
Sui vostri dispositivi
- Web: il sito datavirt.etrebil.com e l'interfaccia locale dell'agente, in un browser.
- Windows e Linux: un'applicazione desktop che gestisce un servizio DataVirt.
- Android: un'applicazione che gestisce un servizio DataVirt, per creare un ambiente di collaudo in due gesti, prolungare, reimpostare, eliminare, consultare un'anteprima e leggere il registro.
- Il servizio stesso funziona su Windows, su Linux (systemd) o in un container.
Da sapere
- SQL Server e Db2: l'SQL viene generato e riletto, ma non è mai stato eseguito su veri server. PostgreSQL e MariaDB sono stati verificati.
- Con MariaDB e MySQL, le tabelle scritte devono essere materializzate: non è possibile scrivere su una tabella virtuale.
- Db2 richiede il driver IBM sulla macchina del servizio.
- Il servizio Windows, l'applicazione Android e l'accesso Etrebil reale non sono ancora stati provati; il desktop è stato provato solo con un servizio fittizio, mai su Linux.
- Le chiavi esterne, i vincoli e i trigger dell'origine non vengono ricreati sulle viste.
- La pseudonimizzazione aiuta a proteggere i dati, ma chi detiene la chiave e l'origine può reidentificare tutto.
- Il k-anonimato non misura tutto il rischio di reidentificazione.
- Il sito datavirt.etrebil.com non è ancora stato provato in produzione: la sua distribuzione e l'accesso Etrebil reale restano da fare.