La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Asegurar tu base de datos es ahora más fácil con SQL Server 2016

Presentaciones similares


Presentación del tema: "Asegurar tu base de datos es ahora más fácil con SQL Server 2016"— Transcripción de la presentación:

1 Asegurar tu base de datos es ahora más fácil con SQL Server 2016
Daniel Valero Microsoft Senior Premier Field Engineer Asegurar tu base de datos es ahora más fácil con SQL Server 2016

2 Agradecimiento a los patrocinadores
Premium Silver Personal

3 Acceso de aplicaciones
Panorama de seguridad Acceso de aplicaciones Monitoreo Proactivo Cifrado de datos Control de Acceso Monitoreo proactivo Dynamic Data Masking Auditoria Row-level Security SQL Threat Detection Acceso a base de datos Cifrado de datos Autenticación Cifrado en transito Permisos SQL Cifrado en reposo SQL Firewall Cifrado de columnas Azure Active Directory Authentication Cifrado de respaldos Logon Triggers Always Encrypted Sólo Azure

4 Dynamic Data Masking XXXX-XXXX-XXXX-9876

5 ¿Cómo funciona Dynamic Data Masking?
3) La política deenmascaramiento dinámico ofusca la data sensible en el resultado de la consulta El oficial de Seguridad define las políticas de enmascaramiento dinámico usando T-SQL sobre la tabla que contiene datos sensibles 2) El usuario de aplicación consulta la tabla ALTER TABLE [Employee] ALTER COLUMN [SocialSecurityNumber] ADD MASKED WITH (FUNCTION = 'partial(0,"***-**-",4)') NULL ALTER TABLE [Employee] ALTER COLUMN [ ] ADD MASKED WITH (FUNCTION = ‘ ()’) ALTER TABLE [Employee] ALTER COLUMN [Salary] ADD MASKED WITH (FUNCTION = ‘RANDOM(1,20000)’) GRANT UNMASK to admin1 Oficial de Seguridad SQL DB Login de administrador Login no administrador SELECT [Name], [SocialSecurityNumber], [ ], [Salary] FROM [Employee] Security

6 Dynamic Data Masking

7 Row Level Security (RLS)

8 ¿Cómo implementar RLS? Dos tipos de predicados Filter predicates
dbo.Customers Col1 Col2 Col3 SalesRepName SalesRep1 SalesRep2 Usualmente, cada registro tendrá una o más “etiquetas” que determinan quien tiene acceso a dicho registro Dos tipos de predicados Filter predicates Silenciosamente oculta operaciones SELECT, UPDATE y DELETE para excluir los registros que no satisfagan el predicado Block predicates Explícitamente bloquean operaciones INSERT, UPDATE y DELETE que no satisfagan el predicado CREATE sysname)     RETURNS TABLE     WITH SCHEMABINDING AS     RETURN SELECT 1 AS accessResult  = USER_NAME() OR USER_NAME() = 'Manager' go CREATE SECURITY POLICY dbo.customerAccessPolicy     ADD FILTER PREDICATE dbo.customerPredicate(SalesRepName) ON dbo.Customers,     ADD BLOCK PREDICATE dbo.customerPredicate(SalesRepName) ON dbo.Customers go Crear una función inline table-valued que defina el criterio de acceso (predicado de seguridad) Crear una política de seguridad (security policy) para agregar los predicados de seguridad sobre la tabla usando la función anterior

9 Administrador de políticas
¿Cómo funciona RLS? 1) El administrador de políticas crea el filtro de predicado y la política de seguridad en T-SQL, enlazando el predicado a la tabla 2) El usuario consulta la tabla 3) La política de seguridad transparentemente reescribe la consulta para aplicar el predicado Administrador de políticas Base de datos Enfermera Filter Predicate: INNER JOIN… Security Policy CREATE FUNCTION 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() = d.Wing; CREATE SECURITY POLICY dbo.SecPol ADD FILTER PREDICATE dbo.fn_securitypredicate(Wing) ON Patients WITH (STATE = ON) SELECT * FROM Patients SEMIJOIN APPLY dbo.fn_securitypredicate(patients.Wing); Pacientes Aplicación 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; SELECT * FROM Patients

10 Row Level Security

11 Always Encrypted

12 Características Cifrado del lado cliente Separación de roles
El cifrado de datos sensibles se realiza del lado del cliente usando llaves que nunca se entregan al DBA Separación de roles El administrador de Seguridad configura las llaves y el DBA configura el cifrado Consultas sobre data cifrada Soporte para comparaciones de igualdad, incluyendo operadores joins, broup by y distinct Transparente para la aplicación Cambios mínimos a la aplicación vía el servidor y librerías clientes con mínimo impacto en desempeño

13 Llaves de cifrado Column Master Key (CMK)
Metada sobre la ubicación del certificado usado para cifrar el Column Encryption Key El certificado es almacenado en un almacén externo: Windows Certificate Store, Azure Key Vault or Hardware Security Module (HSM)

14 Llaves de cifrado Column Encryption Key (CEK)
Es la llave utilizada para encriptar los valores en la columnas de la tabla Está cifrada por el Column Master Key Puede tener hasta dos valores encriptados (para rotación del CMK)

15 ¿Cómo implementar Always Encrypted?
Especifica el Column Encryption Key Especifica el tipo de encriptación y el algoritmo: Determinista (Deterministic) – Requiere collation BIN2 Aleatorio (Randomized) - Más seguro

16 ¿Cómo funciona Always Encrypted?
Trusted Apps SELECT Name FROM Patients WHERE @SSN=' ' SQL Server SELECT Name FROM Patients WHERE @SSN=0x7ff654ae6d Client side Query Enhanced ADO.NET Library Column Master Key Column Encryption Key Result Set Result Set Denny Usher Name 0x7ff654ae6d SSN USA Country ciphertext dbo.Patients Philip Wegner Name SSN USA Denny Usher 0x7ff654ae6d Alicia Hodge 0y8fj754ea2c 1x7fg655se2e Country Name SSN Country Denny Usher USA Alicia Hodge Philip Wegner dbo.Patients Philip Wegner Name 1x7fg655se2e SSN USA Country Denny Usher 0x7ff654ae6d Alicia Hodge 0y8fj754ea2c dbo.Patients

17 Always Encrypted - Parametrización

18 Always Encrypted con Separación de Roles

19 Preguntas y Respuestas


Descargar ppt "Asegurar tu base de datos es ahora más fácil con SQL Server 2016"

Presentaciones similares


Anuncios Google