Los datos siendo unos de los activos más importantes de la empresas de hoy, debemos tener el poder de mantenerlos seguros y disponibles en cualquier momento. Conocer los diferentes tipos de enmascaramientos asi como entender su funcionalidad y beneficios es una realidad absolutamente imprescindible para los que ejercen control de la seguridad de los datos. Durante la presente exposición, expondré desde las conceptualizaciones basicas de esta tecnología hasta las diferencias que existen entre los diversos metodos de aplicacion de enmascaramiento en escenarios reales tanto On-Premise asi como Cloud.
Conociendo Dynamic Data Masking en entornos de producción con SQL Server 2016 y SQL Database v12
1. Conociendo Dynamic Data Masking
en entornos de producción con
SQL Server 2016 y SQL Database v12
Jose Redondo
Microsoft Data Platform MVP
2. Quien soy?
Microsoft Data Platform MVP Latam | Data Architect
Business Intelligence & Data Warehouse Expert
Consultant | Microsoft Communities Speaker
Twitter: @redondoj
LinkedIn: linkedin.com/in/redondoj
Blog: redondoj.wordpress.com
E-Mail: redondoj@entornodb.onmicrosoft.com
6. Proposito
• Protección de datos confidenciales e información de
característica sensible
• Cumplir leyes regulatorias sobre confidencialidad de datos
7. Proposito
• Presentación de datos sensible solamente cuando el
escenario de consulta así lo necesite
• Atronamiento personalizado en escenarios y soluciones
de confidencialidad de información
8. Arquitectura
Es una función de protección de datos que enmascara los
datos sensibles en el conjunto de resultados de una consulta
de base de datos sobre los campos elegidos
9. Arquitectura
• Característica incorporada para
SQL Server 2016 y Azure SQL
Database v12
• El enmascaramiento de datos se
ejecuta al momento de ser
consultados, no modificando los
datos subyacentes
• Gestión de resultados sobre
como se publicaran los Result
Set
10. Beneficios
• Proteger contra la propagación no autorizada de datos
sensibles en un requerimiento de información
• Muy fácil de configurar y consumir
11. Beneficios
• No requiere variación en el código de la aplicación
• Lógica de enmascaramiento centralizado
12. Tópico clave
No pretende evitar que usuarios conectados directamente a la
base de datos, ejecuten consultas, evitando exponer puntos
claves de los datos sensibles en su contexto de trabajo
13. Tópico clave
• No es un procedimiento para el cifrado de datos físicos
• Es suplementario a otras propiedades del entorno de
seguridad de SQL Server
14. Aplicando DDM
• Mapa de ejecución
• Funciones
• Seguridad
• Vista del Sistema (sys.masked_columns)
15.
16. Mapa de ejecución
• Decidir qué columnas (campos) deben enmascararse
• Elegir la función de enmascaramiento que mejor se adapte
a sus necesidades para cada columna
17. Mapa de ejecución
• Modificar las columnas (ALTER TABLE) para agregar las
reglas de enmascaramiento
• Los datos subyacentes no se ve afectados
18. Mapa de ejecución
• Designar que usuarios
deben ver datos
enmascarados y
configurar los permisos
respectivos
20. Default Function
• Enmascaramiento completo según los tipos de datos de las
columnas designadas
Tipos de datos Mascara de datos
String XXXX
Numeric 0
Date and Time 01.01.1900 00:00:00.0000000
Binary 0
21. E-Mail Function
• Desenmascara el inicio de una dirección de correo
electrónico y el constante sufijo ".com" conforme a una
dirección de correo electrónico.
22. Random Function
• Un Random Masking Function aplica para el uso de
cualquier tipo de dato numérico con el fin de enmascarar
el valor original con un valor aleatorio dentro de un rango
especificado.
23. Custom String (Partial) Function
• Permite visualizar las primeros y últimos caracteres,
añadiendo una cadena de relleno personalizado en el
centro.
24. Seguridad
• Para recuperar los datos originales, el usuario debe tener
permiso UNMASK
• Para añadir, sustituir, eliminar el enmascarado de columnas
existente aplicar el permiso ALTER ANY MASK
• El permiso CONTROL en la base de datos incluye los
permisos ALTER ANY MASK y UNMASK
Los usuarios sin permiso UNMASK pero con permiso UPDATE puede
todavía actualizar los datos
25. Vista del Sistema (sys.masked_columns)
• Permiten trabajar con las funciones del sistema de
enmascaramiento dinámico de datos
Las mismas columnas de sys.columnsview
Adiciona las siguientes:
• is_masked (Indica si esta
seleccionada esta
columna)
• masking_function (La
función de
enmascaramiento)
33. Establecer
Tips:
• Definir usuarios excluidos a partir de enmascaramiento
• Definir reglas de enmascaramiento
• Establecer las columnas designadas para tal función y
aplicar enmascaramiento a cada uno
En la actualidad, existen cientos de recomendaciones que
propone columnas potencialmente sensibles al
enmascaramiento.
34. Aplicar funciones
Default
Enmascaramiento completo de
acuerdo al tipo de dato
Tarjeta de Crédito XXXX-XXXX-XXXX-1234
Numero de Seguro Social XXX-XX-1234
Correo Electrónico aXX@XXXX.com
Numero aleatorio
Numero aleatorio entre
delimitaciones establecidas con
anterioridad
Texto personalizado Prefix, Padding String, Suffix
39. Limitaciones
• No compatible con:
• Columnas Always Encrypted
• File Stream
• Conjunto de columnas
• Índices FULLTEXT
• No permite claves
• No aplica para columnas computadas
40. Consideraciones
• Aplica cuando ejecutas las funciones de importar y
exportar en SQL Server
• Aplica cuando utilizas SELECT INTO y INSERT INTO al copiar
datos desde columnas con enmascaramiento establecido
ATENCION:
• Sea cuidadoso con las actualizaciones
41. Optimización
• Impacto mínimo en su ejecución primaria
• Se ejecuta justamente antes de que los datos retornen del
query