Otras novedades SQL Server 2016
-
Upload
solidq -
Category
Technology
-
view
365 -
download
2
Transcript of Otras novedades SQL Server 2016
![Page 1: Otras novedades SQL Server 2016](https://reader038.fdocuments.es/reader038/viewer/2022102821/58edc0bb1a28aba54d8b4589/html5/thumbnails/1.jpg)
#SQSummit
Otras
Novedades
SQL Server 2016
Luis José Morán Cuenca
Data Platform Architect
![Page 2: Otras novedades SQL Server 2016](https://reader038.fdocuments.es/reader038/viewer/2022102821/58edc0bb1a28aba54d8b4589/html5/thumbnails/2.jpg)
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](https://reader038.fdocuments.es/reader038/viewer/2022102821/58edc0bb1a28aba54d8b4589/html5/thumbnails/3.jpg)
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](https://reader038.fdocuments.es/reader038/viewer/2022102821/58edc0bb1a28aba54d8b4589/html5/thumbnails/4.jpg)
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](https://reader038.fdocuments.es/reader038/viewer/2022102821/58edc0bb1a28aba54d8b4589/html5/thumbnails/5.jpg)
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](https://reader038.fdocuments.es/reader038/viewer/2022102821/58edc0bb1a28aba54d8b4589/html5/thumbnails/6.jpg)
Dynamic Data Masking
• Tarjetas de Credito
• Cuentas Bancarias
• Teléfonos
• Nombre o apellidos
• Salarios
Usos
![Page 7: Otras novedades SQL Server 2016](https://reader038.fdocuments.es/reader038/viewer/2022102821/58edc0bb1a28aba54d8b4589/html5/thumbnails/7.jpg)
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](https://reader038.fdocuments.es/reader038/viewer/2022102821/58edc0bb1a28aba54d8b4589/html5/thumbnails/8.jpg)
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](https://reader038.fdocuments.es/reader038/viewer/2022102821/58edc0bb1a28aba54d8b4589/html5/thumbnails/9.jpg)
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](https://reader038.fdocuments.es/reader038/viewer/2022102821/58edc0bb1a28aba54d8b4589/html5/thumbnails/10.jpg)
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](https://reader038.fdocuments.es/reader038/viewer/2022102821/58edc0bb1a28aba54d8b4589/html5/thumbnails/11.jpg)
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](https://reader038.fdocuments.es/reader038/viewer/2022102821/58edc0bb1a28aba54d8b4589/html5/thumbnails/12.jpg)
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](https://reader038.fdocuments.es/reader038/viewer/2022102821/58edc0bb1a28aba54d8b4589/html5/thumbnails/13.jpg)
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](https://reader038.fdocuments.es/reader038/viewer/2022102821/58edc0bb1a28aba54d8b4589/html5/thumbnails/14.jpg)
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](https://reader038.fdocuments.es/reader038/viewer/2022102821/58edc0bb1a28aba54d8b4589/html5/thumbnails/15.jpg)
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](https://reader038.fdocuments.es/reader038/viewer/2022102821/58edc0bb1a28aba54d8b4589/html5/thumbnails/16.jpg)
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](https://reader038.fdocuments.es/reader038/viewer/2022102821/58edc0bb1a28aba54d8b4589/html5/thumbnails/17.jpg)
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](https://reader038.fdocuments.es/reader038/viewer/2022102821/58edc0bb1a28aba54d8b4589/html5/thumbnails/18.jpg)
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](https://reader038.fdocuments.es/reader038/viewer/2022102821/58edc0bb1a28aba54d8b4589/html5/thumbnails/19.jpg)
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](https://reader038.fdocuments.es/reader038/viewer/2022102821/58edc0bb1a28aba54d8b4589/html5/thumbnails/20.jpg)
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](https://reader038.fdocuments.es/reader038/viewer/2022102821/58edc0bb1a28aba54d8b4589/html5/thumbnails/21.jpg)
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](https://reader038.fdocuments.es/reader038/viewer/2022102821/58edc0bb1a28aba54d8b4589/html5/thumbnails/22.jpg)
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](https://reader038.fdocuments.es/reader038/viewer/2022102821/58edc0bb1a28aba54d8b4589/html5/thumbnails/23.jpg)
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](https://reader038.fdocuments.es/reader038/viewer/2022102821/58edc0bb1a28aba54d8b4589/html5/thumbnails/24.jpg)
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](https://reader038.fdocuments.es/reader038/viewer/2022102821/58edc0bb1a28aba54d8b4589/html5/thumbnails/25.jpg)
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](https://reader038.fdocuments.es/reader038/viewer/2022102821/58edc0bb1a28aba54d8b4589/html5/thumbnails/26.jpg)
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](https://reader038.fdocuments.es/reader038/viewer/2022102821/58edc0bb1a28aba54d8b4589/html5/thumbnails/27.jpg)
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](https://reader038.fdocuments.es/reader038/viewer/2022102821/58edc0bb1a28aba54d8b4589/html5/thumbnails/28.jpg)
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](https://reader038.fdocuments.es/reader038/viewer/2022102821/58edc0bb1a28aba54d8b4589/html5/thumbnails/29.jpg)
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](https://reader038.fdocuments.es/reader038/viewer/2022102821/58edc0bb1a28aba54d8b4589/html5/thumbnails/30.jpg)
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.