Boris Hristov, SQL Server MVP Securing SQL Azure DB? Boris Hristov, SQL Server MVP
Organizer 13.06.2015 SQLSaturday Rheinland 2015
Bronze Sponsor 13.06.2015 SQLSaturday Rheinland 2015
Silver Sponsor 13.06.2015 SQLSaturday Rheinland 2015
Gold Sponsor 13.06.2015 SQLSaturday Rheinland 2015
You rock! 13.06.2015 SQLSaturday Rheinland 2015
That’s not a marketing talk! DISCLAIMER: That’s not a marketing talk!
So who is this guy Boris? @BorisHristov
Session’s Timeline coolness Dynamic Data Masking Row Level Security
Dynamic Data Masking
“Have you ever…”
SELECT * FROM dbo.Customers custid FirstName LastName PhoneNumber EmailAddress CreditcardNumber 1 Boris Hristov +359889000000 brshristov@live.com 1111-1111-1111-1111 2 Ivan Donev idonev@live.com 2222-2222-2222-2222 3 Stanislav Zhelyaskov szhelyaskov@live.com 3333-3333-3333-3333 4 Minchev iminchev@live.com 4444-4444-4444-4444
SELECT * FROM dbo.Customers custid FirstName LastName PhoneNumber EmailAddress CreditcardNumber 1 Boris Hristov +359889000000 bxx@xxxx.com xxxx-xxxx-xxxx-1111 2 Ivan Donev ixxx@xxxx.com xxxx-xxxx-xxxx-2222 3 Stanislav Zhelyaskov sxx@xxxx.com xxxx-xxxx-xxxx-3333 4 Minchev ixx@live.com xxxx-xxxx-xxxx-4444
Dynamic Data Masking
DEMO Dynamic Data Masking
Row Level Security
“Have you ever…”
SELECT * FROM dbo.Orders orderid custid orderdate shipdate shipcountry 1 4/20/2015 20:15:49 Bulgaria 2 Germany 3 4 5
SELECT * FROM dbo.Orders orderid custid orderdate shipdate shipcountry 1 4/20/2015 20:15:49 Bulgaria 4 2 5 3
How is that possible?
No GUI, folks -- user defined function CREATE FUNCTION Security.fn_securitypredicate (@SalesRep AS sysname) RETURNS TABLE WITH SCHEMABINDING AS RETURN SELECT 1 AS fn_securitypredicate_result WHERE @SalesRep = USER_NAME() OR USER_NAME() = 'Manager'; -- security policy CREATE SECURITY POLICY SalesFilter ADD FILTER PREDICATE Security.fn_securitypredicate(SalesRep) ON dbo.Sales WITH (STATE = ON);
DEMO Row Level Security
Cool, huh?
Not that fast…
Session’s Timeline coolness Dynamic Data Masking Row Level Security
DEMO Row Level Security Issues
So is that a security feature then?
Or is that a programmability feature?
Summary There’s a lot going on in SQL Azure DB Easily mask sensitive data with Dynamic Data Masking Limit the rows users can see with Row Level Security Be aware of the current issues of RLS
Save the date! 13.06.2015 SQLSaturday Rheinland 2015
Thank you! Contacts: brshristov@live.com www.borishristov.com