Oracle Data Masking

En esta entrada vamos a realizar un caso práctico usando el Paquete «Oracle Data Masking and Subsetting Pack».
El enmascaramiento de datos, es el proceso de reemplazar permanentemente datos confidenciales con datos ficticios , el fin es eliminar datos confidenciales de entornos de pruebas, desarrollo, analítica y otros entornos que no sean de producción.

Antes de usarlo, ten en cuenta que sino estás en una arquitectura donde las licencias estén incluidas (Oracle ExaCC p.ej), estas tienen licencia especial por ser usadas.

Características Oracle Data Masking and Subsetting:
Oracle Data Masking and Subsetting está preinstalado con Oracle Enterprise Manager.
Para usar Oracle Data Masking y Subsetting, se debe de tener licencia especial para su uso.
Es necesario adquirir la licencia completa del paquete “Oracle Data Masking and Subsetting Pack”.
La versión de Oracle Data Masking and Subseting se basa en la versión del Plug-in instalado en Oracle Enterprise Manager


Para este caso práctico vamos a usar los esquemas de ejemplo incluidos con Oracle (schemas HR).

Si no lo has incluido durante la instalación, o necesitas recrearlo puedes seguir este link:

https://docs.oracle.com/en/database/oracle/oracle-database/19/comsc/installing-sample-schemas.html#GUID-1E645D09-F91F-4BA6-A286-57C5EC66321D

Creación modelo de Datos

En primer lugar es necesario entrar en la consola de OEM13 y descubir los datos (Application Data Modeling).

Enterprise -> Quailty Management -> Application Data Modeling

Comenzamos a rellenar los datos:

Pantalla.1

Elegimos el esquema donde vamos a realizar nuestro enmascaramiento de datos.

En este punto podemos lanzar el job que descubrirá el modelo de datos y las relaciones entre tablas, tal y cómo indicamos en el primer punto (Pantalla 1).

Lanzamos el proceso:

Si todo es correcto, nos encontraremos en esta situación:

Si pulsamos sobre el botón «Open», podemos ver el resultado del descubrimiento de datos que ha realizado el job.

Llegados a este punto, ya podemos proceder a realizar el descubrimiento de datos Sensibles.

Descubrimiento de datos Sensibles

Oracle tiene por defecto tipos estándar de columnas sensibles que puedes ir añadiendo o por el contrario puedes añadir nuevas columnas sensibles de forma personalizada.

Ejecución del job de descubrimiento de datos sensibles en el modelo de datos:

Podemos ver las columnas que el job ha descubierto cómo sensibles.

Subsetting de Datos

Es posible elegir que conjunto de datos queremos enmascarar.

Puede ser el total de los datos, o es posible elegir un conjunto del mismo.

Ejemplo tabla Jobs al 50%:

Definir cirterios de subsetting

Una vez elegido el conjunto de datos que queremos enmascarar, procedemos a definir los criterios de anonimización que vamos a aplicar a los datos sensibles.

Elegimos criterios de anonimización.

Por ejemplo, para el campo teléfono, aplicaremos un criterio «Random Numbers» de 7 caracteres. Y para el campo e-mail, elegiremos «shuffle» o mezcla.

Los criterios son muchos y pueden personalizarse, por lo tanto es muy recomendable que leas la documentación y realices diferentes pruebas para obtener el resultado deseado.

Opciones – exportación script

Una vez definido el criterio, existen varias opciones de generación del script. Una es realizar un export de datos con los datos anonimizados e importarlos en otra base de datos diferente, otra opción que es la que elegiremos, es la creación de un script (PL/SQL) que aplicará el enmascaramiento sobre la base de datos donde sea ejecutado. Por regla general, suele ser una copia de la base de datos principal.


Para ello pulsaremos sobre el botón «Generate Script».

Opciones:

Realizamos el export de datos e importamos en otra base de datos sobre el mismo esquema:

Opciones- export / import

Datos originales

Datos tras importación data pump

Pasos enmascaramiento de datos con script sql (pl/sql).

Opciones- exportar script

Datos originales:

Datos tras lanzar scriptsql de anonimización, en entorno de test.

En esta entrada hemos hecho únicamente una pequeña aproximación de esta herramienta. Son muchas las opciones que esta herramienta ofrece, por tanto aconsejo profundizar lo máximo posible en la misma para poder sacarle el máximo partido.

Puedes tener más información en este enlace oficial: https://www.oracle.com/uk/security/database-security/data-masking/

Scroll al inicio