MDM Lite Schreibzugriff auf Ihr OneLake (Microsoft Fabric) einrichten
Für die Azure-/Entra- und Fabric-Administration des Kunden. Dieses Dokument kann nach Ersetzen der Platzhalter weitergegeben werden (PDF, E-Mail-Anhang oder Text in die Mail kopiert). Vorher ersetzen:
<workspace>(Ziel-Workspace, ggf. je Umgebung),<lakehouse>(Ziel-Lakehouse) und<schema>(Pfad-Präfix des Mandanten in MDM Lite, z. B.felbermayr). Konfiguration auf MDM-Lite-Seite und Troubleshooting: Fabric-&-OneLake-Integrationshandbuch §4a.
1. Worum es geht
MDM Lite ist eine SaaS-Anwendung der Data Prudentia GmbH für die Pflege von Referenz- und
Stammdaten (https://mdm.data-prudentia.com). MDM Lite stellt die gepflegten Daten als
Delta-Tabellen direkt in einem Lakehouse Ihres Microsoft Fabric bereit. Die Tabellen
erscheinen dort sofort unter Tables/<schema>/ und sind per SQL Endpoint und Semantic Model
abfragbar.
Dafür braucht MDM Lite einen Service Principal in Ihrem Entra-Verzeichnis, der Schreibrechte auf den Ziel-Workspace hat. Nicht nötig sind:
- Azure-Ressourcen, ein Storage Account oder eine Azure-Subscription
- API-Berechtigungen (weder Microsoft Graph noch andere) und damit auch kein Admin-Consent
- Zugriff von Data Prudentia auf Ihr Azure Portal
Die Daten bleiben vollständig in Ihrem OneLake. MDM Lite speichert nur die Zugangsdaten des Service Principal, verschlüsselt.
2. Überblick
Fünf Schritte, insgesamt etwa 30 Minuten. Die Schritte 1 bis 3 und 5 fallen einmalig an, Schritt 4 je Ziel-Workspace (z. B. Test und Produktion). Seit Release 1.3 hat jede MDM-Lite-Umgebung ihr eigenes Ziel; wir empfehlen dann einen eigenen Service Principal je Umgebung (siehe Schritt 4).
| # | Schritt | Wer | Dauer |
|---|---|---|---|
| 1 | App-Registrierung und Client Secret anlegen | Entra-Admin (oder Rolle Application Developer) | 10 min |
| 2 | Sicherheitsgruppe anlegen, Service Principal aufnehmen (nur falls nötig) | Entra- oder Gruppen-Admin | 5 min |
| 3 | Fabric-Mandanteneinstellungen prüfen und freigeben | Fabric-Admin | 5 min |
| 4 | Service Principal im Workspace berechtigen | Workspace-Admin oder -Member | 5 min |
| 5 | Conditional Access und Netzwerk prüfen | Entra-/Security-Admin | 5 min |
3. Schritt 1 – App-Registrierung anlegen (Entra-Admin)
Am Ende dieses Schritts gibt es drei Werte: Tenant-ID, Client-ID und Client Secret.
Entra lässt sich über zwei Oberflächen bedienen: das neue Entra Admin Center und die klassische Ansicht im Azure Portal. Beide zeigen dasselbe Verzeichnis, nur die Menüs heißen anders. Die Pfade in diesem Dokument nennen jeweils beide Wege.
| Oberfläche | Adresse | Pfad zu den App-Registrierungen |
|---|---|---|
| Entra Admin Center | entra.microsoft.com | Identität → Anwendungen → App-Registrierungen |
| Azure Portal | portal.azure.com → Microsoft Entra ID | Verwalten → App-Registrierungen (Manage → App registrations) |
- App-Registrierungen öffnen (siehe Tabelle) → Neue Registrierung (New registration).
- Formular ausfüllen:
- Name:
mdm-lite-onelake-export - Unterstützte Kontotypen: Nur Konten in diesem Organisationsverzeichnis (Single-Tenant)
- Umleitungs-URI: leer lassen
- Name:
- Registrieren klicken. Entra legt dabei automatisch die zugehörige Unternehmensanwendung an, das ist der Service Principal.
- Auf der Seite Übersicht notieren:
- Anwendungs-ID (Client) = Client-ID
- Verzeichnis-ID (Mandant) = Tenant-ID
- Zertifikate & Geheimnisse → Geheime Clientschlüssel → Neuer geheimer Clientschlüssel:
- Beschreibung:
MDM Lite OneLake - Gültig bis: 12 Monate empfohlen, höchstens 24
- Beschreibung:
- Die Spalte Wert sofort kopieren, nicht die Geheimnis-ID. Der Wert wird nur einmal angezeigt.
- API-Berechtigungen: nichts hinzufügen, kein Admin-Consent. Der Zugriff auf OneLake läuft allein über die Workspace-Rolle aus Schritt 4. Die vorbelegte Berechtigung Microsoft Graph → User.Read wird nicht gebraucht und kann entfernt werden.
MDM Lite unterstützt derzeit nur ein Client Secret, kein Zertifikat. Empfehlung: einen zweiten Besitzer der App-Registrierung eintragen, damit die Rotation nicht an einer Person hängt.
4. Schritt 2 – Sicherheitsgruppe (nur falls nötig)
Dieser Schritt ist nur nötig, wenn die Fabric-Einstellungen aus Schritt 3 auf bestimmte Sicherheitsgruppen beschränkt sind. Gelten sie für die gesamte Organisation, entfällt er.
- Entra Admin Center → Gruppen → Alle Gruppen → Neue Gruppe (Azure Portal: Microsoft Entra ID → Verwalten → Gruppen → Neue Gruppe).
- Gruppentyp: Sicherheit, Name: z. B.
sg-fabric-serviceprincipals(oder eine bestehende Gruppe für Fabric-Service-Principals verwenden). - Unter Mitglieder die Unternehmensanwendung
mdm-lite-onelake-exporthinzufügen. - Diese Gruppe in Schritt 3 bei den betroffenen Einstellungen eintragen.
5. Schritt 3 – Fabric-Mandanteneinstellungen (Fabric-Admin)
Zwei Einstellungen müssen für den Service Principal gelten. Fehlt eine davon, lehnt Fabric jeden Zugriff mit 401 oder 403 ab, auch bei korrekter Workspace-Rolle.
Navigation: app.fabric.microsoft.com → Zahnrad oben rechts → Admin-Portal → Mandanteneinstellungen (Tenant settings).
| Bereich | Einstellung | Soll |
|---|---|---|
| Entwicklereinstellungen (Developer settings) | Service principals can use Fabric APIs. In neueren Portalversionen heißt sie Service principals can call Fabric public APIs. | Aktiviert, für die ganze Organisation oder für die Gruppe aus Schritt 2 |
| OneLake-Einstellungen (OneLake settings) | Users can access data stored in OneLake with apps external to Fabric | Aktiviert (Standard ist an) |
Die Portal-Beschriftungen ändert Microsoft gelegentlich. Im Zweifel über die Suche im Admin-Portal nach „service principal" und „external" filtern. Änderungen an den Mandanteneinstellungen können bis zu 15 Minuten brauchen, bis sie greifen.
6. Schritt 4 – Service Principal im Workspace berechtigen (Workspace-Admin)
Der Service Principal bekommt die Rolle Contributor im Ziel-Workspace. Diesen Schritt kann auch Data Prudentia übernehmen, sofern wir im Workspace Admin oder Member sind.
- Fabric → Workspace
<workspace>öffnen → Zugriff verwalten (Manage access) → Personen oder Gruppen hinzufügen. - Nach
mdm-lite-onelake-exportsuchen. Gefunden wird der Service Principal über den Namen der App-Registrierung. - Rolle Contributor wählen → Hinzufügen.
- Für weitere Ziel-Workspaces (z. B. Produktion) wiederholen. Bei mehreren Umgebungen beachten Sie den Abschnitt Mehrere Umgebungen unten.
Das Ziel-Lakehouse <lakehouse> muss schema-fähig sein (beim Anlegen Häkchen „Lakehouse
schemas"; erkennbar an der Ebene dbo unter Tables). Nachträglich lässt sich das nicht
einschalten.
MDM Lite schreibt nur in dieses eine Lakehouse und dort nur unter Tables/<schema>/. Die Rolle
Contributor erlaubt technisch aber Schreibzugriff auf alle Elemente des Workspace. Wer das enger
fassen will, vergibt im Workspace nur Viewer und zusätzlich auf dem Lakehouse über Manage
OneLake security eine Rolle mit ReadWrite für den Service Principal.
Mehrere Umgebungen: Rechte je Workspace und getrennte Service Principals
Nutzt Ihr Unternehmen MDM Lite mit mehreren Umgebungen (zum Beispiel Entwicklung, Test, Produktion), liefert jede Umgebung in ihr eigenes Ziel (siehe Pro Umgebung einrichten). Berechtigen Sie den Service Principal deshalb je Ziel-Workspace:
| Umgebung | Ziel-Workspace | Rolle des Service Principal |
|---|---|---|
| Entwicklung | <workspace-dev> | Contributor (oder Viewer plus OneLake-Rolle ReadWrite auf <lakehouse>) |
| Test | <workspace-test> | Contributor (oder Viewer plus OneLake-Rolle ReadWrite) |
| Produktion | <workspace-prod> | Contributor (oder Viewer plus OneLake-Rolle ReadWrite) |
Der Service Principal braucht in jedem Workspace nur Zugriff auf das eine Ziel-Lakehouse. Er braucht keinen Zugriff auf die Workspaces der anderen Umgebungen.
Empfehlung: ein eigener Service Principal je Umgebung. Legen Sie dazu die Schritte 1 bis 4 je Umgebung mit eigener App-Registrierung an, zum Beispiel mdm-lite-onelake-export-dev, -test und -prod. Vorteile:
- Ein kompromittiertes oder abgelaufenes Secret in Test betrifft Produktion nicht.
- Sie widerrufen den Zugriff einer Umgebung, ohne die anderen zu stören.
- Sie rotieren Secrets unabhängig voneinander.
- Die Rechte folgen dem Prinzip der geringsten Berechtigung: Der Service Principal der Entwicklung erreicht den Produktions-Workspace gar nicht.
Ein gemeinsamer Service Principal ist möglich, wenn er in allen Ziel-Workspaces berechtigt ist. Dann reicht ein Fehler bei einem Secret für einen Ausfall in allen Umgebungen.
Nutzen Sie ein Lakehouse für mehrere Umgebungen (getrennt über Pfad-Präfixe wie dev/, test/, prod/), erhält der Service Principal Schreibrechte auf das gesamte Lakehouse. Er kann dann technisch auch Tabellen anderer Umgebungen überschreiben. MDM Lite verhindert das für seine eigenen Schreibvorgänge (Zielschutz), die Rechte schützen Sie dagegen nicht. Für die Trennung zwischen Test und Produktion empfehlen wir deshalb getrennte Workspaces.
Wer die Zugangsdaten je Umgebung in MDM Lite einträgt, steht im Abschnitt Übergabe an Data Prudentia. Übergeben Sie je Umgebung Workspace, Lakehouse, Tenant-ID, Client-ID und Secret des zugehörigen Service Principals.
7. Schritt 5 – Conditional Access und Netzwerk prüfen
MDM Lite läuft als SaaS in Microsoft Azure und greift über das öffentliche Internet auf zwei
Microsoft-Endpunkte zu: login.microsoftonline.com (Token holen) und
onelake.blob.fabric.microsoft.com (Dateien schreiben). Nichts davon darf blockiert sein.
- Conditional Access für Workload Identities: Keine Richtlinie sperrt die Anmeldung von
mdm-lite-onelake-export. Beschränkt eine Richtlinie Service Principals auf bestimmte IP-Bereiche, bitte vorab mit Data Prudentia abstimmen. - Fabric Private Link: Im Admin-Portal unter Advanced networking ist Block Public Internet Access nicht aktiv. Ebenso kein Inbound-Schutz auf Workspace-Ebene für die Ziel-Workspaces.
- Fabric-Kapazität: Die Ziel-Workspaces laufen auf einer bezahlten F-SKU-Kapazität. Bei einer Trial-Kapazität endet der Export mit deren Ablauf.
8. Übergabe an Data Prudentia
Bitte diese Werte an Ihren Ansprechpartner bei der Data Prudentia GmbH schicken. Das Client Secret geht nie zusammen mit den IDs in derselben E-Mail.
| Wert | Beispiel | Übermittlung |
|---|---|---|
| Verzeichnis-ID (Tenant-ID) | 11111111-2222-3333-4444-555555555555 | |
| Anwendungs-ID (Client-ID) | 66666666-7777-8888-9999-000000000000 | |
| Client Secret (Wert) | – | Einmal-Link aus dem Passwort-Manager oder telefonisch, getrennt von den IDs |
| Ablaufdatum des Secrets | 2027-09-30 | |
| Erledigt: Schritte 3, 4, 5 | ja / offen |
Danach trägt Data Prudentia die Werte in MDM Lite ein und startet Verbindung testen. Der Test
schreibt eine kleine Testdatei unter Tables/ im Lakehouse <lakehouse> und löscht sie sofort
wieder. Das Ergebnis melden wir zurück.
9. Sicherheit, Rotation und Widerruf
MDM Lite nutzt den Zugang ausschließlich, um Delta-Tabellen in Ihr OneLake zu schreiben.
Was MDM Lite tut
- Schreibt je Dataset einen Tabellenordner unter
<lakehouse>.Lakehouse/Tables/<schema>/<tabelle>/(Parquet-Datei und_delta_log). - Ersetzt bei jedem Export den vorherigen Stand und löscht dabei nur die eigenen, abgelösten Dateien in diesen Ordnern.
- Speichert das Client Secret verschlüsselt. Nach dem Speichern zeigt MDM Lite es nicht mehr im Klartext an.
Was MDM Lite nicht tut
- Liest oder verändert keine anderen Tabellen, etwa in
dbo. - Legt keine Workspaces, Lakehouses oder anderen Fabric-Elemente an.
- Nutzt keine Microsoft-Graph- oder sonstigen API-Berechtigungen.
Anmeldungen nachvollziehen: Entra Admin Center → Überwachung und Integrität →
Anmeldeprotokolle → Dienstprinzipal-Anmeldungen (Azure Portal: Microsoft Entra ID →
Überwachung → Anmeldeprotokolle → Dienstprinzipal-Anmeldungen), Filter auf
mdm-lite-onelake-export.
Secret rotieren (vor Ablauf):
- Etwa 4 Wochen vor Ablauf ein zweites Client Secret anlegen (Schritt 1, Punkte 5 und 6).
- Den neuen Wert wie in Abschnitt 8 an Data Prudentia übergeben.
- Nach unserer Bestätigung, dass der Verbindungstest grün ist, das alte Secret löschen.
Zugriff sofort sperren: eine dieser Maßnahmen genügt.
- Das Client Secret in der App-Registrierung löschen.
- Die Workspace-Rolle aus Schritt 4 entfernen.
- In der Unternehmensanwendung
mdm-lite-onelake-export(Entra Admin Center: Identität → Anwendungen → Unternehmensanwendungen; Azure Portal: Microsoft Entra ID → Verwalten → Unternehmensanwendungen) unter Eigenschaften die Option Aktiviert für die Benutzeranmeldung auf Nein setzen.
MDM Lite schreibt dann nicht mehr, meldet den Fehler am Export-Status und lässt die bereits geschriebenen Tabellen unverändert.
10. Wenn etwas nicht klappt
| Meldung / Symptom | Ursache | Abhilfe |
|---|---|---|
| Verbindungstest meldet 401 oder 403 | Fabric-Einstellung aus Schritt 3 nicht freigegeben, Service Principal nicht in der freigegebenen Gruppe, oder Workspace-Rolle aus Schritt 4 fehlt | Schritte 2 bis 4 prüfen; nach Änderungen an Mandanteneinstellungen bis zu 15 Minuten warten |
Verbindungstest meldet ungültige Client-Anmeldedaten (AADSTS7000215) | Statt des Secret-Werts wurde die Geheimnis-ID übermittelt, oder der Wert ist abgelaufen | Neues Secret anlegen und den Wert übergeben |
Anmeldung blockiert (AADSTS53003) | Eine Conditional-Access-Richtlinie sperrt den Service Principal | Richtlinie anpassen oder mit Data Prudentia abstimmen (Schritt 5) |
| Workspace oder Lakehouse nicht gefunden | Name falsch geschrieben oder Service Principal ohne Zugriff auf den Workspace | Workspace-/Lakehouse-Namen bzw. GUIDs aus der Fabric-URL prüfen |
| Tabellen erscheinen unter Tables → Unidentified oder ohne Schema-Ebene | Lakehouse ist nicht schema-fähig | Neues Lakehouse mit „Lakehouse schemas" anlegen und an Data Prudentia melden |
Bei Fragen wenden Sie sich bitte an Ihren Ansprechpartner bei der Data Prudentia GmbH.
Anhang — Textvorlage für die Begleitmail
Betreff: MDM Lite – Schreibzugriff auf Ihr Microsoft-Fabric-OneLake einrichten
Guten Tag,
MDM Lite (
https://mdm.data-prudentia.com) soll die gepflegten Referenzdaten direkt als Tabellen in Ihr Fabric-Lakehouse<lakehouse>im Workspace<workspace>schreiben. Dafür benötigen wir einen Service Principal in Ihrem Entra-Verzeichnis mit der Rolle Contributor auf diesem Workspace. Es sind keine Azure-Ressourcen und keine API-Berechtigungen nötig, und die Daten bleiben vollständig in Ihrem OneLake.Die einzelnen Schritte (etwa 30 Minuten, verteilt auf Entra- und Fabric-Administration) finden Sie im angehängten Dokument.
Bitte schicken Sie uns anschließend Verzeichnis-ID, Anwendungs-ID und das Ablaufdatum des Secrets per E-Mail, und das Client Secret selbst getrennt davon über einen sicheren Kanal.
Vielen Dank und beste Grüße