otras novedades sql server 2016

30
#SQSummit Otras Novedades SQL Server 2016 Luis José Morán Cuenca [email protected] Data Platform Architect

Upload: solidq

Post on 12-Apr-2017

364 views

Category:

Technology


2 download

TRANSCRIPT

Page 1: Otras novedades SQL Server 2016

#SQSummit

Otras

Novedades

SQL Server 2016

Luis José Morán Cuenca

[email protected]

Data Platform Architect

Page 2: Otras novedades SQL Server 2016

EN CUMPLIMIENTO CON LA LEY 15/1999 DE PROTECCIÓN DE DATOS DE CARÁCTER PERSONAL,

PONEMOS EN TU CONOCIMIENTO QUE

ESTE EVENTO VA A SER GRABADO· Dichas grabaciones serán utilizadas por SolidQ, bien para uso interno o bien para la creación

de material de marketing con el fin de promocionar nuestra marca.

Page 3: Otras novedades SQL Server 2016

Otras Novedades SQL Server 2016

• Introducción

• Dynamic Data Masking

• Row Level Security

• Always Encripted

• Grupos de Disponibilidad Always On

Page 4: Otras novedades SQL Server 2016

Dynamic Data MaskingDDM

Sirve para limitar la cantidad de datos sensibles que se exponen a usuarios sin privilegios

Nos evita tener que ofuscar los datos en las aplicaciones

Aplica esta seguridad en las importaciones / exportaciones

La máscara no se muestra con el permiso UNMASK

Page 5: Otras novedades SQL Server 2016

Dynamic Data Masking

• Default, sustituye el contenido por “xxxx” independientemente de la longitud

• Email, expone la primera letra del email y .com (aunque no sea su extensión

• Custom String, muestra N caracteres al principio + ‘literal’ + N caracteres al final

• Random, para números, reemplaza el valor por un numero aleatorio, se le especifica un rango

Tipos de Máscara

Page 6: Otras novedades SQL Server 2016

Dynamic Data Masking

• Tarjetas de Credito

• Cuentas Bancarias

• Teléfonos

• Nombre o apellidos

• Salarios

Usos

Page 7: Otras novedades SQL Server 2016

Dynamic Data MaskingLimitaciones y Restricciones

No se puede aplicar a:

Columnas Encriptadas

Columnas de FileStream

Sparse Columns / Columns_Sets

Computed Colums

Page 8: Otras novedades SQL Server 2016

Row Level Security

• Permite controlar el acceso a las celdas de una tabla dependiendo de quien realiza la consulta

• Simplifica y reduce la codificación de seguridad de las aplicaciones

• Las restricciones sobre los datos se encuentran en la bbdd

• Las restricciones se aplican cuando se intenta el acceso a los datos independientemente de donde venga la petición

RLS

Page 9: Otras novedades SQL Server 2016

Row Level Security

• Aplicaciones de Seguridad donde los jefes directos solo pueden ver los nombres / lesiones de los empleados

• Aplicaciones que trabajen con datos sensibles• Salud

• Religion

• Afiliación Política / Sindical

• Para restringir la visibilidad conforme a un organigrama (departamentos) / geografía

Usos

Page 10: Otras novedades SQL Server 2016

Row Level SecurityTipos de Predicados

Filter

SELECT

UPDATE

DELETE

Block

Bloquean operaciones escritura

AFTER INSERT

AFTER UPDATE

BEFORE UPDATE

BEFORE DELETE

Page 11: Otras novedades SQL Server 2016

Row Level Security

• El acceso a los datos es restringido por una función “inline”

• La función es invocada por una política de seguridad

• Si en predicado de filtro se filtran todas las filas no devolverá nada

• En los predicados “block” cualquier operación que viole el predicado provocará un error• AFTER INS/UPD previenen de modificaciones sobre datos que cumplen

el predicado

• BEFORE UPD/DEL previenen de modificaciones/borrados sobre datos que no cumplen el predicado

Funcionamiento Predicados

Page 12: Otras novedades SQL Server 2016

Row Level Security

• Seguridad• Separar en un esquema los objetos RLS

• Una cosa es administrar las politicas y otra ver los datos, el administrador no tiene porque ver datos

• Limitar el nº de personas que pueden cambiar la politica de seguridad

• Pensar bien los predicados de seguridad• Por deducción negativa también se consigue información aunque no sea precisa

o de error

• Rendimiento• Evitar conversiones en los predicados

• Evitar recursividad entre funciones

• Evitar joins

Buenas Prácticas

Page 13: Otras novedades SQL Server 2016

Row Level Security

• Tablas in memory

• DBCC Show Statistics El usuario debe ser el propietario de la tabla sino se aplicacaría el filtro menos registros información falsa

• Vistas anidadas aplicarlo en la vista final

• CDC y CT compatible con administradores, ya que con usuarios se les aplique filtro y habría cambios que podrían escaparse

• Full Text Afecta al rendimiento, filtro extra

• ColumnStore Index, compatible pero si el filtro restringe mucho podría no usar el modo batch

Compatilibilidad Con Otras Tecnologías

Page 14: Otras novedades SQL Server 2016

Row Level Security

• Temporal tables Aplicar politicas a tabla actual e histórica

• Vistas Particionadas Block predicates no

• FileStream No

• Polybase No

Compatilibilidad Con Otras Tecnologías

Page 15: Otras novedades SQL Server 2016

Always Encripted

• Sirve para proteger datos sensibles

• Permite a los cliente encriptar datos sensibles de sus apps y guardalos en SQL Server sin relevelarle nunca las claves ni tener la capacidad de ver esos datos sensibles

• Separación Entre:• Quienes son propietario de los datos y pueden verlos

• Quienes los administran

• Es transparente para las aplicaciones

• Se instala driver en cliente y en el servidor para encriptar y desencriptar

• Exige Collation Binary2

Separación

Page 16: Otras novedades SQL Server 2016

Always Encripted

• Una empresa con datos sensibles quiere externalizar el servicio de gestión / parametrización de las instancias SQL Server necesita asegurarse que la empresa que le presta el servicio no puede leer el contenido

• Almacenamiento de contenido sensible que solo puede ser conocido por determinada parte de la empresa• Cartera de clientes importantes• Famosos• Deportistas• Información politica, religiosa, médica

• Para pasar bbdds de produccion a entornos de preproducción/ desarrollo

Separación

Page 17: Otras novedades SQL Server 2016

Always EncriptedTipo Deterministic

Separación

¿Qué es?•Genera el mismo valor de encriptacion para un texto dato

Ventaja•Rapidez, permite agrupar, join y filtrado por igualdad basandose en valores encriptados

Desventaja•Los usuarios pueden sacar patrones de encriptación especialmente con conjuntos de datos con valores

discretos:

•T/F

•Estados

Page 18: Otras novedades SQL Server 2016

Always EncriptedTipo Randomized

Separación

¿Qué es?• No genera el mismo valor encriptado para un texto dado

Ventaja• Seguridad

Desventaja• Más lento, impide agrupar, join y filtrado por igualdad basandose en valores encriptados

• Usar este tipo de encriptación para datos sobre los que no se haga ese tipo de operaciones

Page 19: Otras novedades SQL Server 2016

Always EncriptedKeys

Separación

Column Encryption Keys

• Encriptan datos almacenados en columnas de la bbdd

• Todos los valores de la columna usan una única clave de cifrado

• Los valores encriptados de las claves de encriptacion de columnas son almacenamos en vistas de catalogo

• Realizar backup de ellas y almacenarlas en un lugar seguro

Column Master Keys

• Protegen las claves usadas para encriptar column encryption keys

• La informacion incluida su localizadción esta almacenada en vistas de catalogo

Page 20: Otras novedades SQL Server 2016

Always Encripted

• Rol Principal asegura la transparencia de la encriptación para aplicaciones clientes

1. Driver hace llamadas de ida y vuelta al servidor por cada query con parametros para:• Saber si tiene que encriptar• Como debe ser encriptado

2. SQL Server envía:1. Información de encriptación de las columnas2. Clave de encriptacion de la clave de las columnas encriptadas3. Localización de la column master key

3. Se devuelve la informacion junto con metadatos que permiten la desencriptación

Driver

Separación

Page 21: Otras novedades SQL Server 2016

Always EncriptedFuncionamiento

Separación

1

• Crear clave/s Column Master Key

• Crear clave/s Column Encrypted Key vinculandolas a la CMK

2

• Backups del certificado

• Importar el certificado en los equipos clientes

3

• En SSMS/Additional Connection Parameters incluir:

• column encryption setting=enabled

Page 22: Otras novedades SQL Server 2016

Always Encripted

• Select con parámetros, Inserciones, Modificaciones se tienen que hacer desde una aplicación .NET 4.6. No se permiten ad hoc “select * from t where nombre = ‘luis’"

• Solo se permiten predicados de igualdad y en columnas con encriptación determinista• No permitido > < >= <= like

• Los joins solo se permiten con columnas deterministas si tienen el mismo tipo de encryptacion

• Solo se permiten índices en columnas deterministas

Limitaciones Generales

Separación

Page 23: Otras novedades SQL Server 2016

Always Encripted

• No se permiten los siguientes tipos, IDENTITY, text/ntext/image, XML/hierarchyid/geography/geometry, alias types/user-defined data types SQL_VARIANT, rowversion (timestamp), Computed columns, Sparse columns e in-memory tables (hekaton)

• No se pude modificar una columna y encriptarla, tienes que añadir una nueva columna e importar los datos

Limitaciones Generales

Separación

Page 24: Otras novedades SQL Server 2016

Always Encripted

• No compatible con CDC pero si con CT

• No compatible con replicación

• No compatible con tablas temporales de SQL Server 2016

• Los triggers pueden fallar si trabajan con columnas encriptadas

Compatibilidad Con Otras Tecnologías

Separación

Page 25: Otras novedades SQL Server 2016

Grupos de Disponibilidad Always On

• Reemplazan a Mirroring

• Grupos de Disponibilidad de 2 nodos de cluster con la edición SQL Server Standard• Soporta failover de una única base de datos

• Replicación Sincrona / Asíncrona

• La segunda réplica permanece inactiva hasta que se produce un failover

Grupos Disponibilidad Básicos

Page 26: Otras novedades SQL Server 2016

Grupos de Disponibilidad Always On

• No se permiten en la réplica secundaria:• Lecturas

• Backups

• No esta soportado añadir o quitar replicas a un grupo existente básico

Grupos Disponibilidad Básicos

Page 27: Otras novedades SQL Server 2016

Grupos de Disponibilidad Always On

• Cuando se establece el vinculo entre ambos el AG2 pasa a ser de solo lectura

Grupos de Disponibilidad Distribuidos

Page 28: Otras novedades SQL Server 2016

Grupos de Disponibilidad Always On

• Grupos independientes de dominios• Necesidad, algunas empresas tienen varios dominios

• Hay entornos que no trabajan con Active Directory, es decir sin dominios

• El número de réplicas sincronas se ha aumentado a 3• FailOvers Automático, Manual, Forzado

• Conjugar según necesidades para priorizar

• En funcion de la distancia, ancho de banda de las comunicaciones

• Si alguno está en manteniento

• Usarlo con precaución, impacta en el rendimiento, depende de:• Carga

• Comunicaciones, (ancho de banda y distancia)

Otros

Page 29: Otras novedades SQL Server 2016

Grupos de Disponibilidad Always On

• Soporta TDE Databases

• Failover cuando una bbdd se pone offline• Problema en SQL Server 201/2-4 el grupo no hacía failover si una

bbdd se ponía offline

• Cuentas de servicio autogestionadas

• Soporta transacciones distribuidas

• Balanceo de Carga en Réplicas Secundarias

Otros

Page 30: Otras novedades SQL Server 2016

También puedes preguntar tus dudas con el

hashtag #SQSummit en Twitter

ADAPTIVE BI FRAMEWORK

Te ayudaremos a mejorar la velocidad de desarrollo de tu plataforma de analítica de negocio basada en nuestra experiencia:

•Diseña antes de construir

•Automatización de procesos por ETL

•Servicios de mentoring para ayudarte a conseguir mejores prácticas para la construcción de procesos específicos y plataformas de analítica de negocio

•Muy fácil de mantener

SOLIDQ FLEX SERVICES

Con SolidQ Flex Services evitarás sustos, consiguiendo que tus sistemas sean estables. Desde una solución sencilla de monitorización, hasta un servicio de atención de incidencias 24/7, mantenimiento proactivo, resolución de problemas y línea de soporte.

Todo con un coste fijo mensual… y tú dedica el tiempo a las cosas importantes.