Share via


Implementieren der dynamischen Datenmaske in Synapse Data Warehouse

Gilt für: SQL-Analyseendpunkt und Warehouse in Microsoft Fabric

Die dynamische Datenmaske ist eine modernste Datenschutztechnologie, mit der Organisationen vertrauliche Informationen in ihren Datenbanken schützen können. Es ermöglicht Ihnen, Maskierungsregeln für bestimmte Spalten zu definieren, um sicherzustellen, dass nur autorisierte Benutzer die ursprünglichen Daten sehen, während sie für andere verdeckt werden. Die dynamische Datenformatierung bietet eine zusätzliche Sicherheitsebene, indem die daten, die Benutzern angezeigt werden, basierend auf ihren Zugriffsberechtigungen dynamisch geändert werden.

Weitere Informationen finden Sie unter Dynamic Data Masking in Fabric Data Warehouse.

Voraussetzungen

Bevor Sie beginnen, sollten Sie sicherstellen, dass Folgendes vorhanden ist:

  1. Ein Microsoft Fabric-Arbeitsbereich mit aktiver Kapazität oder Testkapazität
  2. Ein Warehouse.
    1. Die dynamische Datenmaskierung wird im SQL-Analyseendpunkt durchgeführt. Sie können vorhandenen Spalten Masken mithilfe von ALTER TABLE ... ALTER COLUMN hinzufügen, wie weiter unten in diesem Artikel gezeigt.
    2. In dieser Übung wird ein Warehouse verwendet.
  3. Zur Verwaltung muss ein Benutzer mit den Rechten Administrator, Mitglied oder Mitwirkender für den Arbeitsbereich oder mit erweiterten Rechten für das Warehouse ausgestattet sein.
    1. In diesem Lernprogramm wird das "Administratorkonto" verwendet.
  4. Um zu testen, einen Benutzer ohne Administrator-, Mitglieds- oder Mitwirkendenrechte im Arbeitsbereich und ohne erhöhte Berechtigungen für das Warehouse.
    1. In diesem Lernprogramm wird der „Testbenutzer“ verwendet.

1. Verbinden

  1. Öffnen Sie den Fabric-Arbeitsbereich, und navigieren Sie zum Warehouse, auf das Sie dynamische Datenformatierung anwenden möchten.
  2. Melden Sie sich mit einem Konto mit erhöhtem Zugriff auf das Warehouse an, entweder Administrator-/Mitglied/Mitwirkenderrolle im Arbeitsbereich oder Steuerelementberechtigungen für das Warehouse.

2. Konfigurieren der dynamischen Datenmaskierung

  1. Melden Sie sich mit Ihrem Administratorkonto beim Fabric-Portal an.

  2. Navigieren Sie im Fabric-Arbeitsbereich zu Ihrem Warehouse und SQL-Analyseendpunkt für das Lakehouse.

  3. Wählen Sie die Option Neue SQL-Abfrage aus und wählen Sie unter Leer die Option Neue SQL-Abfrage aus.

  4. Definieren Sie in Ihrem SQL-Skript mithilfe der MASKED WITH FUNCTION-Klausel dynamische Datenformatierungsregeln. Beispiel:

    CREATE TABLE dbo.EmployeeData (
        EmployeeID INT
        ,FirstName VARCHAR(50) MASKED WITH (FUNCTION = 'partial(1,"-",2)') NULL
        ,LastName VARCHAR(50) MASKED WITH (FUNCTION = 'default()') NULL
        ,SSN CHAR(11) MASKED WITH (FUNCTION = 'partial(0,"XXX-XX-",4)') NULL
        ,email VARCHAR(256) NULL
        );
    GO
    INSERT INTO dbo.EmployeeData
        VALUES (1, 'TestFirstName', 'TestLastName', '123-45-6789','email@youremail.com');
    GO
    INSERT INTO dbo.EmployeeData
        VALUES (2, 'First_Name', 'Last_Name', '000-00-0000','email2@youremail2.com');
    GO
    
    • In der FirstName-Spalte werden nur die ersten und letzten beiden Zeichen der Zeichenfolge mit - in der Mitte angezeigt.
    • Die LastName-Spalte zeigt XXXX an.
    • In der Spalte SSN wird XXX-XX- angezeigt, gefolgt von den letzten vier Zeichen der Zeichenfolge.
  5. Klicken Sie auf die Schaltfläche Ausführen, um das Skript auszuführen.

  6. Bestätigen Sie die Ausführung des Skripts.

  7. Das Skript wendet die angegebenen Regeln für die dynamische Datenformatierung auf die angegebenen Spalten in der Tabelle an.

3. Dynamische Datenmaskierung testen

Sobald die Regeln für die dynamische Datenmaskierung angewendet wurden, können Sie die Maskierung testen, indem Sie die Tabelle mit einem Testbenutzer abfragen, der nicht über die Rechte Administrator, Mitglied oder Mitwirkender für den Arbeitsbereich oder über erhöhte Berechtigungen für das Warehouse verfügt.

  1. Melden Sie sich bei einem Tool wie Azure Data Studio oder SQL Server Management Studio als Testbenutzer an, z. B. TestUser@contoso.com.
  2. Führen Sie als Testbenutzer eine Abfrage für die Tabelle aus. Die maskierten Daten werden gemäß den von Ihnen definierten Regeln angezeigt.
    SELECT * FROM dbo.EmployeeData;
    
  3. Erteilen Sie mit Ihrem Administratorkonto die UNMASK-Berechtigung des Testbenutzers.
    GRANT UNMASK ON dbo.EmployeeData TO [TestUser@contoso.com];
    
  4. Stellen Sie als Testbenutzer sicher, dass ein Benutzer angemeldet ist, da TestUser@contoso.com ungemaskete Daten angezeigt werden können.
    SELECT * FROM dbo.EmployeeData;
    
  5. Widerrufen Sie mit Ihrem Administratorkonto die UNMASK-Berechtigung des Testbenutzers.
    REVOKE UNMASK ON dbo.EmployeeData TO [TestUser];
    
  6. Stellen Sie sicher, dass der Testbenutzer nicht ungemaskete Daten sehen kann, nur die maskierten Daten.
    SELECT * FROM dbo.EmployeeData;
    
  7. Mit Ihrem Administratorkonto können Sie die UNMASK-Berechtigung für eine Rolle erteilen und widerrufen.
    GRANT UNMASK ON dbo.EmployeeData TO [TestRole];
    REVOKE UNMASK ON dbo.EmployeeData TO [TestRole];
    

4. Verwalten und Ändern dynamischer Datenformatierungsregeln

Zum Verwalten oder Ändern vorhandener regeln für dynamische Datenformatierung erstellen Sie ein neues SQL-Skript.

  1. Mit der Klausel MASKED WITH FUNCTION können Sie einer bestehenden Spalte eine Maske hinzufügen:

    ALTER TABLE dbo.EmployeeData
    ALTER COLUMN [email] ADD MASKED WITH (FUNCTION = 'email()');
    GO
    
    ALTER TABLE dbo.EmployeeData 
    ALTER COLUMN [email] DROP MASKED;
    

5. Cleanup

  1. So bereinigen Sie diese Testtabelle:
    DROP TABLE dbo.EmployeeData;