Zum Inhalt

Data Obfuscation (Datenverschleierung)

Die Datenverschleierung ist ein entscheidender Prozess zum Schutz sensibler Informationen in Datensätzen. Dieser Leitfaden führt Dich durch die Schritte der Verwendung von DATAMIMIC zur Durchführung der Datenverschleierung und zeigt zwei Varianten:

  • Aktualisieren bestimmter Spalten in einer Datenbank und
  • Verschleiern von Datensätzen aus einer CSV-Datei.
Demo Projekt Anonymisierung
Demo Projekt Anonymisierung

Schritte

  1. Klone das Projekt Demo Anonymization aus dem Demo Store

    • Dieses Projekt enthält vordefinierte Modelle und Konfigurationen, die Dir einen schnellen Einstieg ermöglichen.
  2. Einrichten von Umgebungen

  3. Im DATAMIMIC Basis-Modell haben wir zwei Umgebungen referenziert und vordefiniert:

    • sourceDB: Die Datenbank, aus der wir die Daten lesen werden.
    • targetDB: Die Datenbank, in die die verschleierten Datensätze geschrieben werden.
    • Für weitere Details zur Einrichtung und Verwaltung von Umgebungen, siehe die Environments Dokumentation.
  4. Wechsle zur Datei 2_generate

    • Diese Datei demonstriert zwei Varianten der Datenverschleierung:

Variante 1: Verschleierung von Datenbankdatensätzen

Diese Variante holt Datensätze aus der CUSTOMER Tabelle der sourceDB und aktualisiert die name Spalte. Alle anderen Spalten bleiben unverändert. Die name Spalte wird verschleiert, indem der String _mask angehängt wird. Die verschleierten Daten werden in targetDB geschrieben.

1
2
3
<generate name="CUSTOMER" source="sourceDB" type="CUSTOMER" target="targetDB">
    <key name="name" script="name+'_mask'" />
</generate>

Variante 2: Verschleierung von Datenbankdatensätzen mit Konverter

In Variante 2 werden eingebaute Konverter verwendet, um bestehende Werte der Schlüssel, d.h. Zellwerte der Spalten full_name, email und tc_creation_src, zu anonymisieren.

1
2
3
4
5
6
7
<generate source="sourceDB" name="USER" target="targetDB">
    <key name="full_name" script="full_name + '_mask'" />
    <!-- Verwende den Standard-Mask-Konverter, um in '*' (Standardzeichen) zu maskieren -->
    <key name="email" script="email" converter="Mask" />
    <!-- Optional kann ein bevorzugtes Zeichen an den Mask-Konverter übergeben werden -->
    <key name="tc_creation_src" converter="Mask('!')" script="tc_creation_src" />
</generate>

Variante 3: Verschleierung von CSV-Dateien mit mehreren Ansätzen

Diese Variante zeigt, wie man Personendatensätze aus einer CSV-Datei verschleiert. Verschiedene Optionen werden verwendet, um die ursprünglichen Daten aus der Datei zu aktualisieren oder zu überschreiben und sie als neue Datei mit dem Namen ObfuscateCSV.csv zu schreiben.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
<generate name="ObfuscateCSV" type="ObfuscateCSV" source="data/persons.ent.csv" target="CSV">
    <variable name="addr" entity="Address" />
    <!-- Kürze die Länge des Strings vom Anfang -->
    <key name="familyName" script="familyName" converter="CutLength(3)" />
    <key name="givenName" script="givenName" converter="Mask" />
    <key name="alias" script="alias" converter="Append('_demo')" />
    <key name="street" script="addr.street" />
    <key name="city" script="addr.city" />
    <key name="country" constant="US" />
    <key name="accountNo" script="accountNo" converter="Hash('sha256', 'hex')" />
    <key name="ssn" script="ssn" converter="MiddleMask(2,3)" />
    <key name="creditCardNo" script="creditCardNo" converter="Hash('sha1', 'base64')" />
    <key name="secret1" script="secret1" converter="Hash('md5', 'hex')" />
    <key name="secret2" script="secret2" converter="Hash('md5', 'base64')" />
    <key name="secret3" script="secret3" converter="Hash('sha1','hex')" />
    <key name="secret4" script="secret4" converter="Hash('sha1', 'base64')" />
</generate>

Zusammenfassung

  1. Überprüfe das Demo Anonymization aus dem Demo Store.
  2. In der Datei 2_generate, überprüfe die Varianten der Datenverschleierung, um bestimmte Datenbankspalten zu aktualisieren oder Datensätze aus einer CSV-Datei zu verschleiern.
  3. Überprüfe die DATAMIMIC Modelle 3-1-anon-person-constant und 3-2-anon-person-hash.xml für zusätzliche Szenarien und Verschleierungsoptionen.