Un script Lua descubre datos sensibles en archivos JSON
Al trabajar con la característica de Descubrimiento de Datos, DataSunrise te permite usar una variedad de filtros de búsqueda preconstruidos para varios tipos de datos sensibles. ¿Pero hay alguna forma de buscar datos únicos? Sí, para lograr esta tarea puedes usar Lua. El uso de scripts Lua para el Descubrimiento de Datos permite buscar literalmente cualquier tipo de valores de texto que no estén cubiertos por las plantillas existentes.
Este artículo describe cómo puedes usar Lua para localizar las columnas de la base de datos que te interesan en archivos JSON. Se utiliza un script dedicado para hacer eso, de modo que puedas basar tu propia búsqueda en el algoritmo descrito a continuación. Ten en cuenta que esto se puede hacer no solo con JSON, sino con cualquier tipo de archivo: solo necesitas crear un script Lua apropiado.
Puedes copiar el script utilizado en este artículo aquí:
-- Especifica los valores que deseas descubrir en la lista sensitive_from_json -- por ejemplo, {"data","id","name"} sensitive_from_json = {"id", "data"} -- valStr contendrá JSON como texto local valStr = tostring(columnValue) local valStrLen = string.len(valStr) -- Función para obtener la longitud de una tabla local function tablelength(T) local count = 0 for _ in pairs(T) do count = count + 1 end return count end -- Obtener la cantidad de elementos en la lista sensitive_from_json local count = tablelength(sensitive_from_json) -- Identificar si la columna contiene datos en formato JSON if string.sub(valStr, 1, 1) == '{' and string.sub(valStr, valStrLen, valStrLen) == '}' then for i = 1, count do -- Si el JSON contiene al menos 1 valor deseado, devuelve 1, de lo contrario 0 if string.find(valStr, '"' .. tostring(sensitive_from_json[i]) .. '":') then return 1 end end return 0 else return 0 end
Primero, crea tu script Lua para buscar tus propios datos de interés. Ten en cuenta que el script particular que creamos para este artículo, entre otras cosas, verifica si el archivo procesado está formateado como un archivo JSON. Para otros tipos de archivo, deberías usar otros algoritmos de validación. Rellenamos los valores requeridos en el script. Para tu conveniencia, dejamos algunos comentarios allí.
Entonces, nuestro script está listo para el procesamiento y podemos ir a la Consola Web de DataSunrise.
Navegamos a Descubrimiento de Datos -> Tipos de Información y creamos un nuevo Tipo de Información.
Añadimos un nuevo Atributo y en la configuración del atributo, seleccionamos Datos de Columna. En Tipo de Datos de Columna, seleccionamos Solo Cadenas. En el Método de Búsqueda, seleccionamos Script Lua.
Luego hacemos clic en Editar Script Lua para el código del script. Pegamos nuestro script en el campo de Script y lo guardamos.
Ahora podemos crear una nueva tarea de Descubrimiento de Datos. En la subsección de Filtros de Búsqueda, seleccionamos Tipos de Información y seleccionamos nuestro Tipo de Información para usar en el descubrimiento.
Para ejecutar la tarea tenemos que seleccionar Frecuencia de Inicio Manual, presionar el botón Aplicar para guardar los cambios y presionar Comenzar Ahora para ejecutar la tarea.
Si la tarea ha sido exitosa podemos ver los resultados haciendo clic en el botón Mostrar. Esto mostrará los objetos de la base de datos que tienen datos sensibles en formato JSON.
En conclusión, aprovechar los scripts Lua dentro de la característica de Descubrimiento de Datos de DataSunrise mejora significativamente tu capacidad para identificar datos únicos y sensibles más allá del alcance de los filtros preconstruidos. Siguiendo los pasos descritos, puedes crear scripts personalizados diseñados para buscar valores de texto específicos en varios formatos de archivo, incluidos JSON. Este método no solo amplía el rango de datos buscables, sino que también proporciona una herramienta flexible y poderosa para los administradores de bases de datos que buscan proteger información sensible. La facilidad de integrar estos scripts a través de la Consola Web de DataSunrise y la posterior capacidad de automatizar y visualizar las tareas de descubrimiento agilizan el proceso, haciéndolo una solución eficiente para la gestión de seguridad integral de datos.