Il Lua script scopre i dati sensibili nei file JSON
Quando si lavora con la funzionalità di rilevamento dei dati, DataSunrise le consente di utilizzare una varietà di filtri di ricerca predefiniti per vari tipi di dati sensibili. Ma c’è un modo per cercare dati unici? Sì, per svolgere questo compito può usare Lua. L’uso di script Lua per il rilevamento dei dati consente di cercare letteralmente qualsiasi valore di tipo testo non coperto dai modelli esistenti.
Questo articolo descrive come può utilizzare Lua per individuare le colonne del database di interesse nei file JSON. Uno script dedicato viene utilizzato per farlo, in modo che possa basare la sua ricerca sull’algoritmo descritto di seguito. Si noti che questo può essere fatto non solo con JSON, ma con qualsiasi tipo di file: basta creare uno script Lua appropriato.
Può copiare lo script utilizzato in questo articolo qui:
-- Specificare i valori che si desidera scoprire nell'elenco sensitive_from_json -- ad es. {"data","id","name"} sensitive_from_json = {"id", "data"} -- valStr conterrà JSON come testo local valStr = tostring(columnValue) local valStrLen = string.len(valStr) -- Funzione per ottenere la lunghezza di una tabella local function tablelength(T) local count = 0 for _ in pairs(T) do count = count + 1 end return count end -- Ottenere il conteggio degli elementi nell'elenco sensitive_from_json local count = tablelength(sensitive_from_json) -- Identificare se la colonna contiene dati in formato JSON if string.sub(valStr, 1, 1) == '{' and string.sub(valStr, valStrLen, valStrLen) == '}' then for i = 1, count do -- Se JSON contiene almeno 1 valore desiderato, restituire 1, altrimenti 0 if string.find(valStr, '"' .. tostring(sensitive_from_json[i]) .. '":') then return 1 end end return 0 else return 0 end
Prima, crei il suo script Lua per cercare i propri dati di interesse. Si noti che lo script particolare che abbiamo creato per questo articolo tra le altre cose verifica se il file elaborato è formattato come un file JSON. Per altri tipi di file, dovrebbe usare altri algoritmi di validazione. Inseriamo i valori richiesti nello script. Per la sua convenienza, abbiamo lasciato alcuni commenti lì.
Così, il nostro script è pronto per l’elaborazione e possiamo andare alla Console Web di DataSunrise.
Navighiamo a Data Discovery -> Tipi di Informazione e creiamo un nuovo Tipo di Informazione.
Aggiungiamo un nuovo Attributo e nelle impostazioni dell’attributo, selezioniamo Dati della Colonna. Nel Tipo di Dati della Colonna, selezioniamo Solo Stringhe. Nel Metodo di Ricerca, selezioniamo Script Lua.
Quindi clicchiamo su Modifica Script Lua per il codice dello script. Incolliamo il nostro script nel campo Script e salviamo.
Ora possiamo creare un nuovo compito di Data Discovery. Nella sottosezione Filtri di Ricerca, selezioniamo Tipi di Informazione e selezioniamo il nostro Tipo di Informazione da usare per la scoperta.
Per eseguire il compito dobbiamo selezionare Frequenza di Avvio Manuale, premere il pulsante Applica per salvare le modifiche e premere Avvia Ora per eseguire il compito.
Se il compito è stato eseguito con successo possiamo visualizzare i risultati cliccando sul pulsante Mostra. Questo mostrerà gli oggetti del database che contengono dati sensibili in formato JSON.
In conclusione, utilizzare gli script Lua nella funzione di Data Discovery di DataSunrise migliora significativamente la capacità di identificare dati unici e sensibili oltre l’ambito dei filtri predefiniti. Seguendo i passaggi descritti, può creare script personalizzati su misura per cercare specifici valori di tipo testo in vari formati di file, incluso JSON. Questo metodo non solo amplia la gamma di dati ricercabili ma fornisce anche uno strumento flessibile e potente per gli amministratori di database che cercano di proteggere le informazioni sensibili. La facilità di integrazione di questi script tramite la Console Web di DataSunrise e la successiva capacità di automatizzare e visualizzare i compiti di scoperta rendono il processo efficiente, offrendo una soluzione pratica per la gestione completa della sicurezza dei dati.