SlideShare uma empresa Scribd logo
1 de 21
SQL Server 2016
New innovations
Roberto Fonseca
rffonseca@outlook.com
http://rffonseca.wordpress.com
Há uma
oportunidade de
tomar melhores
decisões com uma
infinidade de
dados.
A explosão de fontes de dados...
…leva a uma explosão de dados…
…e que leva faz com que os negócios
aprendam mais desses dados
2013-2020 CAGR = 41%
25B
4.0B1.3B
2010 2013 2020
Source: Forecast: Internet of Things, Endpoints and Associated Services, Worldwide, 2014. Gartner. Oct 20 2014
Source: IDC “Digital Universe”, Dec. 2012
Faça Mais. Conquiste mais.
Performance Segurança Availability Scalability
Operational analytics
Insights on operational data;
works with in-memory OLTP and
disk-based OLTP
In-memory OLTP
enhancements
Greater T-SQL surface area,
terabytes of memory supported,
and greater number of parallel
CPUs
Query data store
Monitor and optimize query plans
Native JSON
Expanded support for JSON data
Temporal database
support
Query data as points in time
Always encrypted
Dados sensíveis sempre
criptografados e ainda assim
permitindo queries
Row-level security
Controle de acesso apurado aos
dados armazenados
Dynamic data masking
Ofuscamento de dados para
prevenção de acesso não
autorizado
Other enhancements
Operações de auditoria
Suporte a TDE para tabelas In-
Memory OLTP
Habilidade de auditoria com
rastreamento de alterações de
dados (Temporal Tables)
Enhanced AlwaysOn
Three synchronous replicas for
automatic failover across domains
Round-robin load balancing of
replicas
Automatic failover based on
database health
DTC for transactional integrity
across database instances with
AlwaysOn
Support for SSIS with AlwaysOn
Enhanced database
caching
Cache data with automatic,
multiple TempDB files per instance
in multicore environments
Performance de Missão Crítica
Always Encrypted
SQL Server 2016
SQL Database
Impede a
divulgação de
dados
Criptografia Client-side de
dados sensíveis usando
chaves que NUNCA são
compatilhadas com o DB
Queries em dados
criptografados
Suporte a comparação de
igualdade, incluindo joins,
group by e distinct.
Transparente para
Aplicação
Mudanças mínimas na
aplicação através de
melhorias apenas na
biblioteca de acesso a dados
Permite aos clientes armazenarem dados sensíveis em ambiente fora do seu controle.
Dados mantidos protegidos, mesmo para usuários com privilégio avançado (sysadmins) mas
que não devem ver esses dados
Always Encrypted
Security
Randomized
Encrypt('123-45-6789') = 0x17cfd50a
Repeat: Encrypt('123-45-6789') = 0x9b1fcf32
- Permite visibilidade transparente para
aplicação mas NÃO PERMITE busca
- Segurança avançada
Deterministic
Encrypt('123-45-6789') = 0x85a55d3f
Repeat: Encrypt('123-45-6789') = 0x85a55d3f
- Permite visibilidade transparente para
aplicação E busca
Exemplo: Em cláusulas WHERE e joins,
distinct, group by
Dois tipos de
criptografia
Criptografia randomizada usa métodos
que criptografam dados de forma
randomizada, onde o mesmo dado de
entrada possui valores criptografados
diferentes
Criptografia Deterministica usa métodos
que sempre geram o mesmo valor
criptografado para o mesmo dado de
entrada
Tipos de criptografia - Always Encrypted
Security
Como Funciona
Protege dados armazenados e em movimento, tanto em ambiente on-
premises quanto na nuvem
SQL Server ou SQL Database
ADO .NET
4.6
Nome
João da Silva
Nome
0x19ca706fbd9a
Result SetResult Set
Client
Nome CPF Pais
0x19ca706fbd9a 0x7ff654ae6d Brasil
dbo.Clientes
criptografado
"SELECT Name FROM Customers WHERE SSN = @SSN",
0x7ff654ae6d
Criptografado
"SELECT Nome FROM Clientes WHERE CPF = @CPF",
“12345678900"
Dados criptografados nunca são expostos em
texto plano no SQL Server
Limite de Confiança
Security
DEMO
Row-level security
SQL Server 2016
SQL Database
Acesso controlado apenas as linhas definidas na tabela
Previne o acesso não autorizado aos dados quando
multiplos usuários compartilham as mesmas tabelas ou em
aplicações multitenant (Multiplos clientes)
Administrador via SSMS ou SSDT
Lógica é garantida dentro da base de dados
Protegendo a privacidade dos dados garantindo o
acesso correto somente aos registros permitidos
SQL Database
Usuário 1
Usuário 2
Usuário 3
A necessidade da segurança em nível de linha
Security
CREATE SECURITY POLICY mySecurityPolicy
ADD FILTER PREDICATE dbo.fn_securitypredicate(wing, startTime, endTime)
ON dbo.patients
Predicate function
Função definida pelo usuário (inline table-valued function iTVF) implementa a lógica de segurança
Pode conter lógica complexa e joins com outras tabelas
Security predicate
Interliga a predicate function à uma tabela, aplicando a lógica de segurança em todas as queries
Dois tipos: Predicados de filtro e predicados de bloqueio
Security policy
Coleção de predicados de segurança para gerenciamento
RLS conceitos
Security
Two
App user (e.g., nurse) selects from Patients table
Three
Security Policy transparently rewrites query to apply filter predicate
Database Policy Manager
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
Nurse
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;
RLS em três etapas
Security
Usos recomendados de RLS
RLS padrão
Lógica de negócio customizada para determiner quais linhas cada usuário pode consultar baseado
em uma regra, departamento ou nível de segurança
Bases Multitenant (Multiplos Inquilinos)
Garantir que os clientes (inquilinos) podem acessar apenas os seus registros em uma base
compartilhada, tendo a lógica de acesso determinada pelo database e não pela aplicação
For example: Aplicações multiempresa
Reporting, analytics e data warehousing
Diferentes usuários podem acessar o mesmo database através de várias ferramentas, e visualizer
apenas os registros permitidos baseado em uma lógica de segurança aplicada ao usuário/regra
Security
DEMO
Dynamic data masking
SQL Server 2016
SQL Database
Configuração simplificada no portal Azure
Política criada em nível de coluna para
determinados usuários
Data masking aplicado nos dados em tempo real
baseado na política de mascaramento
Multiplas funções de mascaramento disponíveis
(mascaramento total ou parcial do dado) para
várias categorias de dados sensíveis (CC, CPF,
Email, Salário, etc.)
SQL Database
SQL Server 2016
Tabela.CartaoCredito
4465-6571-7868-5796
4468-7746-3848-1978
4484-5434-6858-6550
Real-time data masking;
partial masking
Dynamic data masking
Previne o abuso de dados sensíveis
ocultando os dados reais dos usuários
Security
Conformidade
regulatória
Proteção de
dados sensíveis
Agilidade e
transparência
Dados são mascarados em real-
time. Os dados no database
continuam intactos.
Transparente para a aplicação e
respeitando o direito definido
para o usuário
Limita o acesso a dados sensíveis através de políticas de mascaramento de dados, sem afetar
a integridade do database.
Benefícios do uso de data masking
Security
Como funciona?
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
1) Área de segurança define a política de mascaramento para as tabelas e colunas desejadas2) Um usuário da Aplicação consulta a tabela3) A política de data masking é aplicada dependendo do usuário que está consultando os dados
SELECT [Name],
[SocialSecurityNumber],
[Email],
[Salary]
FROM [Employee]
Security
DEMO

Mais conteúdo relacionado

Mais procurados

Windows Azure Pack - Visão Geral
Windows Azure Pack - Visão GeralWindows Azure Pack - Visão Geral
Windows Azure Pack - Visão GeralFabio Hara
 
Controlando cargas de trabalho com o resource governor no SQL Server 2014
Controlando cargas de trabalho com o resource governor no SQL Server 2014Controlando cargas de trabalho com o resource governor no SQL Server 2014
Controlando cargas de trabalho com o resource governor no SQL Server 2014Marcos Freccia
 
Reduza seu trabalho de gerenciamento do kubernetes tdc 2018 poa
Reduza seu trabalho de gerenciamento do kubernetes   tdc 2018 poaReduza seu trabalho de gerenciamento do kubernetes   tdc 2018 poa
Reduza seu trabalho de gerenciamento do kubernetes tdc 2018 poaFabio Hara
 
Windows Server 2016, System Center 2016 e OMS
Windows Server 2016, System Center 2016 e OMSWindows Server 2016, System Center 2016 e OMS
Windows Server 2016, System Center 2016 e OMSFabio Hara
 
Fim do Suporte do Windows Server 2008 e SQL Server 2008
Fim do Suporte do Windows Server 2008 e SQL Server 2008Fim do Suporte do Windows Server 2008 e SQL Server 2008
Fim do Suporte do Windows Server 2008 e SQL Server 2008Fabio Hara
 
Azure infrastructure as a service overview
Azure infrastructure as a service overviewAzure infrastructure as a service overview
Azure infrastructure as a service overviewFabio Hara
 
Introdução à computação na nuvem e Windows Azure
Introdução à computação na nuvem e Windows AzureIntrodução à computação na nuvem e Windows Azure
Introdução à computação na nuvem e Windows AzureGiovanni Bassi
 
Microsoft Azure Fundamentals | Everis - Julho-2021
Microsoft Azure Fundamentals | Everis - Julho-2021Microsoft Azure Fundamentals | Everis - Julho-2021
Microsoft Azure Fundamentals | Everis - Julho-2021Renato Groffe
 
Windows azure overview for it pros
Windows azure overview for it prosWindows azure overview for it pros
Windows azure overview for it prosCDS
 
AD na nuvem, mito ou verdade?
AD na nuvem, mito ou verdade?AD na nuvem, mito ou verdade?
AD na nuvem, mito ou verdade?Sara Barbosa
 
Microsoft Azure Advisor
Microsoft Azure AdvisorMicrosoft Azure Advisor
Microsoft Azure AdvisorFabio Hara
 
5 razões para conhecer o Microsoft Azure...
5 razões para conhecer o Microsoft Azure...5 razões para conhecer o Microsoft Azure...
5 razões para conhecer o Microsoft Azure...Sara Barbosa
 
Azure DevTest Labs
Azure DevTest LabsAzure DevTest Labs
Azure DevTest LabsFabio Hara
 
Microservices - ALM Roadshow 2015
Microservices - ALM Roadshow 2015Microservices - ALM Roadshow 2015
Microservices - ALM Roadshow 2015Renato Groff
 
Conta gratuita do Azure
Conta gratuita do AzureConta gratuita do Azure
Conta gratuita do AzureFabio Hara
 
Oracle - Visão Geral de IaaS e PaaS dos serviços de Nuvem da Oracle
Oracle - Visão Geral de IaaS e PaaS dos serviços de Nuvem da OracleOracle - Visão Geral de IaaS e PaaS dos serviços de Nuvem da Oracle
Oracle - Visão Geral de IaaS e PaaS dos serviços de Nuvem da OracleLuciano Condé
 
Azure Stack | Visão Geral
Azure Stack | Visão GeralAzure Stack | Visão Geral
Azure Stack | Visão GeralFabio Hara
 

Mais procurados (20)

Windows Azure Pack - Visão Geral
Windows Azure Pack - Visão GeralWindows Azure Pack - Visão Geral
Windows Azure Pack - Visão Geral
 
Controlando cargas de trabalho com o resource governor no SQL Server 2014
Controlando cargas de trabalho com o resource governor no SQL Server 2014Controlando cargas de trabalho com o resource governor no SQL Server 2014
Controlando cargas de trabalho com o resource governor no SQL Server 2014
 
Reduza seu trabalho de gerenciamento do kubernetes tdc 2018 poa
Reduza seu trabalho de gerenciamento do kubernetes   tdc 2018 poaReduza seu trabalho de gerenciamento do kubernetes   tdc 2018 poa
Reduza seu trabalho de gerenciamento do kubernetes tdc 2018 poa
 
Ms & sap
Ms & sapMs & sap
Ms & sap
 
Windows Server 2016, System Center 2016 e OMS
Windows Server 2016, System Center 2016 e OMSWindows Server 2016, System Center 2016 e OMS
Windows Server 2016, System Center 2016 e OMS
 
Fim do Suporte do Windows Server 2008 e SQL Server 2008
Fim do Suporte do Windows Server 2008 e SQL Server 2008Fim do Suporte do Windows Server 2008 e SQL Server 2008
Fim do Suporte do Windows Server 2008 e SQL Server 2008
 
Azure infrastructure as a service overview
Azure infrastructure as a service overviewAzure infrastructure as a service overview
Azure infrastructure as a service overview
 
Introdução à computação na nuvem e Windows Azure
Introdução à computação na nuvem e Windows AzureIntrodução à computação na nuvem e Windows Azure
Introdução à computação na nuvem e Windows Azure
 
Microsoft Azure Fundamentals | Everis - Julho-2021
Microsoft Azure Fundamentals | Everis - Julho-2021Microsoft Azure Fundamentals | Everis - Julho-2021
Microsoft Azure Fundamentals | Everis - Julho-2021
 
Windows azure overview for it pros
Windows azure overview for it prosWindows azure overview for it pros
Windows azure overview for it pros
 
AD na nuvem, mito ou verdade?
AD na nuvem, mito ou verdade?AD na nuvem, mito ou verdade?
AD na nuvem, mito ou verdade?
 
Microsoft Azure Advisor
Microsoft Azure AdvisorMicrosoft Azure Advisor
Microsoft Azure Advisor
 
5 razões para conhecer o Microsoft Azure...
5 razões para conhecer o Microsoft Azure...5 razões para conhecer o Microsoft Azure...
5 razões para conhecer o Microsoft Azure...
 
Azure DevTest Labs
Azure DevTest LabsAzure DevTest Labs
Azure DevTest Labs
 
Microservices - ALM Roadshow 2015
Microservices - ALM Roadshow 2015Microservices - ALM Roadshow 2015
Microservices - ALM Roadshow 2015
 
Microsoft SQL 2014
Microsoft SQL 2014Microsoft SQL 2014
Microsoft SQL 2014
 
Conta gratuita do Azure
Conta gratuita do AzureConta gratuita do Azure
Conta gratuita do Azure
 
Oracle - Visão Geral de IaaS e PaaS dos serviços de Nuvem da Oracle
Oracle - Visão Geral de IaaS e PaaS dos serviços de Nuvem da OracleOracle - Visão Geral de IaaS e PaaS dos serviços de Nuvem da Oracle
Oracle - Visão Geral de IaaS e PaaS dos serviços de Nuvem da Oracle
 
Azure @ Rio Cloud Meetup
Azure @ Rio Cloud MeetupAzure @ Rio Cloud Meetup
Azure @ Rio Cloud Meetup
 
Azure Stack | Visão Geral
Azure Stack | Visão GeralAzure Stack | Visão Geral
Azure Stack | Visão Geral
 

Destaque

Sql saturday #570 - Padrões de Aplicações para o Azure SQL Database
Sql saturday #570 - Padrões de Aplicações para o Azure SQL DatabaseSql saturday #570 - Padrões de Aplicações para o Azure SQL Database
Sql saturday #570 - Padrões de Aplicações para o Azure SQL DatabaseRoberto Fonseca
 
Embedding ORCID across researcher career paths
Embedding ORCID across researcher career pathsEmbedding ORCID across researcher career paths
Embedding ORCID across researcher career pathsORCID, Inc
 
CEOlab Institucional Abril de 2016
CEOlab Institucional Abril de 2016CEOlab Institucional Abril de 2016
CEOlab Institucional Abril de 2016CEOlab
 
Predicting Customer Long Term Value at Eni Belgium
Predicting Customer Long Term Value at Eni BelgiumPredicting Customer Long Term Value at Eni Belgium
Predicting Customer Long Term Value at Eni BelgiumPython Predictions
 
Novidades do Sql Server 2016
Novidades do Sql Server 2016Novidades do Sql Server 2016
Novidades do Sql Server 2016Roberto Fonseca
 
Ulster Bank NI PMI Slide Pack February 2017
Ulster Bank NI PMI Slide Pack February 2017Ulster Bank NI PMI Slide Pack February 2017
Ulster Bank NI PMI Slide Pack February 2017Richard Ramsey
 
Software operability and run book collaboration - DevOps Summit, Amsterdam
Software operability and run book collaboration - DevOps Summit, AmsterdamSoftware operability and run book collaboration - DevOps Summit, Amsterdam
Software operability and run book collaboration - DevOps Summit, AmsterdamMatthew Skelton
 
Zelforganisatie en high performance teams presentatie Hiswa 2015
Zelforganisatie en high performance teams presentatie Hiswa 2015Zelforganisatie en high performance teams presentatie Hiswa 2015
Zelforganisatie en high performance teams presentatie Hiswa 2015Frank Willems
 
Stream processing using Apache Storm - Big Data Meetup Athens 2016
Stream processing using Apache Storm - Big Data Meetup Athens 2016Stream processing using Apache Storm - Big Data Meetup Athens 2016
Stream processing using Apache Storm - Big Data Meetup Athens 2016Adrianos Dadis
 
Stateless Hypervisors at Scale
Stateless Hypervisors at ScaleStateless Hypervisors at Scale
Stateless Hypervisors at ScaleAntony Messerl
 
HockeyApp: A plataforma para seus apps
HockeyApp: A plataforma para seus appsHockeyApp: A plataforma para seus apps
HockeyApp: A plataforma para seus appsWennder Santos
 
Learning & Teaching GCSE Mathematics
Learning & Teaching GCSE MathematicsLearning & Teaching GCSE Mathematics
Learning & Teaching GCSE MathematicsColleen Young
 
Mini-Curso: Introdução à Big Data e Data Science - Aula 12 - Sessão de pergun...
Mini-Curso: Introdução à Big Data e Data Science - Aula 12 - Sessão de pergun...Mini-Curso: Introdução à Big Data e Data Science - Aula 12 - Sessão de pergun...
Mini-Curso: Introdução à Big Data e Data Science - Aula 12 - Sessão de pergun...Diego Nogare
 
Beachhead implements new opcode on CLR JIT
Beachhead implements new opcode on CLR JITBeachhead implements new opcode on CLR JIT
Beachhead implements new opcode on CLR JITKouji Matsui
 
Guia arduino iniciante multilogica ARDUINO
Guia arduino iniciante multilogica ARDUINOGuia arduino iniciante multilogica ARDUINO
Guia arduino iniciante multilogica ARDUINOChellton Almeida
 
Aprendendo a programar em arduino
Aprendendo a programar em arduinoAprendendo a programar em arduino
Aprendendo a programar em arduinoChellton Almeida
 
Princípios e Práticas de Programação com C++
Princípios e Práticas de Programação com C++Princípios e Práticas de Programação com C++
Princípios e Práticas de Programação com C++Grupo A
 

Destaque (20)

Sql saturday #570 - Padrões de Aplicações para o Azure SQL Database
Sql saturday #570 - Padrões de Aplicações para o Azure SQL DatabaseSql saturday #570 - Padrões de Aplicações para o Azure SQL Database
Sql saturday #570 - Padrões de Aplicações para o Azure SQL Database
 
Embedding ORCID across researcher career paths
Embedding ORCID across researcher career pathsEmbedding ORCID across researcher career paths
Embedding ORCID across researcher career paths
 
CEOlab Institucional Abril de 2016
CEOlab Institucional Abril de 2016CEOlab Institucional Abril de 2016
CEOlab Institucional Abril de 2016
 
Predicting Customer Long Term Value at Eni Belgium
Predicting Customer Long Term Value at Eni BelgiumPredicting Customer Long Term Value at Eni Belgium
Predicting Customer Long Term Value at Eni Belgium
 
Apostila C++
Apostila C++ Apostila C++
Apostila C++
 
Novidades do Sql Server 2016
Novidades do Sql Server 2016Novidades do Sql Server 2016
Novidades do Sql Server 2016
 
Ulster Bank NI PMI Slide Pack February 2017
Ulster Bank NI PMI Slide Pack February 2017Ulster Bank NI PMI Slide Pack February 2017
Ulster Bank NI PMI Slide Pack February 2017
 
Software operability and run book collaboration - DevOps Summit, Amsterdam
Software operability and run book collaboration - DevOps Summit, AmsterdamSoftware operability and run book collaboration - DevOps Summit, Amsterdam
Software operability and run book collaboration - DevOps Summit, Amsterdam
 
Zelforganisatie en high performance teams presentatie Hiswa 2015
Zelforganisatie en high performance teams presentatie Hiswa 2015Zelforganisatie en high performance teams presentatie Hiswa 2015
Zelforganisatie en high performance teams presentatie Hiswa 2015
 
Stream processing using Apache Storm - Big Data Meetup Athens 2016
Stream processing using Apache Storm - Big Data Meetup Athens 2016Stream processing using Apache Storm - Big Data Meetup Athens 2016
Stream processing using Apache Storm - Big Data Meetup Athens 2016
 
Stateless Hypervisors at Scale
Stateless Hypervisors at ScaleStateless Hypervisors at Scale
Stateless Hypervisors at Scale
 
HockeyApp: A plataforma para seus apps
HockeyApp: A plataforma para seus appsHockeyApp: A plataforma para seus apps
HockeyApp: A plataforma para seus apps
 
Learning & Teaching GCSE Mathematics
Learning & Teaching GCSE MathematicsLearning & Teaching GCSE Mathematics
Learning & Teaching GCSE Mathematics
 
Mini-Curso: Introdução à Big Data e Data Science - Aula 12 - Sessão de pergun...
Mini-Curso: Introdução à Big Data e Data Science - Aula 12 - Sessão de pergun...Mini-Curso: Introdução à Big Data e Data Science - Aula 12 - Sessão de pergun...
Mini-Curso: Introdução à Big Data e Data Science - Aula 12 - Sessão de pergun...
 
Firewall
FirewallFirewall
Firewall
 
Beachhead implements new opcode on CLR JIT
Beachhead implements new opcode on CLR JITBeachhead implements new opcode on CLR JIT
Beachhead implements new opcode on CLR JIT
 
Apostila de dev
Apostila de devApostila de dev
Apostila de dev
 
Guia arduino iniciante multilogica ARDUINO
Guia arduino iniciante multilogica ARDUINOGuia arduino iniciante multilogica ARDUINO
Guia arduino iniciante multilogica ARDUINO
 
Aprendendo a programar em arduino
Aprendendo a programar em arduinoAprendendo a programar em arduino
Aprendendo a programar em arduino
 
Princípios e Práticas de Programação com C++
Princípios e Práticas de Programação com C++Princípios e Práticas de Programação com C++
Princípios e Práticas de Programação com C++
 

Semelhante a Sql server 2016 discovery day

Seguranca e Criptografia de Dados
Seguranca e Criptografia de DadosSeguranca e Criptografia de Dados
Seguranca e Criptografia de DadosFelipe Plattek
 
Mvp show cast - Defesa em profundidade: Veja como as tecnologias microsoft po...
Mvp show cast - Defesa em profundidade: Veja como as tecnologias microsoft po...Mvp show cast - Defesa em profundidade: Veja como as tecnologias microsoft po...
Mvp show cast - Defesa em profundidade: Veja como as tecnologias microsoft po...Rodrigo Immaginario
 
Artigo Cloud Computing
Artigo Cloud ComputingArtigo Cloud Computing
Artigo Cloud ComputingRicardo Peres
 
Segurança no desenvolvimento web
Segurança no desenvolvimento webSegurança no desenvolvimento web
Segurança no desenvolvimento webRafael Monteiro
 
Global Azure Bootcamp - Recursos de Segurança para Aplicações no Azure
Global Azure Bootcamp - Recursos de Segurança para Aplicações no AzureGlobal Azure Bootcamp - Recursos de Segurança para Aplicações no Azure
Global Azure Bootcamp - Recursos de Segurança para Aplicações no AzureRubens Guimarães - MTAC MVP
 
Controle de Acesso ao Datacenter
Controle de Acesso ao DatacenterControle de Acesso ao Datacenter
Controle de Acesso ao DatacenterNetBR
 
Melhoramentos de Segurança no Windows 7 e Internet Explorer 8
Melhoramentos de Segurança no Windows 7 e Internet Explorer 8Melhoramentos de Segurança no Windows 7 e Internet Explorer 8
Melhoramentos de Segurança no Windows 7 e Internet Explorer 8Rodrigo Immaginario
 
Tech segurança na nuvem
Tech   segurança na nuvemTech   segurança na nuvem
Tech segurança na nuvemCarlos Goldani
 
Aula 03 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
Aula 03 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...Aula 03 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
Aula 03 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...Alcyon Ferreira de Souza Junior, MSc
 
IBTA - Oracle Database Security
IBTA - Oracle Database SecurityIBTA - Oracle Database Security
IBTA - Oracle Database SecurityRodrigo Almeida
 
Banco de Dados II: Aspectos de Segurança em Banco de Dados (aula 13)
Banco de Dados II: Aspectos de Segurança em Banco de Dados (aula 13)Banco de Dados II: Aspectos de Segurança em Banco de Dados (aula 13)
Banco de Dados II: Aspectos de Segurança em Banco de Dados (aula 13)Gustavo Zimmermann
 
Auditoria de banco_de_dados_sql_server_em_conformidade_com_a_sox
Auditoria de banco_de_dados_sql_server_em_conformidade_com_a_soxAuditoria de banco_de_dados_sql_server_em_conformidade_com_a_sox
Auditoria de banco_de_dados_sql_server_em_conformidade_com_a_soxSQLServerRS
 
Segurança em Banco de Dados
Segurança em Banco de DadosSegurança em Banco de Dados
Segurança em Banco de DadosIorgama Porcely
 
Aula 4 - Sistemas Gerenciadores de Banco de Dados
Aula 4 - Sistemas Gerenciadores de Banco de DadosAula 4 - Sistemas Gerenciadores de Banco de Dados
Aula 4 - Sistemas Gerenciadores de Banco de DadosVitor Hugo Melo Araújo
 

Semelhante a Sql server 2016 discovery day (20)

Seguranca e Criptografia de Dados
Seguranca e Criptografia de DadosSeguranca e Criptografia de Dados
Seguranca e Criptografia de Dados
 
Mvp show cast - Defesa em profundidade: Veja como as tecnologias microsoft po...
Mvp show cast - Defesa em profundidade: Veja como as tecnologias microsoft po...Mvp show cast - Defesa em profundidade: Veja como as tecnologias microsoft po...
Mvp show cast - Defesa em profundidade: Veja como as tecnologias microsoft po...
 
Smartcrypt 2017-v10
Smartcrypt 2017-v10Smartcrypt 2017-v10
Smartcrypt 2017-v10
 
Artigo Cloud Computing
Artigo Cloud ComputingArtigo Cloud Computing
Artigo Cloud Computing
 
Bd rel
Bd relBd rel
Bd rel
 
Database - Attack & Protect
Database - Attack & ProtectDatabase - Attack & Protect
Database - Attack & Protect
 
Segurança no desenvolvimento web
Segurança no desenvolvimento webSegurança no desenvolvimento web
Segurança no desenvolvimento web
 
Global Azure Bootcamp - Recursos de Segurança para Aplicações no Azure
Global Azure Bootcamp - Recursos de Segurança para Aplicações no AzureGlobal Azure Bootcamp - Recursos de Segurança para Aplicações no Azure
Global Azure Bootcamp - Recursos de Segurança para Aplicações no Azure
 
Controle de Acesso ao Datacenter
Controle de Acesso ao DatacenterControle de Acesso ao Datacenter
Controle de Acesso ao Datacenter
 
Melhoramentos de Segurança no Windows 7 e Internet Explorer 8
Melhoramentos de Segurança no Windows 7 e Internet Explorer 8Melhoramentos de Segurança no Windows 7 e Internet Explorer 8
Melhoramentos de Segurança no Windows 7 e Internet Explorer 8
 
ORACLE ADVANCED SECURITY
ORACLE ADVANCED SECURITYORACLE ADVANCED SECURITY
ORACLE ADVANCED SECURITY
 
Tech segurança na nuvem
Tech   segurança na nuvemTech   segurança na nuvem
Tech segurança na nuvem
 
Aula 03 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
Aula 03 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...Aula 03 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
Aula 03 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
 
Java security
Java securityJava security
Java security
 
IBTA - Oracle Database Security
IBTA - Oracle Database SecurityIBTA - Oracle Database Security
IBTA - Oracle Database Security
 
Banco de Dados II: Aspectos de Segurança em Banco de Dados (aula 13)
Banco de Dados II: Aspectos de Segurança em Banco de Dados (aula 13)Banco de Dados II: Aspectos de Segurança em Banco de Dados (aula 13)
Banco de Dados II: Aspectos de Segurança em Banco de Dados (aula 13)
 
Auditoria de banco_de_dados_sql_server_em_conformidade_com_a_sox
Auditoria de banco_de_dados_sql_server_em_conformidade_com_a_soxAuditoria de banco_de_dados_sql_server_em_conformidade_com_a_sox
Auditoria de banco_de_dados_sql_server_em_conformidade_com_a_sox
 
Segurança em Banco de Dados
Segurança em Banco de DadosSegurança em Banco de Dados
Segurança em Banco de Dados
 
Segurança na Nuvem
Segurança na NuvemSegurança na Nuvem
Segurança na Nuvem
 
Aula 4 - Sistemas Gerenciadores de Banco de Dados
Aula 4 - Sistemas Gerenciadores de Banco de DadosAula 4 - Sistemas Gerenciadores de Banco de Dados
Aula 4 - Sistemas Gerenciadores de Banco de Dados
 

Sql server 2016 discovery day

  • 1. SQL Server 2016 New innovations
  • 3. Há uma oportunidade de tomar melhores decisões com uma infinidade de dados. A explosão de fontes de dados... …leva a uma explosão de dados… …e que leva faz com que os negócios aprendam mais desses dados 2013-2020 CAGR = 41% 25B 4.0B1.3B 2010 2013 2020 Source: Forecast: Internet of Things, Endpoints and Associated Services, Worldwide, 2014. Gartner. Oct 20 2014 Source: IDC “Digital Universe”, Dec. 2012
  • 5. Performance Segurança Availability Scalability Operational analytics Insights on operational data; works with in-memory OLTP and disk-based OLTP In-memory OLTP enhancements Greater T-SQL surface area, terabytes of memory supported, and greater number of parallel CPUs Query data store Monitor and optimize query plans Native JSON Expanded support for JSON data Temporal database support Query data as points in time Always encrypted Dados sensíveis sempre criptografados e ainda assim permitindo queries Row-level security Controle de acesso apurado aos dados armazenados Dynamic data masking Ofuscamento de dados para prevenção de acesso não autorizado Other enhancements Operações de auditoria Suporte a TDE para tabelas In- Memory OLTP Habilidade de auditoria com rastreamento de alterações de dados (Temporal Tables) Enhanced AlwaysOn Three synchronous replicas for automatic failover across domains Round-robin load balancing of replicas Automatic failover based on database health DTC for transactional integrity across database instances with AlwaysOn Support for SSIS with AlwaysOn Enhanced database caching Cache data with automatic, multiple TempDB files per instance in multicore environments Performance de Missão Crítica
  • 6. Always Encrypted SQL Server 2016 SQL Database
  • 7. Impede a divulgação de dados Criptografia Client-side de dados sensíveis usando chaves que NUNCA são compatilhadas com o DB Queries em dados criptografados Suporte a comparação de igualdade, incluindo joins, group by e distinct. Transparente para Aplicação Mudanças mínimas na aplicação através de melhorias apenas na biblioteca de acesso a dados Permite aos clientes armazenarem dados sensíveis em ambiente fora do seu controle. Dados mantidos protegidos, mesmo para usuários com privilégio avançado (sysadmins) mas que não devem ver esses dados Always Encrypted Security
  • 8. Randomized Encrypt('123-45-6789') = 0x17cfd50a Repeat: Encrypt('123-45-6789') = 0x9b1fcf32 - Permite visibilidade transparente para aplicação mas NÃO PERMITE busca - Segurança avançada Deterministic Encrypt('123-45-6789') = 0x85a55d3f Repeat: Encrypt('123-45-6789') = 0x85a55d3f - Permite visibilidade transparente para aplicação E busca Exemplo: Em cláusulas WHERE e joins, distinct, group by Dois tipos de criptografia Criptografia randomizada usa métodos que criptografam dados de forma randomizada, onde o mesmo dado de entrada possui valores criptografados diferentes Criptografia Deterministica usa métodos que sempre geram o mesmo valor criptografado para o mesmo dado de entrada Tipos de criptografia - Always Encrypted Security
  • 9. Como Funciona Protege dados armazenados e em movimento, tanto em ambiente on- premises quanto na nuvem SQL Server ou SQL Database ADO .NET 4.6 Nome João da Silva Nome 0x19ca706fbd9a Result SetResult Set Client Nome CPF Pais 0x19ca706fbd9a 0x7ff654ae6d Brasil dbo.Clientes criptografado "SELECT Name FROM Customers WHERE SSN = @SSN", 0x7ff654ae6d Criptografado "SELECT Nome FROM Clientes WHERE CPF = @CPF", “12345678900" Dados criptografados nunca são expostos em texto plano no SQL Server Limite de Confiança Security
  • 10. DEMO
  • 11. Row-level security SQL Server 2016 SQL Database
  • 12. Acesso controlado apenas as linhas definidas na tabela Previne o acesso não autorizado aos dados quando multiplos usuários compartilham as mesmas tabelas ou em aplicações multitenant (Multiplos clientes) Administrador via SSMS ou SSDT Lógica é garantida dentro da base de dados Protegendo a privacidade dos dados garantindo o acesso correto somente aos registros permitidos SQL Database Usuário 1 Usuário 2 Usuário 3 A necessidade da segurança em nível de linha Security
  • 13. CREATE SECURITY POLICY mySecurityPolicy ADD FILTER PREDICATE dbo.fn_securitypredicate(wing, startTime, endTime) ON dbo.patients Predicate function Função definida pelo usuário (inline table-valued function iTVF) implementa a lógica de segurança Pode conter lógica complexa e joins com outras tabelas Security predicate Interliga a predicate function à uma tabela, aplicando a lógica de segurança em todas as queries Dois tipos: Predicados de filtro e predicados de bloqueio Security policy Coleção de predicados de segurança para gerenciamento RLS conceitos Security
  • 14. Two App user (e.g., nurse) selects from Patients table Three Security Policy transparently rewrites query to apply filter predicate Database Policy Manager 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 Nurse 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; RLS em três etapas Security
  • 15. Usos recomendados de RLS RLS padrão Lógica de negócio customizada para determiner quais linhas cada usuário pode consultar baseado em uma regra, departamento ou nível de segurança Bases Multitenant (Multiplos Inquilinos) Garantir que os clientes (inquilinos) podem acessar apenas os seus registros em uma base compartilhada, tendo a lógica de acesso determinada pelo database e não pela aplicação For example: Aplicações multiempresa Reporting, analytics e data warehousing Diferentes usuários podem acessar o mesmo database através de várias ferramentas, e visualizer apenas os registros permitidos baseado em uma lógica de segurança aplicada ao usuário/regra Security
  • 16. DEMO
  • 17. Dynamic data masking SQL Server 2016 SQL Database
  • 18. Configuração simplificada no portal Azure Política criada em nível de coluna para determinados usuários Data masking aplicado nos dados em tempo real baseado na política de mascaramento Multiplas funções de mascaramento disponíveis (mascaramento total ou parcial do dado) para várias categorias de dados sensíveis (CC, CPF, Email, Salário, etc.) SQL Database SQL Server 2016 Tabela.CartaoCredito 4465-6571-7868-5796 4468-7746-3848-1978 4484-5434-6858-6550 Real-time data masking; partial masking Dynamic data masking Previne o abuso de dados sensíveis ocultando os dados reais dos usuários Security
  • 19. Conformidade regulatória Proteção de dados sensíveis Agilidade e transparência Dados são mascarados em real- time. Os dados no database continuam intactos. Transparente para a aplicação e respeitando o direito definido para o usuário Limita o acesso a dados sensíveis através de políticas de mascaramento de dados, sem afetar a integridade do database. Benefícios do uso de data masking Security
  • 20. Como funciona? 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 1) Área de segurança define a política de mascaramento para as tabelas e colunas desejadas2) Um usuário da Aplicação consulta a tabela3) A política de data masking é aplicada dependendo do usuário que está consultando os dados SELECT [Name], [SocialSecurityNumber], [Email], [Salary] FROM [Employee] Security
  • 21. DEMO