Dynamic-Data-Masking

Die neue Funktion des SQL-Server 2016 erlaubt Ihnen das verschleiern von Daten!
Was hat es damit auf sich und wie wird das umgesetzt, zeige ich im nachfolgenden Video!

Sie werden sich sicherlich fragen, wozu das Ganze überhaupt! Nun, die Erklärung ist relativ einfach! Bei der Funktion „Dynamic Masked“, werden Daten in „Echtzeit“ auf der Anwendungsschicht verschleiert, ohne auf Datenbank-Ebene verschlüsselt zu werden! Stellen Sie sich z.B. eine Personal-Tabelle mit Gehaltsinformationen vor! Oder Kreditkartendateninformationen von Kunden müssen gegen unbefugte Zugriffe geschützt werden.

Diese Maskierung hilft Ihnen mit relativ wenig Aufwand die Daten nur Personen zu zeigen, die auch die Berechtigung dazu haben.
Schauen Sie sich das Video an und Sie werden sehen, wie einfach es sein kann, sensible Daten zu schützen.

PS: Müssen Daten „Dauerhaft“ gegen unbefugte Dritte gesichert werden, ist die Funktion „Dynamic-Data-Masking“ NICHT das richtige Werkzeug! Sie benötigen dazu das „Verschlüsseln von Daten“.

--Erstellen der Tabelle
Create Table dbo.tblPersonal
(
PersonalNr int,
Vorname varchar(255),
Nachname varchar(255) MASKED WITH (FUNCTION = 'default()'),
Gehalt decimal(15,2) MASKED WITH (FUNCTION = 'random(1,5000)')
)
--Inhalt einfügen
INSERT INTO dbo.tblPersonal (PersonalNr, Vorname, Nachname, Gehalt)
VALUES (100, 'Karin','Mueller',1500), (105, 'Martin','Mustermann',1350)

--Benutzer anlegen und Leseberechtigung geben
Create USER User1 WITHOUT LOGIN;
Grant Select on dbo.tblPersonal TO User1;

--Ausführung der Abfrage des erstellten Benutzers
EXECUTE AS USER = 'User1'
Select * from dbo.tblPersonal

--Ursprüngliche Anmeldung wiederherstellen
REVERT;

--An Tabelle Spalte anfügen und dynamische Mask erstellen
ALTER TABLE dbo.tblPersonal
ALTER COLUMN Vorname ADD MASKED WITH (FUNCTION = 'partial(1,"@@@@@",5)')

--Dynamische Maskierung entfernen
ALTER TABLE dbo.tblPersonal
ALTER COLUMN Vorname DROP MASKED;
Facebook
Twitter
LinkedIn
WhatsApp
Email