SlideShare una empresa de Scribd logo
1 de 15
SQL Server 2016: Row Level Security
21 de Octubre 2015 (12 pm GMT -5)
Carlos Ulate
Resumen:
En esta charla daremos un pequeño vistazo a los que es
Row Level Security, sus ventajas y como implementarlo
de forma nativa en SQL Server 2016.
Está por comenzar:
Moderador: Carlos Ulate
Próximos Eventos
PASS Summit 2015
27-30 de Octubre
No hay evento
MVP Global Summit
2-5 de Noviembre
No hay evento
Manténgase conectado a nosotros!
Visítenos en http://globalspanish.sqlpass.org
/SpanishPASSVC
lnkd.in/dtYBzev
/user/SpanishPASSVC
/SpanishPASSVC
3
4
Oportunidades de Voluntariado
PASS no pudiera existir sin personas apasionadas y
dedicadas de todas partes del mundo que dan de su
tiempo como voluntarios.
Se un voluntario ahora!!
Para identificar oportunidades locales visita
volunteer.sqlpass.org
Recuerda actualizar tu perfil en las secciones de
“MyVolunteering” y MyPASS para mas detalles.
Sigan Participando!
• Obtén tu membresía gratuita en sqlpass.org
• Linked In: http://www.sqlpass.org/linkedin
• Facebook: http://www.sqlpass.org/facebook
• Twitter: @SQLPASS
• PASS: http://www.sqlpass.org
SQL Server 2016: Row Level Security
21 de Octubre de 2015
Carlos Ulate
Database Administrator, Informatech CR
Coordinador Spanish Virtual Chapter
MCTS
Moderador: Carlos Ulate
Agenda
• Que es Row Level Security?
• Como funciona Row Level Security.
• Ventajas de Row Level Security.
• Row Level Security nativo en SQL Server 2016.
• Implementacion de Row Level Security.
7
Que es Row Level Security?
• Es una la nueva funcionalidad de SQL Server 2016 que nos permite tener un control de
acceso de datos a nivel de registros.
• Una manera de poder entender que es Row Level Security (RLS) es verlo como una condición
¨Where¨ implícita en la consulta, el cual solo me permite consultar los datos que cumplan
dicha condición.
• En versiones anteriores se implementaba RLS utilizando vistas y procedimientos
almacenados donde se agregaba un filtro a la clausula where a una columna que seria
utilizada como identificador de seguridad.
• Esta presente en Azure SQL Database (V12) y ahora para el SQL Server 2016 se agrega dicha
funcionalidad.
8
Como funciona RLS
• Crea un filtro en la tabla que se defina sin necesidad de crear una vista, en su lugar se utiliza
un Inline Table Valued Function.
• SQL Server realiza implícitamente un INNER JOIN entre la función que se creo y la tabla que
se esta consultando.
• La que se encarga de juntar la tabla consultada junto a su correspondiente función es una
política de seguridad en la cual agrega un predicado a la tabla en cuestión.
• Todo esto nos permite poder regresar al usuario que realizo la consulta los datos a los que el
tiene acceso.
9
10
Ventajas de Row Level Security
• Reduce la complejidad en código por medio de la centralización de la lógica de acceso por
medio de una política de acceso, evitando con esto tener que utilizar vistas en todas las
tablas que se quiera implementar.
• Simplifica el mantenimiento de la aplicación permitiendo que se realicen las consultas
directamente a las tablas.
• Los cambios para la aplicación y el para el usuario son completamente transparentes.
• Me permite un fácil manejo de los usuarios que pueden tener acceso a que data, de una
manera transparente para la apliación.
11
RLS nativo en SQL Server 2016
• Como ya se mencionó antes el RLS esta presente en Azure SQL Database desde la V12 y
hasta en esta nueva versión de SQL Server es que se agrego tan solicitada funcionalidad, lo
cual nos permite manejar on premise el acceso a nivel de registros y de esta manera dejar
toda la seguridad en la capa de datos, lo cual me brinda mas seguridad contra posibles
ataques.
12
Implementación de RLS
• Para la implementación de RLS es necesario crear lo siguiente:
• Crear un nuevo esquema diferente al esquema donde se encuentran los datos.
• La tabla debe contar con un campo de tipo sysname donde se almacenara nuestro RLS ID.
• Crear una función que se encarga de manejar a que tiene acceso cada usuario.
• Crear una política de seguridad basado en la función que creamos para manejar el acceso a
registros.
13
DEMO
Preguntas y Respuestas
Carlos A. Ulate
Hernández
carlos@sql506.com http://www.sql506.com/
@cauh16

Más contenido relacionado

Similar a SQL Server 2016 - Row Level Security

Base de Datos Grupo Los Informaticos
Base de Datos Grupo Los InformaticosBase de Datos Grupo Los Informaticos
Base de Datos Grupo Los InformaticosPedroJunior178
 
Instalación SQL Server 2019 2.pptx
Instalación SQL Server 2019 2.pptxInstalación SQL Server 2019 2.pptx
Instalación SQL Server 2019 2.pptxCESARHERNANPATRICIOP1
 
Sincronizando Azure Search con SQL Server
Sincronizando Azure Search con SQL ServerSincronizando Azure Search con SQL Server
Sincronizando Azure Search con SQL ServerSpanishPASSVC
 
Diferentes versiones sql server
Diferentes versiones sql serverDiferentes versiones sql server
Diferentes versiones sql serverJillian Motoharu
 
Escalando con SQL Server hasta la nube, un trayecto necesario - Adrian Miranda
Escalando con SQL Server hasta la nube, un trayecto necesario - Adrian MirandaEscalando con SQL Server hasta la nube, un trayecto necesario - Adrian Miranda
Escalando con SQL Server hasta la nube, un trayecto necesario - Adrian MirandaSpanishPASSVC
 
Bases de datos por jesus j felix rodriguez lopez
Bases de datos por jesus j felix rodriguez lopezBases de datos por jesus j felix rodriguez lopez
Bases de datos por jesus j felix rodriguez lopezJesus Rodriguez
 
SQL Server 2016 Strech Database desde cada ángulo - Kenneth Ureña
SQL Server 2016 Strech Database desde cada ángulo - Kenneth UreñaSQL Server 2016 Strech Database desde cada ángulo - Kenneth Ureña
SQL Server 2016 Strech Database desde cada ángulo - Kenneth UreñaSpanishPASSVC
 
Bases de Datos Distribuidas con Sql Server 2012
Bases de Datos Distribuidas con Sql Server 2012Bases de Datos Distribuidas con Sql Server 2012
Bases de Datos Distribuidas con Sql Server 2012Antonio Ortiz
 
Introducción a SSIS
Introducción a SSISIntroducción a SSIS
Introducción a SSISSpanishPASSVC
 
Bd eq.3 comparacion entre microsoft sql y my sql actividad extra
Bd eq.3 comparacion entre microsoft sql y my sql actividad extraBd eq.3 comparacion entre microsoft sql y my sql actividad extra
Bd eq.3 comparacion entre microsoft sql y my sql actividad extraKARY
 
Portabilidad y transportabilidad
Portabilidad y transportabilidadPortabilidad y transportabilidad
Portabilidad y transportabilidadjuanmanuelsalgado
 
Mejores Prácticas de SQL Server para implementar SharePoint Server
Mejores Prácticas de SQL Server para implementar SharePoint ServerMejores Prácticas de SQL Server para implementar SharePoint Server
Mejores Prácticas de SQL Server para implementar SharePoint ServerSpanishPASSVC
 

Similar a SQL Server 2016 - Row Level Security (20)

Base de Datos Grupo Los Informaticos
Base de Datos Grupo Los InformaticosBase de Datos Grupo Los Informaticos
Base de Datos Grupo Los Informaticos
 
Exposicion_Terabyte.pptx
Exposicion_Terabyte.pptxExposicion_Terabyte.pptx
Exposicion_Terabyte.pptx
 
Semana 01.pdf
Semana 01.pdfSemana 01.pdf
Semana 01.pdf
 
Base de datos
Base de datosBase de datos
Base de datos
 
Instalación SQL Server 2019 2.pptx
Instalación SQL Server 2019 2.pptxInstalación SQL Server 2019 2.pptx
Instalación SQL Server 2019 2.pptx
 
Sincronizando Azure Search con SQL Server
Sincronizando Azure Search con SQL ServerSincronizando Azure Search con SQL Server
Sincronizando Azure Search con SQL Server
 
Diferentes versiones sql server
Diferentes versiones sql serverDiferentes versiones sql server
Diferentes versiones sql server
 
Escalando con SQL Server hasta la nube, un trayecto necesario - Adrian Miranda
Escalando con SQL Server hasta la nube, un trayecto necesario - Adrian MirandaEscalando con SQL Server hasta la nube, un trayecto necesario - Adrian Miranda
Escalando con SQL Server hasta la nube, un trayecto necesario - Adrian Miranda
 
Bases de datos por jesus j felix rodriguez lopez
Bases de datos por jesus j felix rodriguez lopezBases de datos por jesus j felix rodriguez lopez
Bases de datos por jesus j felix rodriguez lopez
 
SQL Server 2016 Strech Database desde cada ángulo - Kenneth Ureña
SQL Server 2016 Strech Database desde cada ángulo - Kenneth UreñaSQL Server 2016 Strech Database desde cada ángulo - Kenneth Ureña
SQL Server 2016 Strech Database desde cada ángulo - Kenneth Ureña
 
Bases de Datos Distribuidas con Sql Server 2012
Bases de Datos Distribuidas con Sql Server 2012Bases de Datos Distribuidas con Sql Server 2012
Bases de Datos Distribuidas con Sql Server 2012
 
sesion 01_sql basico.pdf
sesion 01_sql basico.pdfsesion 01_sql basico.pdf
sesion 01_sql basico.pdf
 
Introducción a SSIS
Introducción a SSISIntroducción a SSIS
Introducción a SSIS
 
Bd eq.3 comparacion entre microsoft sql y my sql actividad extra
Bd eq.3 comparacion entre microsoft sql y my sql actividad extraBd eq.3 comparacion entre microsoft sql y my sql actividad extra
Bd eq.3 comparacion entre microsoft sql y my sql actividad extra
 
Sql sever 2008
Sql sever 2008Sql sever 2008
Sql sever 2008
 
Portabilidad y transportabilidad
Portabilidad y transportabilidadPortabilidad y transportabilidad
Portabilidad y transportabilidad
 
Mejores Prácticas de SQL Server para implementar SharePoint Server
Mejores Prácticas de SQL Server para implementar SharePoint ServerMejores Prácticas de SQL Server para implementar SharePoint Server
Mejores Prácticas de SQL Server para implementar SharePoint Server
 
ejemplo de diseño
ejemplo de diseñoejemplo de diseño
ejemplo de diseño
 
Presentacion
PresentacionPresentacion
Presentacion
 
Manual sql nivel i
Manual sql   nivel iManual sql   nivel i
Manual sql nivel i
 

Más de SpanishPASSVC

Creación de un modelo de análisis predictivo en la nube
Creación de un modelo de análisis predictivo en la nubeCreación de un modelo de análisis predictivo en la nube
Creación de un modelo de análisis predictivo en la nubeSpanishPASSVC
 
Analizando la performance del subsistema de IO
Analizando la performance del subsistema de IOAnalizando la performance del subsistema de IO
Analizando la performance del subsistema de IOSpanishPASSVC
 
AlwaysON Lecciones Aprendidas
AlwaysON Lecciones AprendidasAlwaysON Lecciones Aprendidas
AlwaysON Lecciones AprendidasSpanishPASSVC
 
Data Science con Microsoft R Server y SQL Server 2016
Data Science con Microsoft R Server y SQL Server 2016Data Science con Microsoft R Server y SQL Server 2016
Data Science con Microsoft R Server y SQL Server 2016SpanishPASSVC
 
Mejoras de Rendimiento para Replicación Transaccional
Mejoras de Rendimiento para Replicación TransaccionalMejoras de Rendimiento para Replicación Transaccional
Mejoras de Rendimiento para Replicación TransaccionalSpanishPASSVC
 
Como leer planes de ejecución
Como leer planes de ejecuciónComo leer planes de ejecución
Como leer planes de ejecuciónSpanishPASSVC
 
AlwaysOn en SQL Server 2016
AlwaysOn en SQL Server 2016AlwaysOn en SQL Server 2016
AlwaysOn en SQL Server 2016SpanishPASSVC
 
VMs de alto rendimiento para SQL Server en AWS y Azure
VMs de alto rendimiento para SQL Server en AWS y AzureVMs de alto rendimiento para SQL Server en AWS y Azure
VMs de alto rendimiento para SQL Server en AWS y AzureSpanishPASSVC
 
Tecnicas avanzadas de monitoreo
Tecnicas avanzadas de monitoreoTecnicas avanzadas de monitoreo
Tecnicas avanzadas de monitoreoSpanishPASSVC
 
Principios de diseño para procesos de ETL
Principios de diseño para procesos de ETLPrincipios de diseño para procesos de ETL
Principios de diseño para procesos de ETLSpanishPASSVC
 
Planeando e implementando servicios de datos con Microsoft Azure
Planeando e implementando servicios de datos con Microsoft AzurePlaneando e implementando servicios de datos con Microsoft Azure
Planeando e implementando servicios de datos con Microsoft AzureSpanishPASSVC
 
Mejores prácticas para SQL Server en ambientes virtualizados
Mejores prácticas para SQL Server en ambientes virtualizadosMejores prácticas para SQL Server en ambientes virtualizados
Mejores prácticas para SQL Server en ambientes virtualizadosSpanishPASSVC
 
Mejores prácticas de Data Warehouse con SQL Server
Mejores prácticas de Data Warehouse con SQL ServerMejores prácticas de Data Warehouse con SQL Server
Mejores prácticas de Data Warehouse con SQL ServerSpanishPASSVC
 
La receta de la abuela para mejores cargas de datos
La receta de la abuela para mejores cargas de datosLa receta de la abuela para mejores cargas de datos
La receta de la abuela para mejores cargas de datosSpanishPASSVC
 
Introducción a Azure Machine Learning
Introducción a Azure Machine LearningIntroducción a Azure Machine Learning
Introducción a Azure Machine LearningSpanishPASSVC
 
Cuadros de mando el todo es más que la suma de las partes
Cuadros de mando el todo es más que la suma de las partesCuadros de mando el todo es más que la suma de las partes
Cuadros de mando el todo es más que la suma de las partesSpanishPASSVC
 
Automatizando la generación de Datawarehouses a través de metadatos
Automatizando la generación de Datawarehouses a través de metadatosAutomatizando la generación de Datawarehouses a través de metadatos
Automatizando la generación de Datawarehouses a través de metadatosSpanishPASSVC
 
Descubriendo el corazón de la optimización “Estadísticas más que un concepto”
Descubriendo el corazón de la optimización “Estadísticas más que un concepto”Descubriendo el corazón de la optimización “Estadísticas más que un concepto”
Descubriendo el corazón de la optimización “Estadísticas más que un concepto”SpanishPASSVC
 
Administrando soluciones de Power BI
Administrando soluciones de Power BIAdministrando soluciones de Power BI
Administrando soluciones de Power BISpanishPASSVC
 
Vista 360 grados de DataZen - Juan Alvarado
Vista 360 grados de DataZen - Juan AlvaradoVista 360 grados de DataZen - Juan Alvarado
Vista 360 grados de DataZen - Juan AlvaradoSpanishPASSVC
 

Más de SpanishPASSVC (20)

Creación de un modelo de análisis predictivo en la nube
Creación de un modelo de análisis predictivo en la nubeCreación de un modelo de análisis predictivo en la nube
Creación de un modelo de análisis predictivo en la nube
 
Analizando la performance del subsistema de IO
Analizando la performance del subsistema de IOAnalizando la performance del subsistema de IO
Analizando la performance del subsistema de IO
 
AlwaysON Lecciones Aprendidas
AlwaysON Lecciones AprendidasAlwaysON Lecciones Aprendidas
AlwaysON Lecciones Aprendidas
 
Data Science con Microsoft R Server y SQL Server 2016
Data Science con Microsoft R Server y SQL Server 2016Data Science con Microsoft R Server y SQL Server 2016
Data Science con Microsoft R Server y SQL Server 2016
 
Mejoras de Rendimiento para Replicación Transaccional
Mejoras de Rendimiento para Replicación TransaccionalMejoras de Rendimiento para Replicación Transaccional
Mejoras de Rendimiento para Replicación Transaccional
 
Como leer planes de ejecución
Como leer planes de ejecuciónComo leer planes de ejecución
Como leer planes de ejecución
 
AlwaysOn en SQL Server 2016
AlwaysOn en SQL Server 2016AlwaysOn en SQL Server 2016
AlwaysOn en SQL Server 2016
 
VMs de alto rendimiento para SQL Server en AWS y Azure
VMs de alto rendimiento para SQL Server en AWS y AzureVMs de alto rendimiento para SQL Server en AWS y Azure
VMs de alto rendimiento para SQL Server en AWS y Azure
 
Tecnicas avanzadas de monitoreo
Tecnicas avanzadas de monitoreoTecnicas avanzadas de monitoreo
Tecnicas avanzadas de monitoreo
 
Principios de diseño para procesos de ETL
Principios de diseño para procesos de ETLPrincipios de diseño para procesos de ETL
Principios de diseño para procesos de ETL
 
Planeando e implementando servicios de datos con Microsoft Azure
Planeando e implementando servicios de datos con Microsoft AzurePlaneando e implementando servicios de datos con Microsoft Azure
Planeando e implementando servicios de datos con Microsoft Azure
 
Mejores prácticas para SQL Server en ambientes virtualizados
Mejores prácticas para SQL Server en ambientes virtualizadosMejores prácticas para SQL Server en ambientes virtualizados
Mejores prácticas para SQL Server en ambientes virtualizados
 
Mejores prácticas de Data Warehouse con SQL Server
Mejores prácticas de Data Warehouse con SQL ServerMejores prácticas de Data Warehouse con SQL Server
Mejores prácticas de Data Warehouse con SQL Server
 
La receta de la abuela para mejores cargas de datos
La receta de la abuela para mejores cargas de datosLa receta de la abuela para mejores cargas de datos
La receta de la abuela para mejores cargas de datos
 
Introducción a Azure Machine Learning
Introducción a Azure Machine LearningIntroducción a Azure Machine Learning
Introducción a Azure Machine Learning
 
Cuadros de mando el todo es más que la suma de las partes
Cuadros de mando el todo es más que la suma de las partesCuadros de mando el todo es más que la suma de las partes
Cuadros de mando el todo es más que la suma de las partes
 
Automatizando la generación de Datawarehouses a través de metadatos
Automatizando la generación de Datawarehouses a través de metadatosAutomatizando la generación de Datawarehouses a través de metadatos
Automatizando la generación de Datawarehouses a través de metadatos
 
Descubriendo el corazón de la optimización “Estadísticas más que un concepto”
Descubriendo el corazón de la optimización “Estadísticas más que un concepto”Descubriendo el corazón de la optimización “Estadísticas más que un concepto”
Descubriendo el corazón de la optimización “Estadísticas más que un concepto”
 
Administrando soluciones de Power BI
Administrando soluciones de Power BIAdministrando soluciones de Power BI
Administrando soluciones de Power BI
 
Vista 360 grados de DataZen - Juan Alvarado
Vista 360 grados de DataZen - Juan AlvaradoVista 360 grados de DataZen - Juan Alvarado
Vista 360 grados de DataZen - Juan Alvarado
 

Último

EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estossgonzalezp1
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfvladimiroflores1
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfAnnimoUno1
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxAlan779941
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanamcerpam
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.FlorenciaCattelani
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...JohnRamos830530
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxMiguelAtencio10
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21mariacbr99
 

Último (11)

EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 

SQL Server 2016 - Row Level Security

  • 1. SQL Server 2016: Row Level Security 21 de Octubre 2015 (12 pm GMT -5) Carlos Ulate Resumen: En esta charla daremos un pequeño vistazo a los que es Row Level Security, sus ventajas y como implementarlo de forma nativa en SQL Server 2016. Está por comenzar: Moderador: Carlos Ulate Próximos Eventos PASS Summit 2015 27-30 de Octubre No hay evento MVP Global Summit 2-5 de Noviembre No hay evento
  • 2. Manténgase conectado a nosotros! Visítenos en http://globalspanish.sqlpass.org /SpanishPASSVC lnkd.in/dtYBzev /user/SpanishPASSVC /SpanishPASSVC
  • 3. 3
  • 4. 4 Oportunidades de Voluntariado PASS no pudiera existir sin personas apasionadas y dedicadas de todas partes del mundo que dan de su tiempo como voluntarios. Se un voluntario ahora!! Para identificar oportunidades locales visita volunteer.sqlpass.org Recuerda actualizar tu perfil en las secciones de “MyVolunteering” y MyPASS para mas detalles.
  • 5. Sigan Participando! • Obtén tu membresía gratuita en sqlpass.org • Linked In: http://www.sqlpass.org/linkedin • Facebook: http://www.sqlpass.org/facebook • Twitter: @SQLPASS • PASS: http://www.sqlpass.org
  • 6. SQL Server 2016: Row Level Security 21 de Octubre de 2015 Carlos Ulate Database Administrator, Informatech CR Coordinador Spanish Virtual Chapter MCTS Moderador: Carlos Ulate
  • 7. Agenda • Que es Row Level Security? • Como funciona Row Level Security. • Ventajas de Row Level Security. • Row Level Security nativo en SQL Server 2016. • Implementacion de Row Level Security. 7
  • 8. Que es Row Level Security? • Es una la nueva funcionalidad de SQL Server 2016 que nos permite tener un control de acceso de datos a nivel de registros. • Una manera de poder entender que es Row Level Security (RLS) es verlo como una condición ¨Where¨ implícita en la consulta, el cual solo me permite consultar los datos que cumplan dicha condición. • En versiones anteriores se implementaba RLS utilizando vistas y procedimientos almacenados donde se agregaba un filtro a la clausula where a una columna que seria utilizada como identificador de seguridad. • Esta presente en Azure SQL Database (V12) y ahora para el SQL Server 2016 se agrega dicha funcionalidad. 8
  • 9. Como funciona RLS • Crea un filtro en la tabla que se defina sin necesidad de crear una vista, en su lugar se utiliza un Inline Table Valued Function. • SQL Server realiza implícitamente un INNER JOIN entre la función que se creo y la tabla que se esta consultando. • La que se encarga de juntar la tabla consultada junto a su correspondiente función es una política de seguridad en la cual agrega un predicado a la tabla en cuestión. • Todo esto nos permite poder regresar al usuario que realizo la consulta los datos a los que el tiene acceso. 9
  • 10. 10
  • 11. Ventajas de Row Level Security • Reduce la complejidad en código por medio de la centralización de la lógica de acceso por medio de una política de acceso, evitando con esto tener que utilizar vistas en todas las tablas que se quiera implementar. • Simplifica el mantenimiento de la aplicación permitiendo que se realicen las consultas directamente a las tablas. • Los cambios para la aplicación y el para el usuario son completamente transparentes. • Me permite un fácil manejo de los usuarios que pueden tener acceso a que data, de una manera transparente para la apliación. 11
  • 12. RLS nativo en SQL Server 2016 • Como ya se mencionó antes el RLS esta presente en Azure SQL Database desde la V12 y hasta en esta nueva versión de SQL Server es que se agrego tan solicitada funcionalidad, lo cual nos permite manejar on premise el acceso a nivel de registros y de esta manera dejar toda la seguridad en la capa de datos, lo cual me brinda mas seguridad contra posibles ataques. 12
  • 13. Implementación de RLS • Para la implementación de RLS es necesario crear lo siguiente: • Crear un nuevo esquema diferente al esquema donde se encuentran los datos. • La tabla debe contar con un campo de tipo sysname donde se almacenara nuestro RLS ID. • Crear una función que se encarga de manejar a que tiene acceso cada usuario. • Crear una política de seguridad basado en la función que creamos para manejar el acceso a registros. 13
  • 14. DEMO
  • 15. Preguntas y Respuestas Carlos A. Ulate Hernández carlos@sql506.com http://www.sql506.com/ @cauh16