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

Slides:



Advertisements
Presentaciones similares
Código: HOL-SQL29. Permite la encriptación de ficheros de registro y de datos mediante clave de encriptación de datos (Database Encryption Key) Encriptación.
Advertisements

SQL Server Comunidad TechNet Regístrate en:
Microsoft® SQL Server 2008 Usuarios, Roles, Encriptación y Back Up de la base de datos.
Implementación de procedimientos almacenados
Implementación de la integridad de datos
SQL BAJO EL ENTORNO PHP/MYSQL MI JUAN PABLO TORRES HERRERA UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA FACULTAD DE INGENIERÍA ENSENADA Mayo de 2005.
PRIVILEGIOS DE ACCESO EN INFORMIX
4.3. Privilegios de usuarios
MySQL M.C. Pedro Bello López.
SQL Lenguaje de consulta estructurado
UNITA - IBARRA TRIGGERS
CONCEPTOS BASICOS SQL SERVER SEBASTIAN MARTINEZ GARCIA.
Aprenda MySQL en 120 minutos Tutorial. Dirigido a...
COMANDOS DML DML son las siglas de Data Manipulation Language y se refiere a los comandos que permiten a un usuario manipular los datos en un repositorio,
Diseñando la arquitectura de aplicaciones empresariales. Acceso al SQL Server.- Autenticación de usuario:
Programación en Visual Basic Lección #8: SQL Por Antonio F. Huertas.
Vista Externa de Una Base de Datos John Freddy Duitama Muñoz. Facultad de Ingeniería. U.de.A. John Freddy Duitama Muñoz. Facultad de Ingeniería. U.de.A.
LENGUAJE SQL.
Structured Query Language (Lenguaje Estructurado de Consultas)
Vista Externa de Una Base de Datos John Freddy Duitama Muñoz. Facultad de Ingeniería. U.de.A. John Freddy Duitama Muñoz. Facultad de Ingeniería. U.de.A.
COMANDOS DML DML son las siglas de Data Manipulation Language y se refiere a los comandos que permiten a un usuario manipular los datos en un repositorio,
Prof. Daniel Obando Fuentes
Consultas SQL. SQL SQL es un lenguaje de consulta estructurado (Structured Query Languague). Se utiliza para: Eliminar Modificar Consultar La base de.
Máxima seguridad para sus datos Juan Ignacio Quesada Senior Sales Consultant.
SQL (Structured Query Language) Lenguaje orientado a bases de datos y sobre todo, al manejo de consultas; el objetivo principal de SQL es la realización.
Comandos de SQL Prog. Orientada a Eventos. Inserción de datos (INSERT) INSERT….VALUES INSERT INTO Tabla1 (Columna1, Columna2…) VALUES (‘ValorAlfa’, ValorNum…);
Comandos DDL Los comandos DDL son las siglas de Data Definition Language, y se corresponde con el conjunto de órdenes que permiten definir las estructuras.
(Lenguaje de consulta estructurado)
Usuarios y privilegios
SQL Lenguaje Estructurado de Consultas. Structured Query Lenguaje (SQL). Lenguaje de acceso a bases de datos. Proyecto de Investigación de IBM. La mayoria.
Usuarios. Colocar el servidor en el modo de autenticación Windows/SqlServer. En SQL Server Management Studio, click derecho, Propiedades en la Instancia.
SQL es el lenguaje de comunicación entre el programa cliente y programa servidor; Oracle es un programa servidor, en el que está la base de datos propiamente.
Bases de Datos SQL.
Lenguaje Estructurado de Consultas
Structure Query Languaje SQL. Introducción a SQL El lenguaje de consulta estructurado (SQL) es un lenguaje de base de datos normalizado, utilizado por.
Querys a bases de datos con MS ACCESS. DEFINAMOS LOS TERMINOS: DML=Lenguaje de manipulación de datos Las sentencias DML permiten generar consultas para.
DML Transact SQL Sesión X Triggers. Duración 2 Horas.
6 Triggers ORACLE - III Bases de datos II I-2014 Universidad del Cauca Ing. Wilson Ortega Bases de datos II I-2014 Universidad del Cauca Ing. Wilson Ortega.
UNIDAD IV. Diseño de Base de Datos Relacionales
Administración de Sistemas Gestores de Bases de Datos.
SQL: Structured Query Language
Wladimir Solano Marco Pascale
SEGURIDAD SQL Usuarios, privilegios y perfiles.
BASE DE DATOS IUPSM CLASE PRACTICA. PROF. ING. JOSE L GUZMAN H.
Base de Datos Introducción
SQL: Structured Query Language
Un viaje en el tiempo Leonel Abreu
Structure Query Languaje
SQL 2: Structured Query Language
SQL: structured Query Language
Base de Datos
UN DISPARADOR O TRIGGER es un procedimiento que se ejecuta cuando se cumple una condición establecida al realizar una operación. Es una rutina autónoma.
Lenguaje Estructurado de Consultas
SQL Lenguaje de Consulta Estructurado
SQL AVANZADO saregune CC 2009.
Bases de Datos Daniel Rojas UTN.
Orígenes Funciones Condicionales
Oracle Pl/SQl Developer – Nivel 1
Mantenga su Data Warehouse seguro,YA!
UN EJEMPLO DE LECTURA CONSISTENTE EN INNODB
SQL + PHP + HTML Prof. Martín Contreras.
Base de Datos - II . Unidad 1 -SQL.
Structure Query Languaje
Nuevas Características de SQL Server 2016
Modificación de datos. Introducción Uso de transacciones Inserción de datos Eliminación de datos Actualización de datos Consideraciones acerca del rendimiento.
Normalmente emparejamos tablas que están relacionadas entre sí y una de las columnas de emparejamiento es clave principal, pues en este caso, Cuando una.
TRIGGERS VISTAS Y PROCESOS Ing. Fabiola Nilda Perez Oliver
Construcción de elementos de Software 4 MSc. Oscar Mauricio Salazar Ospina MSc Juan Camilo Jaramillo Alzate 15/05/2019Programación distribuida y paralela1.
Nuevas Características de SQL Server 2019
El SQL es el lenguaje estándar ANSI/ISO de definición, manipulación y control de bases de datos relacionales. La sigla que se conoce como SQL corresponde.
Transcripción de la presentación:

Asegurar tu base de datos es ahora más fácil con SQL Server 2016 Daniel Valero Microsoft Senior Premier Field Engineer daniel.valero@microsoft.com Asegurar tu base de datos es ahora más fácil con SQL Server 2016

Agradecimiento a los patrocinadores Premium Silver Personal

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

Dynamic Data Masking XXXX-XXXX-XXXX-9876

¿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 [Email] ADD MASKED WITH (FUNCTION = ‘EMAIL()’) 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], [Email], [Salary] FROM [Employee] Security

Dynamic Data Masking

Row Level Security (RLS)

¿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 FUNCTION dbo.customerPredicate(@SalesRepName AS sysname)     RETURNS TABLE     WITH SCHEMABINDING AS     RETURN SELECT 1 AS accessResult      WHERE @SalesRepName = 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

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 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) 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

Row Level Security

Always Encrypted

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

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)

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)

¿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

¿Cómo funciona Always Encrypted? Trusted Apps SELECT Name FROM Patients WHERE SSN=@SSN @SSN='198-33-0987' SQL Server SELECT Name FROM Patients WHERE SSN=@SSN @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 198-33-0987 ciphertext dbo.Patients Philip Wegner Name SSN USA Denny Usher 0x7ff654ae6d Alicia Hodge 0y8fj754ea2c 1x7fg655se2e Country Name 243-24-9812 SSN Country Denny Usher 198-33-0987 USA Alicia Hodge 123-82-1095 Philip Wegner dbo.Patients Philip Wegner Name 1x7fg655se2e SSN USA Country Denny Usher 0x7ff654ae6d Alicia Hodge 0y8fj754ea2c dbo.Patients

Always Encrypted - Parametrización

Always Encrypted con Separación de Roles

Preguntas y Respuestas