Blog de Jesús Sequeiros Arone

Manuales y ejercicios de SQL Server, Excel, Word, Acces y más...

Enmascaramiento estático de datos en SQL Server (Data Masking)

Dom, 19/01/2020 - 19:00 -- jsequeiros

El enmascaramiento de datos es una tecnología que mejora la seguridad y la privacidad como una capa de protección de datos imprescindible. Se define como el reemplazo de datos confidenciales con un equivalente ficticio realista con el propósito de proteger los datos de la divulgación no deseada. Es una de las mejores formas de proteger los datos de copia, especialmente cuando esos datos se utilizan para fines secundarios, como el desarrollo y prueba de aplicaciones, capacitación, análisis, etc. También se le conoce como ofuscación, seudonimización, desidentificación o codificación.

Enmascaramiento estático de datos en SQL Server

Usos del enmascaramiento estático de datos:

El enmascaramiento de datos estático se puede utilizar para:

  • Ambientes de desarrollo y pruebas
  • Análisis e informes comerciales
  • Solución de problemas (Troublesooting)
  • Compartir la base de datos con un consultor, un equipo de investigación o cualquier tercero.

Desventajas del enmascaramiento estático de Datos:

  • El enmascaramiento es un proceso por lotes (no en tiempo real) que puede tardar minutos u horas en completarse dependiendo del tamaño de los datos.
  • No se puede usar para proteger la base de datos de producción, opera contra copias de bases de datos de producción.

Requisitos para el enmascaramiento estático de Datos:

Microsoft ha incorporado el enmascaramiento estático de datos en SQL Server Management Studio (SSMS) 18.0 Preview 5 y superior. Esta característica funciona en bases de datos SQL Server 2012 o superiores y Azure SQL Database. Para utilizar el enmascaramiento de datos estáticos, asegúrese de tener iinstalado SSMS 18.0 (versión preliminar 5 y superior). La última versión de SSMS se puede descargar desde este enlace. El enmascaramiento estático de datos sólo estaba disponible para bases de datos Azure SQL Server. 

Ejemplos:

En el siguiente ejemplo, todas las entradas en la columna NroDocumento han sido anuladas. La columna Nombres y Apellidos están compuestos de cadenas personalizadas de caracteres generados aleatoriamente. En la columna Correo, los nombres se han reemplazado por cadenas generadas aleatoriamente, pero la extensión del dominio se ha mantenido. De forma similar se aplica a la columna Teléfono donde se ha mantenido  el código de área, pero no a los últimos 9 dígitos.

Pasos para configurar el enmascaramiento estático de datos

Paso1: Hacer clic derecho en el nombre de la base de datos, seleccionar Tareas y hacer clic en Máscara de base de datos (Vista previa) como se muestra a continuación.

Enmascaramiento de datos en SQL Server

Paso2: En el asistente seleccionar las tablas y los campos que serán enmascarados, y seleccionamos la función de enmascaramiento segun el tipo de columna y el valor deseado que puede ser barajar, aleatorio grupal, nulo, valor único y cadena personaliza (shuffle, group shuffle, null, single, value, string composite).

Asistente de enmascaramiento de datos en SQL Server

Paso3: Dar clic en el botón configurar según la funcion de enmascaramiento seleccionado, en este caso cadena personalizada, en la nueva ventana configurar el formato del patrón de enmascarado utilizando expresiones regulares y dar clic en el botón de aceptar.

configurar patrón de enmascaramiento de datos en SQL Server

Paso4: En la ventana de Enmascaramiento estático de datos (vista previa), seleccionar la ubicación para el archivo de copia de seguridad de la base de datos y colocar un nombre de la base de datos enmascarada.

Ubicación de la base de datos, nombre de la basede de datos, enmascaramiento de datos en SQL Server

Paso5: Finalizado el proceso aparecerá una pantalla de "Enmascaramiento completado" y ya tendremos la base de datos enmascarado, como se puede ver en el siguiente gráfico.

Base de datos enmascarado en SQL Server

Resultados del enmascaramiento de Datos

Una vez terminado el proceso de enmascaramiento se podrá ver los siguientes resultados:

Resultados del enmascaramiento de datos en SQL Server

Añadir nuevo comentario