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:

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).

#SchrittWerDauer
1App-Registrierung und Client Secret anlegenEntra-Admin (oder Rolle Application Developer)10 min
2Sicherheitsgruppe anlegen, Service Principal aufnehmen (nur falls nötig)Entra- oder Gruppen-Admin5 min
3Fabric-Mandanteneinstellungen prüfen und freigebenFabric-Admin5 min
4Service Principal im Workspace berechtigenWorkspace-Admin oder -Member5 min
5Conditional Access und Netzwerk prüfenEntra-/Security-Admin5 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ächeAdressePfad zu den App-Registrierungen
Entra Admin Centerentra.microsoft.comIdentität → Anwendungen → App-Registrierungen
Azure Portalportal.azure.com → Microsoft Entra IDVerwalten → App-Registrierungen (Manage → App registrations)
  1. App-Registrierungen öffnen (siehe Tabelle) → Neue Registrierung (New registration).
  2. Formular ausfüllen:
    • Name: mdm-lite-onelake-export
    • Unterstützte Kontotypen: Nur Konten in diesem Organisationsverzeichnis (Single-Tenant)
    • Umleitungs-URI: leer lassen
  3. Registrieren klicken. Entra legt dabei automatisch die zugehörige Unternehmensanwendung an, das ist der Service Principal.
  4. Auf der Seite Übersicht notieren:
    • Anwendungs-ID (Client) = Client-ID
    • Verzeichnis-ID (Mandant) = Tenant-ID
  5. Zertifikate & Geheimnisse → Geheime Clientschlüssel → Neuer geheimer Clientschlüssel:
    • Beschreibung: MDM Lite OneLake
    • Gültig bis: 12 Monate empfohlen, höchstens 24
  6. Die Spalte Wert sofort kopieren, nicht die Geheimnis-ID. Der Wert wird nur einmal angezeigt.
  7. 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.

  1. Entra Admin Center → Gruppen → Alle Gruppen → Neue Gruppe (Azure Portal: Microsoft Entra ID → Verwalten → Gruppen → Neue Gruppe).
  2. Gruppentyp: Sicherheit, Name: z. B. sg-fabric-serviceprincipals (oder eine bestehende Gruppe für Fabric-Service-Principals verwenden).
  3. Unter Mitglieder die Unternehmensanwendung mdm-lite-onelake-export hinzufügen.
  4. 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).

BereichEinstellungSoll
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 FabricAktiviert (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.

  1. Fabric → Workspace <workspace> öffnen → Zugriff verwalten (Manage access) → Personen oder Gruppen hinzufügen.
  2. Nach mdm-lite-onelake-export suchen. Gefunden wird der Service Principal über den Namen der App-Registrierung.
  3. Rolle Contributor wählen → Hinzufügen.
  4. 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:

UmgebungZiel-WorkspaceRolle 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 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.

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.

WertBeispielÜbermittlung
Verzeichnis-ID (Tenant-ID)11111111-2222-3333-4444-555555555555E-Mail
Anwendungs-ID (Client-ID)66666666-7777-8888-9999-000000000000E-Mail
Client Secret (Wert)–Einmal-Link aus dem Passwort-Manager oder telefonisch, getrennt von den IDs
Ablaufdatum des Secrets2027-09-30E-Mail
Erledigt: Schritte 3, 4, 5ja / offenE-Mail

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

Was MDM Lite nicht tut

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):

  1. Etwa 4 Wochen vor Ablauf ein zweites Client Secret anlegen (Schritt 1, Punkte 5 und 6).
  2. Den neuen Wert wie in Abschnitt 8 an Data Prudentia übergeben.
  3. Nach unserer Bestätigung, dass der Verbindungstest grün ist, das alte Secret löschen.

Zugriff sofort sperren: eine dieser Maßnahmen genügt.

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 / SymptomUrsacheAbhilfe
Verbindungstest meldet 401 oder 403Fabric-Einstellung aus Schritt 3 nicht freigegeben, Service Principal nicht in der freigegebenen Gruppe, oder Workspace-Rolle aus Schritt 4 fehltSchritte 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 abgelaufenNeues Secret anlegen und den Wert übergeben
Anmeldung blockiert (AADSTS53003)Eine Conditional-Access-Richtlinie sperrt den Service PrincipalRichtlinie anpassen oder mit Data Prudentia abstimmen (Schritt 5)
Workspace oder Lakehouse nicht gefundenName falsch geschrieben oder Service Principal ohne Zugriff auf den WorkspaceWorkspace-/Lakehouse-Namen bzw. GUIDs aus der Fabric-URL prüfen
Tabellen erscheinen unter Tables → Unidentified oder ohne Schema-EbeneLakehouse ist nicht schema-fähigNeues 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