conociendo dynamic data masking en entornos de producción con sql server 2016 y sql database v12

47
Conociendo Dynamic Data Masking en entornos de producción con SQL Server 2016 y SQL Database v12 Jose Redondo Microsoft Data Platform MVP

Upload: jose-redondo

Post on 11-Jan-2017

91 views

Category:

Technology


3 download

TRANSCRIPT

Page 1: Conociendo Dynamic Data Masking en entornos de producción con SQL Server 2016 y SQL Database v12

Conociendo Dynamic Data Masking en entornos de producción con SQL Server 2016 y SQL Database v12Jose RedondoMicrosoft Data Platform MVP

Page 2: Conociendo Dynamic Data Masking en entornos de producción con SQL Server 2016 y SQL Database v12

Quien soy?Microsoft Data Platform MVP Latam | Data Architect Business Intelligence & Data Warehouse Expert Consultant | Microsoft Communities Speaker

Twitter: @redondojLinkedIn: linkedin.com/in/redondojBlog: redondoj.wordpress.comE-Mail: [email protected]

Page 3: Conociendo Dynamic Data Masking en entornos de producción con SQL Server 2016 y SQL Database v12
Page 4: Conociendo Dynamic Data Masking en entornos de producción con SQL Server 2016 y SQL Database v12

Agenda• Introducción• Aplicando DDM• Entornos Cloud con DDM• Tips

Page 5: Conociendo Dynamic Data Masking en entornos de producción con SQL Server 2016 y SQL Database v12

Introducción• Proposito• Arquitectura• Beneficios• Tópico clave

Page 6: Conociendo Dynamic Data Masking en entornos de producción con SQL Server 2016 y SQL Database v12

Proposito

• Protección de datos confidenciales e información de característica sensible

• Cumplir leyes regulatorias sobre confidencialidad de datos

Page 7: Conociendo Dynamic Data Masking en entornos de producción con SQL Server 2016 y SQL Database v12

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

Page 8: Conociendo Dynamic Data Masking en entornos de producción con SQL Server 2016 y SQL Database v12

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

Page 9: Conociendo Dynamic Data Masking en entornos de producción con SQL Server 2016 y SQL Database v12

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

Page 10: Conociendo Dynamic Data Masking en entornos de producción con SQL Server 2016 y SQL Database v12

Beneficios• Proteger contra la propagación no autorizada de datos

sensibles en un requerimiento de información• Muy fácil de configurar y consumir

Page 11: Conociendo Dynamic Data Masking en entornos de producción con SQL Server 2016 y SQL Database v12

Beneficios• No requiere variación en el código de la aplicación• Lógica de enmascaramiento centralizado

Page 12: Conociendo Dynamic Data Masking en entornos de producción con SQL Server 2016 y SQL Database v12

Tópico claveNo 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

Page 13: Conociendo Dynamic Data Masking en entornos de producción con SQL Server 2016 y SQL Database v12

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

Page 14: Conociendo Dynamic Data Masking en entornos de producción con SQL Server 2016 y SQL Database v12

Aplicando DDM• Mapa de ejecución • Funciones• Seguridad• Vista del Sistema (sys.masked_columns)

Page 15: Conociendo Dynamic Data Masking en entornos de producción con SQL Server 2016 y SQL Database v12
Page 16: Conociendo Dynamic Data Masking en entornos de producción con SQL Server 2016 y SQL Database v12

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

Page 17: Conociendo Dynamic Data Masking en entornos de producción con SQL Server 2016 y SQL Database v12

Mapa de ejecución

• Modificar las columnas (ALTER TABLE) para agregar las reglas de enmascaramiento

• Los datos subyacentes no se ve afectados

Page 18: Conociendo Dynamic Data Masking en entornos de producción con SQL Server 2016 y SQL Database v12

Mapa de ejecución • Designar que usuarios

deben ver datos enmascarados y configurar los permisos respectivos

Page 19: Conociendo Dynamic Data Masking en entornos de producción con SQL Server 2016 y SQL Database v12

Funciones• Default• E-Mail• Random• Custom String (Partial)

Page 20: Conociendo Dynamic Data Masking en entornos de producción con SQL Server 2016 y SQL Database v12

Default Function• Enmascaramiento completo según los tipos de datos de las

columnas designadasTipos de datos Mascara de datos

String XXXX

Numeric 0

Date and Time 01.01.1900 00:00:00.0000000

Binary 0

Page 21: Conociendo Dynamic Data Masking en entornos de producción con SQL Server 2016 y SQL Database v12

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.

Page 22: Conociendo Dynamic Data Masking en entornos de producción con SQL Server 2016 y SQL Database v12

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.

Page 23: Conociendo Dynamic Data Masking en entornos de producción con SQL Server 2016 y SQL Database v12

Custom String (Partial) Function• Permite visualizar las primeros y últimos caracteres,

añadiendo una cadena de relleno personalizado en el centro.

Page 24: Conociendo Dynamic Data Masking en entornos de producción con SQL Server 2016 y SQL Database v12

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

Page 25: Conociendo Dynamic Data Masking en entornos de producción con SQL Server 2016 y SQL Database v12

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)

Page 26: Conociendo Dynamic Data Masking en entornos de producción con SQL Server 2016 y SQL Database v12

DEMO

Page 27: Conociendo Dynamic Data Masking en entornos de producción con SQL Server 2016 y SQL Database v12
Page 28: Conociendo Dynamic Data Masking en entornos de producción con SQL Server 2016 y SQL Database v12

Entornos Cloud con DDM• Establecer• Aplicar funciones

Page 29: Conociendo Dynamic Data Masking en entornos de producción con SQL Server 2016 y SQL Database v12

EstablecerConfigurar DDM bajo entorno cloud en Microsoft Azure SQL Database v12

Page 30: Conociendo Dynamic Data Masking en entornos de producción con SQL Server 2016 y SQL Database v12

Establecer

Page 31: Conociendo Dynamic Data Masking en entornos de producción con SQL Server 2016 y SQL Database v12

Establecer

Page 32: Conociendo Dynamic Data Masking en entornos de producción con SQL Server 2016 y SQL Database v12

Establecer

Page 33: Conociendo Dynamic Data Masking en entornos de producción con SQL Server 2016 y SQL Database v12

EstablecerTips:• 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.

Page 34: Conociendo Dynamic Data Masking en entornos de producción con SQL Server 2016 y SQL Database v12

Aplicar funciones

Default Enmascaramiento completo de acuerdo al tipo de dato

Tarjeta de Crédito XXXX-XXXX-XXXX-1234Numero de Seguro Social XXX-XX-1234Correo Electrónico [email protected]

Numero aleatorioNumero aleatorio entre delimitaciones establecidas con anterioridad

Texto personalizado Prefix, Padding String, Suffix

Page 35: Conociendo Dynamic Data Masking en entornos de producción con SQL Server 2016 y SQL Database v12

Aplicar funciones

Page 36: Conociendo Dynamic Data Masking en entornos de producción con SQL Server 2016 y SQL Database v12

DEMO

Page 37: Conociendo Dynamic Data Masking en entornos de producción con SQL Server 2016 y SQL Database v12
Page 38: Conociendo Dynamic Data Masking en entornos de producción con SQL Server 2016 y SQL Database v12

Tips• Limitaciones• Consideraciones• Optimización

Page 39: Conociendo Dynamic Data Masking en entornos de producción con SQL Server 2016 y SQL Database v12

Limitaciones• No compatible con:

• Columnas Always Encrypted• File Stream• Conjunto de columnas

• Índices FULLTEXT• No permite claves

• No aplica para columnas computadas

Page 40: Conociendo Dynamic Data Masking en entornos de producción con SQL Server 2016 y SQL Database v12

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

Page 41: Conociendo Dynamic Data Masking en entornos de producción con SQL Server 2016 y SQL Database v12

Optimización• Impacto mínimo en su ejecución primaria• Se ejecuta justamente antes de que los datos retornen del

query

Page 42: Conociendo Dynamic Data Masking en entornos de producción con SQL Server 2016 y SQL Database v12

DEMO

Page 43: Conociendo Dynamic Data Masking en entornos de producción con SQL Server 2016 y SQL Database v12
Page 44: Conociendo Dynamic Data Masking en entornos de producción con SQL Server 2016 y SQL Database v12
Page 45: Conociendo Dynamic Data Masking en entornos de producción con SQL Server 2016 y SQL Database v12

Preguntas y Respuestas

Page 46: Conociendo Dynamic Data Masking en entornos de producción con SQL Server 2016 y SQL Database v12

Conociendo Dynamic Data Masking en entornos de producción con SQL Server 2016 y SQL Database v12

Jose RedondoMicrosoft Data Platform MVP

Page 47: Conociendo Dynamic Data Masking en entornos de producción con SQL Server 2016 y SQL Database v12

Gracias por su atención