SlideShare una empresa de Scribd logo
SOLIDQ SUMMIT MADRID 2017
#SQSummit17
Jose Antonio Pineda Montes
Data Platform Arquitect
JPINEDA@SOLIDQ.COM
SOLIDQ SUMMIT MADRID 2017
SOLIDQ SUMMIT MADRID 2017
Kerberos
NTLM (Windows NT Lan Manager)
Cuentas de Windows
Cuentas especificas de SQL Server
Autentificación
Buena Practica: Usar siempre Autentificación Windows a menos que la aplicación sea de terceros y te
obligue a utilizar una cuenta de seguridad de SQL.
Buena Practica: cambiar el nombre de la cuenta después de la
instalación SSMS>Object Explorer>Logins>Rename (right click) / T-SQL
Best Practice: Asegurar que password complejas son utilizadas para SA y otros SQL logins.
Intenta siempre utilizar las opciones ENFORCE EXPIRATION & MUST_CHANGE para SQL login
Buena práctica:
Usar cuentas especificas para cada servicio especifico de SQL
Component Windows Server 2008
Windows 7 and Windows
Server 2008 R2 and higher
Recommended accounts
Database Engine NETWORK SERVICE Virtual Account
*
SQL_Engine
SQL Server Agent NETWORK SERVICE Virtual Account
*
SQL_Agent
SSAS NETWORK SERVICE Virtual Account
*
SQL_srvAS
SSIS NETWORK SERVICE Virtual Account
*
SQL_srvIS
SSRS NETWORK SERVICE Virtual Account
*
SQL_srvRS
SQL Server Distributed Replay Controller NETWORK SERVICE Virtual Account
*
SQL_DRContro
SQL Server Distributed Replay Client NETWORK SERVICE Virtual Account
*
SQL_DRReplay
FD Launcher (Full-text Search) LOCAL SERVICE Virtual Account
SQL Server Browser LOCAL SERVICE LOCAL SERVICE
SQL Server VSS Writer LOCAL SYSTEM LOCAL SYSTEM
Buena Practica:
Escoger cuidadosamente los miembros del role sysadmin
Buena práctica: Usar los roles de servidor y base de datos que vienen por defecto o crear roles
personalizados, y entonces aplicárselos a los logins de SQL.
Buena Practica: Deshabilitar la cuenta invitado de todas las bbdds de
usuario y sistemas ( menos en el msdb)
Buena Practica:
Cambiar el puerto por defecto siempre que sea posible
https://support.microsoft.com/en-
us/help/3135244/tls-1.2-support-for-microsoft-sql-server
Buena Practica:
Actualizar a TSL 1.2
Seguridad a nivel de fila
Se previene a
usuarios que
vean datos sin
autorización
Configuración
con lógica en
BBDD y
esquemas
Administrado
con SSMS
15 © 2016 SolidQ
Seguridad a nivel de fila
RLS (Row Level Security) restringe qué usuario puede
ver qué fila
16 © 2016 SolidQ
Seguridad a nivel de fila
• Definida por Usuario
• Inline Table Valued Function
• Puede ser complicada conteniendo joins a otras tablas
Funcion de predicado
• Funcion vinculada a una tabla
• Dos tipos: de filtro o bloqueantes
Predicado de seguridad
• Colección de predicados de seguridad para administrar la seguridad sobre
multiples tablas
Política de seguridad
17 © 2016 SolidQ
Seguridad a nivel de fila
18
Uno
Administrador de la seguridad crea un filtro de predicado y una política de seguridad vinculada a
la tabla
Dos
Usuario de aplicación hace una select
Tres
La política de seguridad de forma transparente añade los filtros pertinentes
Database
CREATE FUNCTION dbo.fn_securitypredicate(@wing int)
RETURNS TABLE WITH SCHEMABINDING AS
return SELECT 1 as [fn_securitypredicate_result] FROM
StaffDuties d INNER JOIN Employees e
ON (d.EmpId = e.EmpId)
WHERE e.UserSID = SUSER_SID() AND @wing = d.Wing;
CREATE SECURITY POLICY dbo.SecPol
ADD FILTER PREDICATE dbo.fn_securitypredicate(Wing) ON
Patients
WITH (STATE = ON)
Filter
predicate:
INNER
JOIN…
Security
policy
Application
Patients
SELECT * FROM Patients
SELECT * FROM Patients
SEMIJOIN APPLY dbo.fn_securitypredicate(patients.Wing);
SELECT Patients.* FROM Patients,
StaffDuties d INNER JOIN Employees e ON (d.EmpId =
e.EmpId)
WHERE e.UserSID = SUSER_SID() AND Patients.wing = d.Wing;
Nurse
Policy manager
Seguridad a nivel de fila con contexto de
usuario
19
----Se crea una función predicado que utliza la variable CONTEXT_INFO de la
aplcición para filtrar que registros puede ver.
CREATE FUNCTION rls.fn_securitypredicate (@AppUserId int)
RETURNS TABLE
WITH SCHEMABINDING
AS
RETURN (
SELECT 1 AS fn_securitypredicate_result
WHERE DATABASE_PRINCIPAL_ID() = DATABASE_PRINCIPAL_ID('dbo')-- application context
AND CONTEXT_INFO() = CONVERT(VARBINARY(128), @AppUserId);
GO
-- Con el siguiente código creamos la politica de seguridad con filtro de
predicado para la table customers, y lo dejamos deshabilitado
CREATE SECURITY POLICY [FederatedSecurityPolicy]
ADD FILTER PREDICATE [rls].[fn_securitypredicate]([CustomerId])
ON [dbo].[Customer];
Seguridad a nivel de fila: casos de uso
Aplicaciones
tradicionales
Finanzas, Seguros,
sanidad, gobiernos
BBDD
multitenant
Cada inquilino solo
accede a sus datos
Reporting,
analytics,
DW
Diferentes usuarios ven
datos según su nivel de
acceso (PowerBI ya da
soporte nativo)
20
SOLIDQ SUMMIT MADRID 2017
21
Funcionalidad de RLS
• Centralizo la seguridad en la BBDD, solo tengo que tocar en un sitio.
• Puedo bloquear o filtrar las operaciones de modificación de datos.
• Si creo el predicado con la opción schemabinding, evito que alguien
pueda modificar el esquema de las tablas con las que trabaja el
predicado y se comprueban los permisos sobre esas tablas para que
funcione.
• Puedo generar un role tipo “Gestor de Politicas” con los permisos
necesarios para generar predicados de seguridad ALTER ANY
SECURITY POLICY y un esquema especifico para generar estas, de tal
manera que separo funcionalidades. Pudiendo auditar los cambios
que se realicen.
Mejores Practicas con RSL
• Rendimiento dependerá de la complejidad de los joins en el
predicado.
• Es recomendable que las columnas que utiliza el predicado para filtrar
tengan un índice.
• Crear un esquema diferente para centralizar en él, todas las políticas
de seguridad.
• Utilizar CONTEXT_INFO para aplicaciones de capa intermedia y
cuando trabajemos en SQL AZURE siempre inicializar esta variable
después de conectarnos porque por defecto la inicializa.
Always Encrypted
Prevención de
revelación de datos
• Encriptación a
nivel cliente de
datos sensibles
• No se puede
descrifrar desde
servidor
Consultas sobre
datos cifrados
• Soporte para
operadores “=“,
“join”, “Group by”
y “distinct”
Transparente para
aplicaciones
• Cambios mínimos
a nivel de
aplicación
• Usar la libreria
correcta
25
Permite a las aplicaciones almacenar de forma
segura datos, incluso lejos del alcance de DBA
sysadmin
Always Encrypted
26
Always Encrypted
28
Always Encrypted: LimitacionesNo soportado con estos tipos
de datos
•Xml
•Rowversion
•Image/Text/ntext
•Sql_variant
•Hiearchyid
•Geography/geometry
•Alias
•UDT´s
Claúsulas que no funcionan
•FOR XML
•FOR JSON PATH
Características incompatibles
•Transactional replication
•Merge replication
•Linked server y consultas
distribuidas
29 © 2016 SolidQ
Cuidado con la corrupción de datos
• Usando ALLOW_ENCRYPTED_VALUE_MODIFICATIONS puedes corromper
tus propios datos
Herramientas soportadas parcialmente (por ahora)
• SSDT (por ahora)
• Solo se permite crear DACPAC desde SSMS
SOLIDQ SUMMIT MADRID 2017
30
Comparativa entre AE y TDE
Always Encrypted TDE
Nivel de columna Nivel de BBDD
Encriptación en cliente Encriptación en servidor
El servidor no conoce en ningún momento las claves
para encriptar
El servidor conoce las claves para encriptar
EL dato viaje por la red encriptado EL dato tal cual viaja por la red.
Tempdb hereda la encriptación- incluso después de
deshabilitar TDE
EL dato puede ser protegido de administradores de
sistema y bbdd
El dato es accesible para administradores de sistema y
bbdd
Comportamiento consultas con Always
Encripted
Características de la
consulta
Always Encrypted esta
habilitado y la
aplicación puede
acceder a las claves y
al metadata de las
claves.
Always Encrypted esta
habilitado y la
aplicación no puede
accede a las claves o a
los metadatos de las
claves
Always Encrypted esta
deshabilitado
Consultas con parametros que
hacen referencia a columnas
encriptadas.
Los valores de los parametros se
encriptan transparentemente.
Error Error
Consultas que recuperan datos de
columnas encriptadas, sin
parametros que referencien
columnas encriptadas.
EL resultado de las columnas
encriptadas se desencripta
transparentamente. La aplicacion
recive los valores en texto plano
de los tipos de datos .NET
correspondientes a los tipos de
SQL configurados para las
columnas encriptadas.
Error EL resultado de las columnas
encriptadas no se desencripta. La
aplicación recive los valores
encriptados como arrays de byte
(byte[]).
Controlando el impacto de AE en el
rendimiento
• Debido a que Always Encrypted es una tecnología de cifrado en el
cliente, la mayoría de los overheads de rendimiento se observan en el
lado del cliente, no en la base de datos. Aparte del costo de las
operaciones de cifrado y descifrado, hay otros factores que afectan:
Viajes de ida y vuelta adicionales a la base de datos para recuperar
metadatos para los parámetros de la consulta.
Llamadas al almacén de claves maestras de columna para acceder a una clave
maestra de columna.
Optimizaciones en .NET Framework Provider
para SQL Server para AE
• Query metadata caching
Puedes configurar Always Encrypted a nivel de consulta y de no de toda la
sesión(esto ya no tiene sentido con .Net 4.6.2 debido al cache de parametros).
• Column encryption key caching
En .NET Framework 4.6 y 4.6.1, las entradas de clave de cifrado de columna en el
caché nunca se desalojan. Esto significa que para una clave cifrada de cifrado de
columna dada, el controlador contacta con el almacén de claves sólo una vez durante
el tiempo de vida de la aplicación.
En .NET Framework 4.6.2 y posteriores, las entradas de la memoria caché son
desalojadas después de un intervalo configurable de tiempo de vida por razones de
seguridad. El valor por defecto del tiempo de vida es de 2 horas.
Dynamic Data Masking
Enmascaramiento
• Datos sensibles
enmascarados a nivel
Usuario
Basado en políticas
• A nivel de tabla o columna
para grupos de usuarios
Tiempo real
• Se aplica sobre las filas a
devolver
36
Dynamic data masking
37© 2016 SolidQ
3 ) DDM ofusca los datos sensibles durante la devolución de datos2 ) El Usuario lanza una select1 ) El administrador de seguridad define la mascara en T-SQL sobre datos sensibles
SELECT [Name],
[SocialSecurityNumber],
[Email],
[Salary]
FROM [Employee]
admin1 loginother login
BUSINES
S APP
BUSINES
S APP
ALTER TABLE [Employee]
ALTER COLUMN [SocialSecurityNumber]
ADD MASKED WITH (FUNCTION = ‘SSN()’)
ALTER TABLE [Employee]
ALTER COLUMN [Email]
ADD MASKED WITH (FUNCTION = ‘EMAIL()’)
ALTER TABLE [Employee]
ALTER COLUMN [Salary]
ADD MASKED WITH (FUNCTION =
‘RANDOM(1,20000)’)
GRANT UNMASK to admin1
Security
Officer
Dynamic data masking
• No puede usarse sobre los siguientes tipos de datos
• Always Encrypted columns
• FILESTREAM
• COLUMN_SET
• Text y ntext si soportados
• Pero no funcionarán READTEXT, UPDATETEXT ni WRITETEXT
38
SOLIDQ SUMMIT MADRID 2017
39
SOLIDQ SUMMIT MADRID 2017
• +500h de trabajo
• Clases 100% ONLINE en directo
• Proyecto fin de máster real para tu empresa
• Tutorías bajo demanda
• Laboratorios virtuales guiados paso a paso
• Invitación 1 día al SolidQ Summit Madrid
• Te ayudamos en tus proyectos de BI & Analytics
CONTENIDOS
• BI & Analytics Overview
• Data Warehousing y Modelo Dimensional
• Obtención de datos. ETL e Integración
• Soluciones Analíticas
• Análisis y Visualización de la información
• Proyecto Fin de Máster
“Con la evolución de los tiempos, es imprescindible estudiar todo lo que tiene que ver con real-time,
analytics y el mundo de los datos. Por lo que, consideré que tener formación en BI me podría ser muy
útil y me venía muy bien personalmente, porque nuestro sistema trata con muchísimas transacciones y
muchísima carga y ‘el relacional’ ya se nos estaba quedando pequeño.
El máster nos dio una visión bastante general de cómo implementar un proyecto y gestionarlo tú mismo
y cómo ver las soluciones de distintas maneras. Aunque tenía mis dudas de hacer una formación online,
la valoración es bastante positiva, las clases son muy interactivas y al final salió todo muy bien.”
Adolfo Gabriel
VP Software
Development, Payvision
Máster en BI & Analytics
Alumni
¡Plazas Limitadas!
Más información:
http://www.solidq.com/es/masterbi
CONTENIDOS
• BI & Analytics Overview
• Data Warehousing y Modelo Dimensional
• Obtención de datos. ETL e Integración
• Soluciones Analíticas
• Análisis y Visualización de la información
• Proyecto Fin de Máster
SOLIDQ SUMMIT MADRID 2017

Más contenido relacionado

Similar a STOP a la fuga de información: la barrera indispensable de seguridad en SQL Server - SolidQ Summit 2017

(25/02) Desarrollador@S Invita - Introducción y novedades de SQL Server 2008
(25/02) Desarrollador@S Invita - Introducción y novedades de SQL Server 2008(25/02) Desarrollador@S Invita - Introducción y novedades de SQL Server 2008
(25/02) Desarrollador@S Invita - Introducción y novedades de SQL Server 2008
Microsoft Argentina y Uruguay [Official Space]
 
SQL Server 2014 Mejoras del DB Engine
SQL Server 2014 Mejoras del DB EngineSQL Server 2014 Mejoras del DB Engine
SQL Server 2014 Mejoras del DB Engine
Eduardo Castro
 
Procedimientos almacenados..mañana
Procedimientos almacenados..mañanaProcedimientos almacenados..mañana
Procedimientos almacenados..mañana
ANilez Solrak
 
Semana 01.pdf
Semana 01.pdfSemana 01.pdf
Semana 01.pdf
ErickCarlos14
 
Programación de Base de Datos - Unidad II: Aplicaciones con Arquitectura Clie...
Programación de Base de Datos - Unidad II: Aplicaciones con Arquitectura Clie...Programación de Base de Datos - Unidad II: Aplicaciones con Arquitectura Clie...
Programación de Base de Datos - Unidad II: Aplicaciones con Arquitectura Clie...
José Antonio Sandoval Acosta
 
24HOP Espanol - Funcionalidades de Nube Hibrida en SQL Server 2014
24HOP Espanol - Funcionalidades de Nube Hibrida en SQL Server 201424HOP Espanol - Funcionalidades de Nube Hibrida en SQL Server 2014
24HOP Espanol - Funcionalidades de Nube Hibrida en SQL Server 2014
Guillermo Caicedo
 
Windows Azure SQL Databases
Windows Azure SQL DatabasesWindows Azure SQL Databases
Windows Azure SQL Databases
SolidQ
 
24 HOP edición Español - Escenarios de seguridad para modeloscubos tabulares ...
24 HOP edición Español - Escenarios de seguridad para modeloscubos tabulares ...24 HOP edición Español - Escenarios de seguridad para modeloscubos tabulares ...
24 HOP edición Español - Escenarios de seguridad para modeloscubos tabulares ...
SpanishPASSVC
 
Data Amp 2017 - Whats New in SQL Server 2017
Data Amp 2017 - Whats New in SQL Server 2017Data Amp 2017 - Whats New in SQL Server 2017
Data Amp 2017 - Whats New in SQL Server 2017
dbLearner
 
24 HOP edición Español - Funcionalidades de nube híbrida en sql server 2014 -...
24 HOP edición Español - Funcionalidades de nube híbrida en sql server 2014 -...24 HOP edición Español - Funcionalidades de nube híbrida en sql server 2014 -...
24 HOP edición Español - Funcionalidades de nube híbrida en sql server 2014 -...
SpanishPASSVC
 
Exposicion Mysql
Exposicion MysqlExposicion Mysql
Exposicion Mysql
Hugo Palma G
 
SQL server 2008
SQL server 2008SQL server 2008
SQL server 2008
Isluan Huerta
 
SQL server 2008
SQL server 2008SQL server 2008
SQL server 2008
Isluan Huerta
 
Curso sql server_administracion
Curso sql server_administracionCurso sql server_administracion
Curso sql server_administracion
Salvador Ramos
 
Novedades sql server 2008 para developers
Novedades sql server 2008 para developersNovedades sql server 2008 para developers
Novedades sql server 2008 para developers
Enrique Catala Bañuls
 
cuadro_comparativo_SGBD_top_10.docx (1).docx
cuadro_comparativo_SGBD_top_10.docx (1).docxcuadro_comparativo_SGBD_top_10.docx (1).docx
cuadro_comparativo_SGBD_top_10.docx (1).docx
Igor Rodriguez
 
Sql4
Sql4Sql4
Presentación arquitectura sae 2013
Presentación   arquitectura sae 2013Presentación   arquitectura sae 2013
Presentación arquitectura sae 2013
Rafael Arriagada
 
SQL como un servicio en la nube
SQL como un servicio en la nubeSQL como un servicio en la nube
SQL como un servicio en la nube
SpanishPASSVC
 
Taller de Base de datos - Unidad 1 SGBD introduccion
Taller de Base de datos - Unidad 1 SGBD introduccionTaller de Base de datos - Unidad 1 SGBD introduccion
Taller de Base de datos - Unidad 1 SGBD introduccion
José Antonio Sandoval Acosta
 

Similar a STOP a la fuga de información: la barrera indispensable de seguridad en SQL Server - SolidQ Summit 2017 (20)

(25/02) Desarrollador@S Invita - Introducción y novedades de SQL Server 2008
(25/02) Desarrollador@S Invita - Introducción y novedades de SQL Server 2008(25/02) Desarrollador@S Invita - Introducción y novedades de SQL Server 2008
(25/02) Desarrollador@S Invita - Introducción y novedades de SQL Server 2008
 
SQL Server 2014 Mejoras del DB Engine
SQL Server 2014 Mejoras del DB EngineSQL Server 2014 Mejoras del DB Engine
SQL Server 2014 Mejoras del DB Engine
 
Procedimientos almacenados..mañana
Procedimientos almacenados..mañanaProcedimientos almacenados..mañana
Procedimientos almacenados..mañana
 
Semana 01.pdf
Semana 01.pdfSemana 01.pdf
Semana 01.pdf
 
Programación de Base de Datos - Unidad II: Aplicaciones con Arquitectura Clie...
Programación de Base de Datos - Unidad II: Aplicaciones con Arquitectura Clie...Programación de Base de Datos - Unidad II: Aplicaciones con Arquitectura Clie...
Programación de Base de Datos - Unidad II: Aplicaciones con Arquitectura Clie...
 
24HOP Espanol - Funcionalidades de Nube Hibrida en SQL Server 2014
24HOP Espanol - Funcionalidades de Nube Hibrida en SQL Server 201424HOP Espanol - Funcionalidades de Nube Hibrida en SQL Server 2014
24HOP Espanol - Funcionalidades de Nube Hibrida en SQL Server 2014
 
Windows Azure SQL Databases
Windows Azure SQL DatabasesWindows Azure SQL Databases
Windows Azure SQL Databases
 
24 HOP edición Español - Escenarios de seguridad para modeloscubos tabulares ...
24 HOP edición Español - Escenarios de seguridad para modeloscubos tabulares ...24 HOP edición Español - Escenarios de seguridad para modeloscubos tabulares ...
24 HOP edición Español - Escenarios de seguridad para modeloscubos tabulares ...
 
Data Amp 2017 - Whats New in SQL Server 2017
Data Amp 2017 - Whats New in SQL Server 2017Data Amp 2017 - Whats New in SQL Server 2017
Data Amp 2017 - Whats New in SQL Server 2017
 
24 HOP edición Español - Funcionalidades de nube híbrida en sql server 2014 -...
24 HOP edición Español - Funcionalidades de nube híbrida en sql server 2014 -...24 HOP edición Español - Funcionalidades de nube híbrida en sql server 2014 -...
24 HOP edición Español - Funcionalidades de nube híbrida en sql server 2014 -...
 
Exposicion Mysql
Exposicion MysqlExposicion Mysql
Exposicion Mysql
 
SQL server 2008
SQL server 2008SQL server 2008
SQL server 2008
 
SQL server 2008
SQL server 2008SQL server 2008
SQL server 2008
 
Curso sql server_administracion
Curso sql server_administracionCurso sql server_administracion
Curso sql server_administracion
 
Novedades sql server 2008 para developers
Novedades sql server 2008 para developersNovedades sql server 2008 para developers
Novedades sql server 2008 para developers
 
cuadro_comparativo_SGBD_top_10.docx (1).docx
cuadro_comparativo_SGBD_top_10.docx (1).docxcuadro_comparativo_SGBD_top_10.docx (1).docx
cuadro_comparativo_SGBD_top_10.docx (1).docx
 
Sql4
Sql4Sql4
Sql4
 
Presentación arquitectura sae 2013
Presentación   arquitectura sae 2013Presentación   arquitectura sae 2013
Presentación arquitectura sae 2013
 
SQL como un servicio en la nube
SQL como un servicio en la nubeSQL como un servicio en la nube
SQL como un servicio en la nube
 
Taller de Base de datos - Unidad 1 SGBD introduccion
Taller de Base de datos - Unidad 1 SGBD introduccionTaller de Base de datos - Unidad 1 SGBD introduccion
Taller de Base de datos - Unidad 1 SGBD introduccion
 

Más de SolidQ

SolidQ Summit 2018 - Qué necesita saber un DBA de Integration Services
SolidQ Summit 2018 - Qué necesita saber un DBA de Integration ServicesSolidQ Summit 2018 - Qué necesita saber un DBA de Integration Services
SolidQ Summit 2018 - Qué necesita saber un DBA de Integration Services
SolidQ
 
SolidQ Summit 2018 - Seguridad a nivel datos. RLS
SolidQ Summit 2018 - Seguridad a nivel datos. RLSSolidQ Summit 2018 - Seguridad a nivel datos. RLS
SolidQ Summit 2018 - Seguridad a nivel datos. RLS
SolidQ
 
SolidQ Summit 2018 - Todo lo que un integrador de datos debería tener... y pa...
SolidQ Summit 2018 - Todo lo que un integrador de datos debería tener... y pa...SolidQ Summit 2018 - Todo lo que un integrador de datos debería tener... y pa...
SolidQ Summit 2018 - Todo lo que un integrador de datos debería tener... y pa...
SolidQ
 
SolidQ Summit 2018 - ¿Dificultades gestionando relaciones muchos a muchos? De...
SolidQ Summit 2018 - ¿Dificultades gestionando relaciones muchos a muchos? De...SolidQ Summit 2018 - ¿Dificultades gestionando relaciones muchos a muchos? De...
SolidQ Summit 2018 - ¿Dificultades gestionando relaciones muchos a muchos? De...
SolidQ
 
SolidQ Summit 2018 - Report Server: Nuevos mutantes
SolidQ Summit 2018 - Report Server: Nuevos mutantesSolidQ Summit 2018 - Report Server: Nuevos mutantes
SolidQ Summit 2018 - Report Server: Nuevos mutantes
SolidQ
 
Cuando QueryStore no sirve, ¿qué opciones tenemos?
Cuando QueryStore no sirve, ¿qué opciones tenemos?Cuando QueryStore no sirve, ¿qué opciones tenemos?
Cuando QueryStore no sirve, ¿qué opciones tenemos?
SolidQ
 
SQL Server 2017 en Linux
SQL Server 2017 en LinuxSQL Server 2017 en Linux
SQL Server 2017 en Linux
SolidQ
 
Columnstore en la vida real
Columnstore en la vida realColumnstore en la vida real
Columnstore en la vida real
SolidQ
 
PowerApprízate
PowerApprízatePowerApprízate
PowerApprízate
SolidQ
 
Jugando a ser rico: Machine Learning para predicción de stocks
Jugando a ser rico: Machine Learning para predicción de stocksJugando a ser rico: Machine Learning para predicción de stocks
Jugando a ser rico: Machine Learning para predicción de stocks
SolidQ
 
Analizando tus Redes Sociales con Power BI
Analizando tus Redes Sociales con Power BIAnalizando tus Redes Sociales con Power BI
Analizando tus Redes Sociales con Power BI
SolidQ
 
Mantenimiento de SQL Server para Dummies
Mantenimiento de SQL Server para DummiesMantenimiento de SQL Server para Dummies
Mantenimiento de SQL Server para Dummies
SolidQ
 
R en relacional
R en relacionalR en relacional
R en relacional
SolidQ
 
Cuando haces bot ya no hay stop!!
Cuando haces bot ya no hay stop!!Cuando haces bot ya no hay stop!!
Cuando haces bot ya no hay stop!!
SolidQ
 
Arquitecturas lambda en Azure
Arquitecturas lambda en AzureArquitecturas lambda en Azure
Arquitecturas lambda en Azure
SolidQ
 
Bot Framework: otra manera de acceder a tus datos - SolidQ Summit 2018
Bot Framework: otra manera de acceder a tus datos - SolidQ Summit 2018Bot Framework: otra manera de acceder a tus datos - SolidQ Summit 2018
Bot Framework: otra manera de acceder a tus datos - SolidQ Summit 2018
SolidQ
 
BIE2E en Azure - SolidQ Summit 2018
BIE2E en Azure - SolidQ Summit 2018BIE2E en Azure - SolidQ Summit 2018
BIE2E en Azure - SolidQ Summit 2018
SolidQ
 
¿Qué viene GDPR? Mi SQL está preparado- SolidQ Summit 2018
¿Qué viene GDPR? Mi SQL está preparado- SolidQ Summit 2018¿Qué viene GDPR? Mi SQL está preparado- SolidQ Summit 2018
¿Qué viene GDPR? Mi SQL está preparado- SolidQ Summit 2018
SolidQ
 
Hilando fino en SSAS multidimensional - SolidQ Summit 2018
Hilando fino en SSAS multidimensional - SolidQ Summit 2018Hilando fino en SSAS multidimensional - SolidQ Summit 2018
Hilando fino en SSAS multidimensional - SolidQ Summit 2018
SolidQ
 
Adaptive Query Processing: Mejoras en el motor de consulta de SQL Server 2017...
Adaptive Query Processing: Mejoras en el motor de consulta de SQL Server 2017...Adaptive Query Processing: Mejoras en el motor de consulta de SQL Server 2017...
Adaptive Query Processing: Mejoras en el motor de consulta de SQL Server 2017...
SolidQ
 

Más de SolidQ (20)

SolidQ Summit 2018 - Qué necesita saber un DBA de Integration Services
SolidQ Summit 2018 - Qué necesita saber un DBA de Integration ServicesSolidQ Summit 2018 - Qué necesita saber un DBA de Integration Services
SolidQ Summit 2018 - Qué necesita saber un DBA de Integration Services
 
SolidQ Summit 2018 - Seguridad a nivel datos. RLS
SolidQ Summit 2018 - Seguridad a nivel datos. RLSSolidQ Summit 2018 - Seguridad a nivel datos. RLS
SolidQ Summit 2018 - Seguridad a nivel datos. RLS
 
SolidQ Summit 2018 - Todo lo que un integrador de datos debería tener... y pa...
SolidQ Summit 2018 - Todo lo que un integrador de datos debería tener... y pa...SolidQ Summit 2018 - Todo lo que un integrador de datos debería tener... y pa...
SolidQ Summit 2018 - Todo lo que un integrador de datos debería tener... y pa...
 
SolidQ Summit 2018 - ¿Dificultades gestionando relaciones muchos a muchos? De...
SolidQ Summit 2018 - ¿Dificultades gestionando relaciones muchos a muchos? De...SolidQ Summit 2018 - ¿Dificultades gestionando relaciones muchos a muchos? De...
SolidQ Summit 2018 - ¿Dificultades gestionando relaciones muchos a muchos? De...
 
SolidQ Summit 2018 - Report Server: Nuevos mutantes
SolidQ Summit 2018 - Report Server: Nuevos mutantesSolidQ Summit 2018 - Report Server: Nuevos mutantes
SolidQ Summit 2018 - Report Server: Nuevos mutantes
 
Cuando QueryStore no sirve, ¿qué opciones tenemos?
Cuando QueryStore no sirve, ¿qué opciones tenemos?Cuando QueryStore no sirve, ¿qué opciones tenemos?
Cuando QueryStore no sirve, ¿qué opciones tenemos?
 
SQL Server 2017 en Linux
SQL Server 2017 en LinuxSQL Server 2017 en Linux
SQL Server 2017 en Linux
 
Columnstore en la vida real
Columnstore en la vida realColumnstore en la vida real
Columnstore en la vida real
 
PowerApprízate
PowerApprízatePowerApprízate
PowerApprízate
 
Jugando a ser rico: Machine Learning para predicción de stocks
Jugando a ser rico: Machine Learning para predicción de stocksJugando a ser rico: Machine Learning para predicción de stocks
Jugando a ser rico: Machine Learning para predicción de stocks
 
Analizando tus Redes Sociales con Power BI
Analizando tus Redes Sociales con Power BIAnalizando tus Redes Sociales con Power BI
Analizando tus Redes Sociales con Power BI
 
Mantenimiento de SQL Server para Dummies
Mantenimiento de SQL Server para DummiesMantenimiento de SQL Server para Dummies
Mantenimiento de SQL Server para Dummies
 
R en relacional
R en relacionalR en relacional
R en relacional
 
Cuando haces bot ya no hay stop!!
Cuando haces bot ya no hay stop!!Cuando haces bot ya no hay stop!!
Cuando haces bot ya no hay stop!!
 
Arquitecturas lambda en Azure
Arquitecturas lambda en AzureArquitecturas lambda en Azure
Arquitecturas lambda en Azure
 
Bot Framework: otra manera de acceder a tus datos - SolidQ Summit 2018
Bot Framework: otra manera de acceder a tus datos - SolidQ Summit 2018Bot Framework: otra manera de acceder a tus datos - SolidQ Summit 2018
Bot Framework: otra manera de acceder a tus datos - SolidQ Summit 2018
 
BIE2E en Azure - SolidQ Summit 2018
BIE2E en Azure - SolidQ Summit 2018BIE2E en Azure - SolidQ Summit 2018
BIE2E en Azure - SolidQ Summit 2018
 
¿Qué viene GDPR? Mi SQL está preparado- SolidQ Summit 2018
¿Qué viene GDPR? Mi SQL está preparado- SolidQ Summit 2018¿Qué viene GDPR? Mi SQL está preparado- SolidQ Summit 2018
¿Qué viene GDPR? Mi SQL está preparado- SolidQ Summit 2018
 
Hilando fino en SSAS multidimensional - SolidQ Summit 2018
Hilando fino en SSAS multidimensional - SolidQ Summit 2018Hilando fino en SSAS multidimensional - SolidQ Summit 2018
Hilando fino en SSAS multidimensional - SolidQ Summit 2018
 
Adaptive Query Processing: Mejoras en el motor de consulta de SQL Server 2017...
Adaptive Query Processing: Mejoras en el motor de consulta de SQL Server 2017...Adaptive Query Processing: Mejoras en el motor de consulta de SQL Server 2017...
Adaptive Query Processing: Mejoras en el motor de consulta de SQL Server 2017...
 

Último

Projecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdf
Projecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdfProjecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdf
Projecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdf
Festibity
 
mantenimiento de chasis y carroceria1.pptx
mantenimiento de chasis y carroceria1.pptxmantenimiento de chasis y carroceria1.pptx
mantenimiento de chasis y carroceria1.pptx
MiguelAtencio10
 
Sitios web 3.0 funciones ventajas y desventajas
Sitios web 3.0 funciones ventajas y desventajasSitios web 3.0 funciones ventajas y desventajas
Sitios web 3.0 funciones ventajas y desventajas
paulroyal74
 
Projecte Iniciativa TIC 2024 HPE. inCV.pdf
Projecte Iniciativa TIC 2024 HPE. inCV.pdfProjecte Iniciativa TIC 2024 HPE. inCV.pdf
Projecte Iniciativa TIC 2024 HPE. inCV.pdf
Festibity
 
SISTESIS RETO4 Grupo4 co-creadores .ppsx
SISTESIS RETO4 Grupo4 co-creadores .ppsxSISTESIS RETO4 Grupo4 co-creadores .ppsx
SISTESIS RETO4 Grupo4 co-creadores .ppsx
tamarita881
 
Computacion cuántica y sus ventajas y desventajas
Computacion cuántica y sus ventajas y desventajasComputacion cuántica y sus ventajas y desventajas
Computacion cuántica y sus ventajas y desventajas
sofiahuarancabellido
 
Catalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador Valencia
Catalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador ValenciaCatalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador Valencia
Catalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador Valencia
AMADO SALVADOR
 
computacion global 3.pdf pARA TERCER GRADO
computacion global 3.pdf pARA TERCER GRADOcomputacion global 3.pdf pARA TERCER GRADO
computacion global 3.pdf pARA TERCER GRADO
YaniEscobar2
 
modelosdeteclados-230114024527-aa2c9553.pptx
modelosdeteclados-230114024527-aa2c9553.pptxmodelosdeteclados-230114024527-aa2c9553.pptx
modelosdeteclados-230114024527-aa2c9553.pptx
evelinglilibethpeafi
 
Second Life, informe de actividad del maestro Tapia
Second Life, informe de actividad del maestro TapiaSecond Life, informe de actividad del maestro Tapia
Second Life, informe de actividad del maestro Tapia
al050121024
 
Gabinete, puertos y dispositivos que se conectan al case
Gabinete,  puertos y  dispositivos que se conectan al caseGabinete,  puertos y  dispositivos que se conectan al case
Gabinete, puertos y dispositivos que se conectan al case
JuanaNT7
 
Presentación de Tic en educación y sobre blogger
Presentación de Tic en educación y sobre bloggerPresentación de Tic en educación y sobre blogger
Presentación de Tic en educación y sobre blogger
larapalaciosmonzon28
 
Inteligencia Artificial
Inteligencia ArtificialInteligencia Artificial
Inteligencia Artificial
YashiraPaye
 
Manual de Soporte y mantenimiento de equipo de cómputos
Manual de Soporte y mantenimiento de equipo de cómputosManual de Soporte y mantenimiento de equipo de cómputos
Manual de Soporte y mantenimiento de equipo de cómputos
cbtechchihuahua
 
Informació Projecte Iniciativa TIC SOPRA STERIA.pdf
Informació Projecte Iniciativa TIC SOPRA STERIA.pdfInformació Projecte Iniciativa TIC SOPRA STERIA.pdf
Informació Projecte Iniciativa TIC SOPRA STERIA.pdf
Festibity
 
TIC en educacion.rtf.docxlolololololololo
TIC en educacion.rtf.docxlolololololololoTIC en educacion.rtf.docxlolololololololo
TIC en educacion.rtf.docxlolololololololo
KukiiSanchez
 
Catalogo general tarifas 2024 Vaillant. Amado Salvador Distribuidor Oficial e...
Catalogo general tarifas 2024 Vaillant. Amado Salvador Distribuidor Oficial e...Catalogo general tarifas 2024 Vaillant. Amado Salvador Distribuidor Oficial e...
Catalogo general tarifas 2024 Vaillant. Amado Salvador Distribuidor Oficial e...
AMADO SALVADOR
 
edublogs info.docx asdasfasfsawqrdqwfqwfqwfq
edublogs info.docx asdasfasfsawqrdqwfqwfqwfqedublogs info.docx asdasfasfsawqrdqwfqwfqwfq
edublogs info.docx asdasfasfsawqrdqwfqwfqwfq
larapalaciosmonzon28
 
Informació Projecte Iniciativa TIC HPE.pdf
Informació Projecte Iniciativa TIC HPE.pdfInformació Projecte Iniciativa TIC HPE.pdf
Informació Projecte Iniciativa TIC HPE.pdf
Festibity
 
TODO SOBRE LA INFORMÁTICA, HISTORIA, ¿QUE ES?, IMPORTANCIA Y CARACTERISTICAS....
TODO SOBRE LA INFORMÁTICA, HISTORIA, ¿QUE ES?, IMPORTANCIA Y CARACTERISTICAS....TODO SOBRE LA INFORMÁTICA, HISTORIA, ¿QUE ES?, IMPORTANCIA Y CARACTERISTICAS....
TODO SOBRE LA INFORMÁTICA, HISTORIA, ¿QUE ES?, IMPORTANCIA Y CARACTERISTICAS....
bendezuperezjimena
 

Último (20)

Projecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdf
Projecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdfProjecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdf
Projecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdf
 
mantenimiento de chasis y carroceria1.pptx
mantenimiento de chasis y carroceria1.pptxmantenimiento de chasis y carroceria1.pptx
mantenimiento de chasis y carroceria1.pptx
 
Sitios web 3.0 funciones ventajas y desventajas
Sitios web 3.0 funciones ventajas y desventajasSitios web 3.0 funciones ventajas y desventajas
Sitios web 3.0 funciones ventajas y desventajas
 
Projecte Iniciativa TIC 2024 HPE. inCV.pdf
Projecte Iniciativa TIC 2024 HPE. inCV.pdfProjecte Iniciativa TIC 2024 HPE. inCV.pdf
Projecte Iniciativa TIC 2024 HPE. inCV.pdf
 
SISTESIS RETO4 Grupo4 co-creadores .ppsx
SISTESIS RETO4 Grupo4 co-creadores .ppsxSISTESIS RETO4 Grupo4 co-creadores .ppsx
SISTESIS RETO4 Grupo4 co-creadores .ppsx
 
Computacion cuántica y sus ventajas y desventajas
Computacion cuántica y sus ventajas y desventajasComputacion cuántica y sus ventajas y desventajas
Computacion cuántica y sus ventajas y desventajas
 
Catalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador Valencia
Catalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador ValenciaCatalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador Valencia
Catalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador Valencia
 
computacion global 3.pdf pARA TERCER GRADO
computacion global 3.pdf pARA TERCER GRADOcomputacion global 3.pdf pARA TERCER GRADO
computacion global 3.pdf pARA TERCER GRADO
 
modelosdeteclados-230114024527-aa2c9553.pptx
modelosdeteclados-230114024527-aa2c9553.pptxmodelosdeteclados-230114024527-aa2c9553.pptx
modelosdeteclados-230114024527-aa2c9553.pptx
 
Second Life, informe de actividad del maestro Tapia
Second Life, informe de actividad del maestro TapiaSecond Life, informe de actividad del maestro Tapia
Second Life, informe de actividad del maestro Tapia
 
Gabinete, puertos y dispositivos que se conectan al case
Gabinete,  puertos y  dispositivos que se conectan al caseGabinete,  puertos y  dispositivos que se conectan al case
Gabinete, puertos y dispositivos que se conectan al case
 
Presentación de Tic en educación y sobre blogger
Presentación de Tic en educación y sobre bloggerPresentación de Tic en educación y sobre blogger
Presentación de Tic en educación y sobre blogger
 
Inteligencia Artificial
Inteligencia ArtificialInteligencia Artificial
Inteligencia Artificial
 
Manual de Soporte y mantenimiento de equipo de cómputos
Manual de Soporte y mantenimiento de equipo de cómputosManual de Soporte y mantenimiento de equipo de cómputos
Manual de Soporte y mantenimiento de equipo de cómputos
 
Informació Projecte Iniciativa TIC SOPRA STERIA.pdf
Informació Projecte Iniciativa TIC SOPRA STERIA.pdfInformació Projecte Iniciativa TIC SOPRA STERIA.pdf
Informació Projecte Iniciativa TIC SOPRA STERIA.pdf
 
TIC en educacion.rtf.docxlolololololololo
TIC en educacion.rtf.docxlolololololololoTIC en educacion.rtf.docxlolololololololo
TIC en educacion.rtf.docxlolololololololo
 
Catalogo general tarifas 2024 Vaillant. Amado Salvador Distribuidor Oficial e...
Catalogo general tarifas 2024 Vaillant. Amado Salvador Distribuidor Oficial e...Catalogo general tarifas 2024 Vaillant. Amado Salvador Distribuidor Oficial e...
Catalogo general tarifas 2024 Vaillant. Amado Salvador Distribuidor Oficial e...
 
edublogs info.docx asdasfasfsawqrdqwfqwfqwfq
edublogs info.docx asdasfasfsawqrdqwfqwfqwfqedublogs info.docx asdasfasfsawqrdqwfqwfqwfq
edublogs info.docx asdasfasfsawqrdqwfqwfqwfq
 
Informació Projecte Iniciativa TIC HPE.pdf
Informació Projecte Iniciativa TIC HPE.pdfInformació Projecte Iniciativa TIC HPE.pdf
Informació Projecte Iniciativa TIC HPE.pdf
 
TODO SOBRE LA INFORMÁTICA, HISTORIA, ¿QUE ES?, IMPORTANCIA Y CARACTERISTICAS....
TODO SOBRE LA INFORMÁTICA, HISTORIA, ¿QUE ES?, IMPORTANCIA Y CARACTERISTICAS....TODO SOBRE LA INFORMÁTICA, HISTORIA, ¿QUE ES?, IMPORTANCIA Y CARACTERISTICAS....
TODO SOBRE LA INFORMÁTICA, HISTORIA, ¿QUE ES?, IMPORTANCIA Y CARACTERISTICAS....
 

STOP a la fuga de información: la barrera indispensable de seguridad en SQL Server - SolidQ Summit 2017

  • 1. SOLIDQ SUMMIT MADRID 2017 #SQSummit17 Jose Antonio Pineda Montes Data Platform Arquitect JPINEDA@SOLIDQ.COM
  • 4.
  • 5. Kerberos NTLM (Windows NT Lan Manager) Cuentas de Windows Cuentas especificas de SQL Server Autentificación Buena Practica: Usar siempre Autentificación Windows a menos que la aplicación sea de terceros y te obligue a utilizar una cuenta de seguridad de SQL.
  • 6. Buena Practica: cambiar el nombre de la cuenta después de la instalación SSMS>Object Explorer>Logins>Rename (right click) / T-SQL
  • 7. Best Practice: Asegurar que password complejas son utilizadas para SA y otros SQL logins. Intenta siempre utilizar las opciones ENFORCE EXPIRATION & MUST_CHANGE para SQL login
  • 8. Buena práctica: Usar cuentas especificas para cada servicio especifico de SQL Component Windows Server 2008 Windows 7 and Windows Server 2008 R2 and higher Recommended accounts Database Engine NETWORK SERVICE Virtual Account * SQL_Engine SQL Server Agent NETWORK SERVICE Virtual Account * SQL_Agent SSAS NETWORK SERVICE Virtual Account * SQL_srvAS SSIS NETWORK SERVICE Virtual Account * SQL_srvIS SSRS NETWORK SERVICE Virtual Account * SQL_srvRS SQL Server Distributed Replay Controller NETWORK SERVICE Virtual Account * SQL_DRContro SQL Server Distributed Replay Client NETWORK SERVICE Virtual Account * SQL_DRReplay FD Launcher (Full-text Search) LOCAL SERVICE Virtual Account SQL Server Browser LOCAL SERVICE LOCAL SERVICE SQL Server VSS Writer LOCAL SYSTEM LOCAL SYSTEM
  • 9. Buena Practica: Escoger cuidadosamente los miembros del role sysadmin
  • 10. Buena práctica: Usar los roles de servidor y base de datos que vienen por defecto o crear roles personalizados, y entonces aplicárselos a los logins de SQL.
  • 11. Buena Practica: Deshabilitar la cuenta invitado de todas las bbdds de usuario y sistemas ( menos en el msdb)
  • 12. Buena Practica: Cambiar el puerto por defecto siempre que sea posible
  • 14.
  • 15. Seguridad a nivel de fila Se previene a usuarios que vean datos sin autorización Configuración con lógica en BBDD y esquemas Administrado con SSMS 15 © 2016 SolidQ
  • 16. Seguridad a nivel de fila RLS (Row Level Security) restringe qué usuario puede ver qué fila 16 © 2016 SolidQ
  • 17. Seguridad a nivel de fila • Definida por Usuario • Inline Table Valued Function • Puede ser complicada conteniendo joins a otras tablas Funcion de predicado • Funcion vinculada a una tabla • Dos tipos: de filtro o bloqueantes Predicado de seguridad • Colección de predicados de seguridad para administrar la seguridad sobre multiples tablas Política de seguridad 17 © 2016 SolidQ
  • 18. Seguridad a nivel de fila 18 Uno Administrador de la seguridad crea un filtro de predicado y una política de seguridad vinculada a la tabla Dos Usuario de aplicación hace una select Tres La política de seguridad de forma transparente añade los filtros pertinentes Database CREATE FUNCTION dbo.fn_securitypredicate(@wing int) RETURNS TABLE WITH SCHEMABINDING AS return SELECT 1 as [fn_securitypredicate_result] FROM StaffDuties d INNER JOIN Employees e ON (d.EmpId = e.EmpId) WHERE e.UserSID = SUSER_SID() AND @wing = d.Wing; CREATE SECURITY POLICY dbo.SecPol ADD FILTER PREDICATE dbo.fn_securitypredicate(Wing) ON Patients WITH (STATE = ON) Filter predicate: INNER JOIN… Security policy Application Patients SELECT * FROM Patients SELECT * FROM Patients SEMIJOIN APPLY dbo.fn_securitypredicate(patients.Wing); SELECT Patients.* FROM Patients, StaffDuties d INNER JOIN Employees e ON (d.EmpId = e.EmpId) WHERE e.UserSID = SUSER_SID() AND Patients.wing = d.Wing; Nurse Policy manager
  • 19. Seguridad a nivel de fila con contexto de usuario 19 ----Se crea una función predicado que utliza la variable CONTEXT_INFO de la aplcición para filtrar que registros puede ver. CREATE FUNCTION rls.fn_securitypredicate (@AppUserId int) RETURNS TABLE WITH SCHEMABINDING AS RETURN ( SELECT 1 AS fn_securitypredicate_result WHERE DATABASE_PRINCIPAL_ID() = DATABASE_PRINCIPAL_ID('dbo')-- application context AND CONTEXT_INFO() = CONVERT(VARBINARY(128), @AppUserId); GO -- Con el siguiente código creamos la politica de seguridad con filtro de predicado para la table customers, y lo dejamos deshabilitado CREATE SECURITY POLICY [FederatedSecurityPolicy] ADD FILTER PREDICATE [rls].[fn_securitypredicate]([CustomerId]) ON [dbo].[Customer];
  • 20. Seguridad a nivel de fila: casos de uso Aplicaciones tradicionales Finanzas, Seguros, sanidad, gobiernos BBDD multitenant Cada inquilino solo accede a sus datos Reporting, analytics, DW Diferentes usuarios ven datos según su nivel de acceso (PowerBI ya da soporte nativo) 20
  • 22. Funcionalidad de RLS • Centralizo la seguridad en la BBDD, solo tengo que tocar en un sitio. • Puedo bloquear o filtrar las operaciones de modificación de datos. • Si creo el predicado con la opción schemabinding, evito que alguien pueda modificar el esquema de las tablas con las que trabaja el predicado y se comprueban los permisos sobre esas tablas para que funcione. • Puedo generar un role tipo “Gestor de Politicas” con los permisos necesarios para generar predicados de seguridad ALTER ANY SECURITY POLICY y un esquema especifico para generar estas, de tal manera que separo funcionalidades. Pudiendo auditar los cambios que se realicen.
  • 23. Mejores Practicas con RSL • Rendimiento dependerá de la complejidad de los joins en el predicado. • Es recomendable que las columnas que utiliza el predicado para filtrar tengan un índice. • Crear un esquema diferente para centralizar en él, todas las políticas de seguridad. • Utilizar CONTEXT_INFO para aplicaciones de capa intermedia y cuando trabajemos en SQL AZURE siempre inicializar esta variable después de conectarnos porque por defecto la inicializa.
  • 24.
  • 25. Always Encrypted Prevención de revelación de datos • Encriptación a nivel cliente de datos sensibles • No se puede descrifrar desde servidor Consultas sobre datos cifrados • Soporte para operadores “=“, “join”, “Group by” y “distinct” Transparente para aplicaciones • Cambios mínimos a nivel de aplicación • Usar la libreria correcta 25 Permite a las aplicaciones almacenar de forma segura datos, incluso lejos del alcance de DBA sysadmin
  • 27.
  • 29. Always Encrypted: LimitacionesNo soportado con estos tipos de datos •Xml •Rowversion •Image/Text/ntext •Sql_variant •Hiearchyid •Geography/geometry •Alias •UDT´s Claúsulas que no funcionan •FOR XML •FOR JSON PATH Características incompatibles •Transactional replication •Merge replication •Linked server y consultas distribuidas 29 © 2016 SolidQ Cuidado con la corrupción de datos • Usando ALLOW_ENCRYPTED_VALUE_MODIFICATIONS puedes corromper tus propios datos Herramientas soportadas parcialmente (por ahora) • SSDT (por ahora) • Solo se permite crear DACPAC desde SSMS
  • 31. Comparativa entre AE y TDE Always Encrypted TDE Nivel de columna Nivel de BBDD Encriptación en cliente Encriptación en servidor El servidor no conoce en ningún momento las claves para encriptar El servidor conoce las claves para encriptar EL dato viaje por la red encriptado EL dato tal cual viaja por la red. Tempdb hereda la encriptación- incluso después de deshabilitar TDE EL dato puede ser protegido de administradores de sistema y bbdd El dato es accesible para administradores de sistema y bbdd
  • 32. Comportamiento consultas con Always Encripted Características de la consulta Always Encrypted esta habilitado y la aplicación puede acceder a las claves y al metadata de las claves. Always Encrypted esta habilitado y la aplicación no puede accede a las claves o a los metadatos de las claves Always Encrypted esta deshabilitado Consultas con parametros que hacen referencia a columnas encriptadas. Los valores de los parametros se encriptan transparentemente. Error Error Consultas que recuperan datos de columnas encriptadas, sin parametros que referencien columnas encriptadas. EL resultado de las columnas encriptadas se desencripta transparentamente. La aplicacion recive los valores en texto plano de los tipos de datos .NET correspondientes a los tipos de SQL configurados para las columnas encriptadas. Error EL resultado de las columnas encriptadas no se desencripta. La aplicación recive los valores encriptados como arrays de byte (byte[]).
  • 33. Controlando el impacto de AE en el rendimiento • Debido a que Always Encrypted es una tecnología de cifrado en el cliente, la mayoría de los overheads de rendimiento se observan en el lado del cliente, no en la base de datos. Aparte del costo de las operaciones de cifrado y descifrado, hay otros factores que afectan: Viajes de ida y vuelta adicionales a la base de datos para recuperar metadatos para los parámetros de la consulta. Llamadas al almacén de claves maestras de columna para acceder a una clave maestra de columna.
  • 34. Optimizaciones en .NET Framework Provider para SQL Server para AE • Query metadata caching Puedes configurar Always Encrypted a nivel de consulta y de no de toda la sesión(esto ya no tiene sentido con .Net 4.6.2 debido al cache de parametros). • Column encryption key caching En .NET Framework 4.6 y 4.6.1, las entradas de clave de cifrado de columna en el caché nunca se desalojan. Esto significa que para una clave cifrada de cifrado de columna dada, el controlador contacta con el almacén de claves sólo una vez durante el tiempo de vida de la aplicación. En .NET Framework 4.6.2 y posteriores, las entradas de la memoria caché son desalojadas después de un intervalo configurable de tiempo de vida por razones de seguridad. El valor por defecto del tiempo de vida es de 2 horas.
  • 35.
  • 36. Dynamic Data Masking Enmascaramiento • Datos sensibles enmascarados a nivel Usuario Basado en políticas • A nivel de tabla o columna para grupos de usuarios Tiempo real • Se aplica sobre las filas a devolver 36
  • 37. Dynamic data masking 37© 2016 SolidQ 3 ) DDM ofusca los datos sensibles durante la devolución de datos2 ) El Usuario lanza una select1 ) El administrador de seguridad define la mascara en T-SQL sobre datos sensibles SELECT [Name], [SocialSecurityNumber], [Email], [Salary] FROM [Employee] admin1 loginother login BUSINES S APP BUSINES S APP ALTER TABLE [Employee] ALTER COLUMN [SocialSecurityNumber] ADD MASKED WITH (FUNCTION = ‘SSN()’) ALTER TABLE [Employee] ALTER COLUMN [Email] ADD MASKED WITH (FUNCTION = ‘EMAIL()’) ALTER TABLE [Employee] ALTER COLUMN [Salary] ADD MASKED WITH (FUNCTION = ‘RANDOM(1,20000)’) GRANT UNMASK to admin1 Security Officer
  • 38. Dynamic data masking • No puede usarse sobre los siguientes tipos de datos • Always Encrypted columns • FILESTREAM • COLUMN_SET • Text y ntext si soportados • Pero no funcionarán READTEXT, UPDATETEXT ni WRITETEXT 38
  • 40. SOLIDQ SUMMIT MADRID 2017 • +500h de trabajo • Clases 100% ONLINE en directo • Proyecto fin de máster real para tu empresa • Tutorías bajo demanda • Laboratorios virtuales guiados paso a paso • Invitación 1 día al SolidQ Summit Madrid • Te ayudamos en tus proyectos de BI & Analytics CONTENIDOS • BI & Analytics Overview • Data Warehousing y Modelo Dimensional • Obtención de datos. ETL e Integración • Soluciones Analíticas • Análisis y Visualización de la información • Proyecto Fin de Máster “Con la evolución de los tiempos, es imprescindible estudiar todo lo que tiene que ver con real-time, analytics y el mundo de los datos. Por lo que, consideré que tener formación en BI me podría ser muy útil y me venía muy bien personalmente, porque nuestro sistema trata con muchísimas transacciones y muchísima carga y ‘el relacional’ ya se nos estaba quedando pequeño. El máster nos dio una visión bastante general de cómo implementar un proyecto y gestionarlo tú mismo y cómo ver las soluciones de distintas maneras. Aunque tenía mis dudas de hacer una formación online, la valoración es bastante positiva, las clases son muy interactivas y al final salió todo muy bien.” Adolfo Gabriel VP Software Development, Payvision Máster en BI & Analytics Alumni ¡Plazas Limitadas! Más información: http://www.solidq.com/es/masterbi CONTENIDOS • BI & Analytics Overview • Data Warehousing y Modelo Dimensional • Obtención de datos. ETL e Integración • Soluciones Analíticas • Análisis y Visualización de la información • Proyecto Fin de Máster