Descargar la presentación
La descarga está en progreso. Por favor, espere
Publicada porSara Rojo Miguélez Modificado hace 7 años
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
Presentaciones similares
© 2025 SlidePlayer.es Inc.
All rights reserved.