Notiz 16 · Microsoft Fabric (11/29)

Fabric PII: Was würdest du beim Laden sensibler Daten tun?

Ein wiederverwendbarer Notebook-Vertrag macht Freitext-Exporte aus Fabric sicher, ohne legitime Adressen und Codes zu löschen.

25. Juni 2026 9 Min. Lesezeit

Das Wichtigste in Kürze

  • Alle Extrakte, die das Lakehouse verlassen, nutzen ein gemeinsames Konfigurationsmodul für die Schwärzung oder einen Vertrag in einer Notebook-Zelle.
  • Erlaubte und verbotene Freitextkategorien sind mit Beispielen aufgeschrieben.
  • Ersatz-Tokens sind stabil und werden in Tests gezählt.
  • Entscheidungen zum Restrisiko (zum Beispiel bei Titeln) stehen ausdrücklich im Vertrag.
  • Publish-Pfade schlagen fehl, wenn die Schwärzung außerhalb freigegebener Debug-Modi deaktiviert ist.
  • Tests mit Fixtures decken Telefonnummern, E-Mails, Namen und von der Richtlinie erlaubte Codes ab.

In Freitextspalten für Exporte verstecken sich Namen, Telefonnummern und E-Mails. Dieselben Spalten enthalten oft Codes und Adressen, die die Richtlinie weiterhin erlaubt. Alles zu leeren, ist bequem. regexp_replace quer durch ein Notebook zu verstreuen, führt dazu, dass zwei Engineers am selben Freitag unterschiedlich schwärzen.

Leg den Schwärzungsvertrag in eine Konfigurationszelle, die der Rest des Notebooks wiederverwendet. Flags, Tokens, Muster und Helfer für bekannte Namen werden reviewbar. Entscheidungen zum Restrisiko verlassen den Chatverlauf und landen in dem Artefakt, das du promotest.

Benanntes Modell: Schwärzung als Publish-Gate

  • Freitext, der hinausgeht: CSV-Dumps, Freigaben für Partner, Ticket-Anhänge und Pfade nach dem Motto "nur dieser eine Extrakt", in denen Namen, Telefonnummern, E-Mails und Notizen wirklich stehen.
  • Konfigurationsvertrag: eine Zelle (oder ein gemeinsames Modul) für Aktivierungs-Flags, Spaltenlisten, Regex-Muster, Ersatz-Tokens, optionale UDF-Hooks für bekannte Namen und aufgeschriebene Beispiele für Erlaubtes und Verbotenes.
  • Publish-Gate: Das ausgehende Schreiben hängt von einem erfolgreichen Schwärzungsschritt mit Flags für die jeweilige Stage ab; Token-Zahlen und bearbeitete Spalten erscheinen in den Run-Metriken, die Reviewer überfliegen.
  • Vertrag: Sensitivity Labels helfen beim Auffinden. Sie schreiben den String, den du gerade per E-Mail verschickt hast, nicht um. Ein regexp_replace aus Stammeswissen ist keine Datenschutzkontrolle.

Benanntes Modell: Freitext, der das Lakehouse verlässt, passiert einen gemeinsamen Konfigurationsvertrag vor einem Publish-Gate, das im Zweifel schließt

Abbildung 1. Schwärzung als Publish-Gate. Gemeinsame Konfiguration, stabile Tokens und ein Schreibpfad, der nicht laufen kann, wenn die Bereinigung übersprungen wurde.

Kontext und Rahmenbedingung

Ein häufiger Fehler: Export-Notebooks, bei denen ein Lauf Telefonnummern entfernt und ein anderer sie in einem Kommentarfeld stehen lässt. Das Lakehouse ist in Ordnung. Der Publish-Pfad ist Folklore. Datenschutz-Reviews fragen, was wir schwärzen. Die ehrliche Antwort lautet: "was auch immer die letzte Person im Kopf hatte."

Alles, was die Grenze des Lakehouse verlässt, sollte dieselben Regeln durchlaufen. Konfigurationsgesteuerte Schwärzung macht diese Regeln sichtbar: was du entfernst, was du behältst, welches Token was ersetzt und welche Restrisiken du bewusst akzeptiert hast.

Abbildung 2 zeigt die Learn-Seite zu den Geltungsbereichen von Sensitivity Labels. Labels klassifizieren und steuern den Zugriff. Sie ersetzen kein Umschreiben im Notebook auf dem Exportpfad.

Geltungsbereiche von Sensitivity Labels in Microsoft Purview

Abbildung 2. Der Umgang mit PII ist ein Governance-Vertrag. Label-Geltungsbereiche und Schwärzungsregeln gehören in reviewbare Konfiguration, nicht in Notebook-Folklore. Quelle: Microsoft Learn: sensitivity labels.

Abbildung 3 zeigt, warum die Schwärzungskonfiguration neben das Notebook gehört, dem der Export gehört. Reviewer müssen sehen, was mit dem Artefakt ausgeliefert wird.

Export-Notebook aus Microsoft Fabric

Abbildung 3. Halte die Schwärzungskonfiguration neben dem Notebook, dem der Exportpfad gehört, damit Reviewer sehen, was mit dem Artefakt ausgeliefert wird. Quelle: Microsoft Learn: how to use notebooks.

Design

1. Eine Konfigurationszelle, viele Nutzer

Deklariere Aktivierungs-Flags, Spaltenlisten, Regex-Muster, Ersatz-Tokens und optionale UDF-Hooks einmal weit oben. Spätere Zellen importieren diese Konfiguration. Implementiere das Entfernen von Telefonnummern nicht dreimal mit drei verschiedenen Mustern. Abweichungen zwischen Zellen sind ein Datenschutzfehler, der wie eine Stilfrage aussieht. Wenn ein zweites Notebook dieselbe Granularität exportiert, teile ein Modul oder ein Notebook-Snippet, damit der Vertrag nicht per Copy-paste im Chaos endet.

2. Trenne im Freitext Erlaubtes von Verbotenem

Namen, private Telefonnummern und private E-Mails kommen in der Regel weg. Referenzcodes, operative Kennungen und viele Postanschriften dürfen nach einer schriftlichen Richtlinie bleiben. Kodiere diese Trennung mit Beispielen. Ein einziger Hammer nach dem Motto "alle Strings bereinigen" zerstört den analytischen Wert und bringt den Leuten bei, das Notebook zu umgehen. Die Umgehung wird dann zum eigentlichen Produktionspfad.

Abbildung 4 zeigt die Trennung, die du einmal aufschreibst, damit sie nicht jeder Extrakt neu entdeckt.

Trennung nach Richtlinie: Personennamen, Telefonnummern und E-Mails meist schwärzen; Referenzcodes, Adressen und operative Kennungen nach schriftlicher Richtlinie ggf. behalten

Abbildung 4. Trennung für Freitext nach Richtlinie. Kläre persönlich gegenüber operativ einmal, schreib Beispiele auf und hör auf, die Regel bei jedem Extrakt neu zu entdecken.

3. Stabile, reviewbare Tokens

Ersetze Treffer durch Tokens wie {{EMAIL}} oder {{PHONE}}, die nachgelagerte Prozesse zählen und auditieren können. Zufälliges Löschen macht es schwer, Lücken zu erkennen. Stabile Tokens helfen auch dem Support zu belegen, dass ein Extrakt verarbeitet wurde, wenn jemand fragt, ob ein Name überlebt haben könnte. Zähle Tokens in Tests so, wie du Zeilen in Paritätsjobs zählst.

4. Eine UDF für bekannte Namen als bewusste Schicht

Regex verpasst informelle Namen und erzeugt falsche Treffer. Eine Liste oder UDF für bekannte Namen ist ein zweiter Durchgang mit Verantwortung: wer die Liste pflegt, wie oft und was bei Fehltreffern passiert. Dokumentiere das Restrisiko für Titel und Anreden, wenn du sie absichtlich stehen lässt. Diese Entscheidung gehört in den Vertrag, nicht in einen Slack-Thread aus dem letzten Quartal.

5. Behandle Schwärzung als Gate, nicht als nettes Extra

Verdrahte das Notebook so, dass das Publish im Zweifel scheitert, wenn die Schwärzungszelle übersprungen wird oder die Flags in Prod aus sind. Optionale Bereinigung im Debug-Modus ist lokal in Ordnung. Optionale Bereinigung auf dem Pfad, der an einen Freigabeort schreibt, ist ein Kontrollversagen. Lass den Ausgabepfad von einem erfolgreichen Schwärzungsschritt im selben Lauf abhängen.

6. Teste mit Fixtures, die Beinahe-Treffer enthalten

Halte ein kleines Fixture-Set bereit: offensichtliche E-Mails, die Telefonformate, die dir wichtig sind, Codes, die wie Telefonnummern aussehen, Adressen, die überleben müssen, und Namen neben Titeln. Prüfe Token-Zahlen und die erlaubten Strings, die überleben. Screenshot-QA ist keine Datenschutzkontrolle. Lass die Fixtures erneut laufen, wenn jemand ein Muster "verbessert".

Abbildung 5 zeigt den vierteiligen Betriebskreislauf, der das Gate auch nach dem ersten Merge ehrlich hält.

Vier Felder: stabile Tokens, UDF für bekannte Namen mit Verantwortung, Fixtures mit Beinahe-Treffern und ein Publish, das im Zweifel schließt, mit Run-Metriken

Abbildung 5. Stabile Tokens, ein Durchgang für bekannte Namen mit Verantwortlichem, Fixtures mit Beinahe-Treffern und ein Publish-Gate, das im Zweifel schließt. Metriken gehören in die Run-Ausgabe, die Reviewer überfliegen.

Publish-Gate-Mechanik, die hält

Verdrahte den Exportpfad so, dass das Schreiben an den ausgehenden Ort nicht laufen kann, solange die Schwärzung nicht mit den passenden Flags für diese Stage abgeschlossen ist. Lokales Debugging darf sie mit einem deutlichen Hinweis überspringen. Läufe im gemeinsamen Workspace, die Partnerdateien erzeugen, dürfen das nicht. Kombiniere das Gate mit einer einfachen Metrikzelle: verarbeitete Zeilen, ausgegebene Tokens pro Typ, bearbeitete Spalten. Diese Metriken gehören in die Run-Ausgabe, die Reviewer überfliegen, bevor sie eine Freigabe genehmigen.

Häufige Fehler

Regex-Archäologie in einzelnen Zellen. Niemand kann sagen, was das Notebook schwärzt, ohne jede Zelle zu lesen.

Adressen und Codes leeren, die die Richtlinie erlaubt. Die Nutzer verlangen eine Umgehung. Die Umgehung wird zum eigentlichen Pfad.

Instabile Ersetzungen. Mal gelöscht, mal maskiert, mal gehasht. Auditoren können nichts abgleichen.

Titel und Freitextnotizen bleiben unentschieden. "Kümmern wir uns später drum" heißt, dass Produktionsexporte Personennamen neben Berufsbezeichnungen ausliefern.

Nur die hübschen Spalten schwärzen. In den Feldern für Kommentare, Beschreibungen und Notizen stehen die PII wirklich.

Labels vertrauen, ohne einen Umschreibschritt. Gelabelte Daten gehen trotzdem hinaus, wenn das Export-Notebook sie nie bereinigt hat.

So übernehmen oder anpassen

So übernehmen

  • Alle Extrakte, die das Lakehouse verlassen, nutzen ein gemeinsames Konfigurationsmodul für die Schwärzung oder einen Vertrag in einer Notebook-Zelle.
  • Erlaubte und verbotene Freitextkategorien sind mit Beispielen aufgeschrieben.
  • Ersatz-Tokens sind stabil und werden in Tests gezählt.
  • Entscheidungen zum Restrisiko (zum Beispiel bei Titeln) stehen ausdrücklich im Vertrag.
  • Publish-Pfade schlagen fehl, wenn die Schwärzung außerhalb freigegebener Debug-Modi deaktiviert ist.
  • Tests mit Fixtures decken Telefonnummern, E-Mails, Namen und von der Richtlinie erlaubte Codes ab.

Vor dem Einsatz anpassen

Eine gemeinsame Konfiguration lässt sich langsamer ändern als ein einmaliges Replace. Diese Reibung ist nützlich. Datenschutzregeln sollten nicht beiläufig sein. Falsche Treffer bei Codes erfordern sorgfältige Muster und Allowlists; rechne mit Iterationen mit den fachlichen Verantwortlichen. Listen bekannter Namen brauchen operative Verantwortung, sonst verrotten sie. Ein Restrisiko bleibt. Das Ziel ist ein dokumentiertes, begrenztes Risiko, keine magische Gewissheit. Du wirst auch Zeit mit der Diskussion verbringen, ob ein Feld persönlich oder operativ ist. Führe diese Diskussion einmal, schreib das Ergebnis auf und hör auf, es bei jedem Extrakt neu zu entdecken.

Wichtigste Quellen: Microsoft Learn zu data protection and governance in Fabric und sensitivity labeling. Kombiniere Labels der Plattform mit Gates im Notebook; keins ersetzt das andere.

Leg den Vertrag in die Notebook-Konfiguration. Verwende ihn wieder. Teste ihn. Mach das Publish davon abhängig. Dann sind Freitext-Exporte keine wöchentliche Überraschung mehr.