SQL Server 2016 Security Features Marek Chmel Microsoft MVP: Data Platform Microsoft MCT: Regional Lead MCSE: Data Platform Certified Ethical Hacker.

Slides:



Advertisements
Similar presentations
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 5 More SQL: Complex Queries, Triggers, Views, and Schema Modification.
Advertisements

Chapter 23 Database Security and Authorization Copyright © 2004 Pearson Education, Inc.
Database Management System
Overview and Roadmap for Microsoft SQL Server Security
یا ذالامن و الامان. Virtual Private Database Mohammad Amin Sabbaghian.
Database Security and Auditing: Protecting Data Integrity and Accessibility Chapter 4 Profiles, Password Policies, Privileges, and Roles.
Database Systems More SQL Database Design -- More SQL1.
ORACLE DATABASE SECURITY
Database Security and Auditing: Protecting Data Integrity and Accessibility Chapter 6 Virtual Private Databases.
Security and Integrity
Membership in ASP.Net...if only Presented by: Patrick Hynds President, CriticalSites Microsoft Regional Director.
By Lecturer / Aisha Dawood 1.  Administering Users  Create and manage database user accounts.  Create and manage roles.  Grant and revoke privileges.
Database Security and Auditing: Protecting Data Integrity and Accessibility Chapter 6 Virtual Private Databases.
CSIS 4310 – Advanced Databases Virtual Private Databases.
HAP 709 – Healthcare Databases SQL Data Manipulation Language (DML) Updated Fall, 2009.
Database Security and Auditing: Protecting Data Integrity and Accessibility Chapter 4 Profiles, Password Policies, Privileges, and Roles.
Tom Castiglia Hershey Technologies
SEC835 Practical aspects of security implementation Part 1.
Security David Frommer Principal Architect Business Intelligence Microsoft Partner of the Year 2005 & 2007.
Executive Invitation – Oracle Data Finder Service Oracle Corporation.
Database Systems Design, Implementation, and Management Coronel | Morris 11e ©2015 Cengage Learning. All Rights Reserved. May not be scanned, copied or.
SharePoint enhancements through SQL Server RSS integration with SharePoint What’s New Elimination of IIS
Database Security. Multi-user database systems like Oracle include security to control how the database is accessed and used for example security Mechanisms:
Mission critical features in SQL 2016 David Lyth Pat Martin Premier Field Engineers, Microsoft New Zealand.
Cloud first Speed Agility Proven Feedback All of this results in a better on-premises SQL Server SQL Server 2016.
Database Security Cmpe 226 Fall 2015 By Akanksha Jain Jerry Mengyuan Zheng.
Kristina Rumpff Securing Data on your Terms DAT33 1.
Chapter 5 : Integrity And Security  Domain Constraints  Referential Integrity  Security  Triggers  Authorization  Authorization in SQL  Views 
Chapter 6 Virtual Private Databases
SQL Introduction to database and SQL. Chapter 1: Databases and Database Users 6 Introduction to Databases Databases touch all aspects of our lives. Examples:
SQLintersection Session: Tuesday, 12:00-1:00pm NEW SECURITY FEATURES IN SQL SERVER 2016 & AZURE SQL DB Aaron Bertrand
SQL Server 2016 New Innovations. Microsoft Data Platform Relational Beyond Relational On-premises Cloud Comprehensiv e Connected Choice SQL Server Azure.
Introduction to Core Database Concepts Getting started with Databases and Structure Query Language (SQL)
#SQLSAT454 SQL Server 2016 New Security Features Gianluca
SQL Triggers, Functions & Stored Procedures Programming Operations.
SQL SATURDAY #444 – Kansas City, MO. A LOOK AT ALWAYS ENCRYPTED SQL SATURDAY #444 – KANSAS CITY, MO DAVE WALDEN PRINCIPAL SOLUTIONS ARCHITECT DB BEST.
Overview of Security Investments in SQL Server 2016 and Azure SQL Database Jamey Johnston 1/15/2016Security Investments in SQL Server 2016 and Azure SQL.
Securing Data on your Terms Kristina Rumpff SQL Saturday #464, Melbourne 20 th February 2016.
Azure SQL Database Lori Clark SQL Saturday 10/17/2015.
Warwick Rudd | Principal Consultant – consulting.com.au #456 | Auckland 2015 Mission Critical SQL Server.
SQL Server 2016 Mohit K. Gupta | Microsoft SQL Server PFE.
In this session, you will learn to: Create and manage views Implement a full-text search Implement batches Objectives.
Views / Session 3/ 1 of 40 Session 3 Module 5: Implementing Views Module 6: Managing Views.
Session Name Pelin ATICI SQL Premier Field Engineer.
SQL Organizational Security & Compliance George Walters Senior Technology Solutions Professional Data Platform
Customer pulse Why Stretch? How Stretch works? Core Stretch scenarios Demo QA.
HDC: SQL Server 2016 New Features & Demos. Phil Brammer
Data Security with Power BI, SSAS, SQL Server 2016 and Active Directory June 10, 2017.
Azure SQL Database Updates
SQL Server 2016 Hands-ON Labs: Exploring NEW Security Features
Recommended Practices & Fundamentals
Data Platform and Analytics Foundational Training
Row-Level Security and Dynamic Data Masking overview
Enterprise Row Level Security: SQL Server 2016 and Azure SQL DB
Securing Data with SQL Server 2016
Securing SQL Server 2016 Databases
Database Security and Authorization
Who am I Hector Villafuerte
Encryption in SQL Server
Power BI Security Best Practices
Digital Forensics 2 Lecture 2A: Obfuscation and Synchronization of
Always Encrypted, Data Masking, Row Level Security
Security enhancements in SQL Server 2016
Encrypting Data within SQL Server
Overview of Security Investments
Security Enhancements in SQL Server 2016
Implementing Row Level Security (RLS)
End to End Security and Encryption in SQL Server
SQL Server 2016 Security Features
Presentation transcript:

SQL Server 2016 Security Features Marek Chmel Microsoft MVP: Data Platform Microsoft MCT: Regional Lead MCSE: Data Platform Certified Ethical Hacker

Sponsors

Session Agenda  Dynamic Data Masking  Row Level Security  Always Encrypted  Transparent Data Encryption  Threat Detection  Other Security Enhancements

Dynamic Data Masking

Masking with Minimal Impact on Applications  No need to modify existing application queries  Complimentary to other data protection features

Dynamic Data Masking Walkthrough ALTER TABLE [Employee] ALTER COLUMN [SocialSecurityNumber] ADD MASKED WITH (FUNCTION = ‘SSN()’) 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 SELECT [Name], [SocialSecurityNumber], [ ], [Salary] FROM [Employee] Non -Privileged User Privileged User

Masking types DefaultFull masking according to the data types of the designated field: i.e. String will result in “XXXX” Masking will expose the first letter of an address and will end in “.com” i.e. Custom StringWill expose the first and last letter and adds a custom padding string in the middle. i.e KXXXa RandomFor use only on numeric. Will replace the original value within a specified range.

DEMO Dynamic Data Masking

The need for row-level security Fine-grained access control over specific rows in a database table Help prevent unauthorized access when multiple users share the same tables, or to implement connection filtering in multitenant applications Administer via SQL Server Management Studio or SQL Server Data Tools Enforcement logic inside the database and schema is bound to the table

Benefits of Row-Level Security Store data intended for many consumers in a single database/table while at the same time restricting row-level read and write access based on users’ execution context.

RLS Concepts CREATE SECURITY POLICY mySecurityPolicy ADD FILTER PREDICATE dbo.fn_securitypredicate(wing, startTime, endTime) ON dbo.patients Predicate function User-defined inline table-valued function (iTVF) implementing security logic Can be arbitrarily complicated, containing joins with other tables Security predicate Binds a predicate function to a particular table, applying it for all queries Two types: filter predicates and blocking predicates (coming soon) Security policy Collection of security predicates for managing security across multiple tables

RLS Example Fine-grained access control over rows in a table based on one or more pre-defined filtering criteria, such as user’s role or clearance level in organization  Concepts:  Predicate function  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)

Common RLS use cases Traditional RLS workloads Custom business logic to determine which rows each user can SELECT, INSERT, UPDATE, and DELETE based on their role, department, and security level Target sectors: Finance, insurance, healthcare, energy, and government Multitenant databases Ensuring tenants can only access their own rows of data in a shared database, with enforcement logic in the database rather than in the app tier For example: multitenant shards with elastic database tools in SQL Database Reporting, analytics, and data warehousing Different users access same database through various reporting tools, and work with different subsets of data based on their identity/role

DEMO Row Level Security

The need for Always Encrypted Allows customers to securely store sensitive data outside of their trust boundary. Data remains protected from high-privileged, yet unauthorized users.

How it works Help protect data at rest and in motion, on-premises and in the cloud

Types of encryption for Always Encrypted Two types of encryption available Randomized encryption uses a method that encrypts data in a less predictable manner Deterministic encryption uses a method which always generates the same encrypted value for any given plaintext value Randomized encryption Encrypt(' ') = 0x17cfd50a Repeat: Encrypt(' ') = 0x9b1fcf32 Allows for transparent retrieval of encrypted data but NO operations More secure Deterministic encryption Encrypt(' ') = 0x85a55d3f Repeat: Encrypt(' ') = 0x85a55d3f Allows for transparent retrieval of encrypted data AND equality comparison E.g. in WHERE clauses and joins, distinct, group by

Key provisioning

DEMO Always Encrypted

Support for Transparent Data Encryption  In SQL Server 2016, the storage for memory-optimized tables will be encrypted as part of enabling TDE on the database  Simply follow the same steps as you would for a disk-based database

Considerations for TDE  Key management  Backup  History  Always On  You will need the same encryption key across all db’s in the group  TempDB  The TempDB will be encrypted if any database on the instance is encrypted.

DEMO Transparent Data Encryption

Database Threat Protection  New feature on Azure SQL Database  Works together with auditing  Analyzes audit logs for possible threats  Notifies reactively if it finds an anomaly  Works with any tier of Azure SQL DB  Requires a storage account for audit logs

Evaluation forms  Session evaluation forms  Event evaluation forms