Kernaussagen
- Der Mandantenkontext muss an jeder Ausführungsgrenze explizit sein und validiert werden.
- Die Autorisierung gehört zu Domänenoperationen, nicht nur zur Routen-Middleware.
- Warteschlangen, Caches, Exporte, Protokolle und Support-Tools sind Teil des Isolationsmodells.
- Testen Sie mandantenübergreifende Ablehnungspfade kontinuierlich.
Mandantenfähigkeit ist eine Autorisierungsarchitektur
Eine tenant_id-Spalte ist nützlich, aber keine Isolationsstrategie. Anfragen bewegen sich über Browser, APIs, Dienste, Warteschlangen, Caches, Objektspeicher, Exporte und Support-Workflows. Jede Grenze benötigt eine eindeutige Mieteridentität und eine Regel dafür, was sie überschreiten darf.
Die sicherste Standardeinstellung besteht darin, den Mandantenkontext aus der authentifizierten Mitgliedschaft und dem serverseitigen Routing abzuleiten – und nicht aus einer willkürlichen, vom Client akzeptierten Kennung.
Wählen Sie die Isolation je nach Konsequenz
Gemeinsam genutzte Tabellen, separate Schemata und separate Datenbanken bieten unterschiedliche Betriebs- und Isolationseigenschaften. Die richtige Wahl hängt von Umfang, Anpassung, regulatorischen Erwartungen, Noisy-Neighbor-Risiko, Backup- und Wiederherstellungsanforderungen und Betriebskapazität ab.
Hybridmodelle sind weit verbreitet: Die meisten Mandanten nutzen ein gut indiziertes Schema, während ausgewählte Arbeitslasten eine stärkere physische Trennung erfahren. Die Anwendung sollte diese Platzierung hinter stabilen Repositorys oder Diensten verbergen.
Hintergrundarbeit ist ein häufiger Isolationsfehler
Jeder Job sollte einen unveränderlichen Mandanten- und Akteurskontext enthalten, ihn während der Ausführung erneut validieren und Ausgaben an mandantenbezogene Speicherorte schreiben. Generische Cache-Schlüssel, wiederverwendete temporäre Verzeichnisse und Exportdateinamen ohne Gültigkeitsbereich können die ansonsten sorgfältige API-Autorisierung umgehen.
- Cache- und Objektspeicherschlüssel mit Mandantenpräfix
- Kontrolle der Rate und Parallelität pro Mandant, sofern erforderlich
- Umfangreiche Protokolle und Traces ohne Leckage sensibler Nutzdaten
- Unterstützen Sie den Identitätswechsel mit Genehmigung, Grund, Ablauf und Prüfverlauf
Testen Sie den negativen Raum
Happy-Path-Tests beweisen, dass ein Benutzer auf seine Daten zugreifen kann. Isolationstests beweisen, dass Identifikatoren, Filter, Exporte, Webhooks, Suche und Timing die Daten eines anderen Mandanten nicht offenlegen können.
Erstellen Sie in Integrationstests zwei Mandanten und versuchen Sie systematisch grenzüberschreitende Lesevorgänge und Mutationen. Beziehen Sie Worker, Batch-Vorgänge, Verwaltungstools und Fehlerpfade ein – nicht nur HTTP-Endpunkte.
Über den Autor
Centillion Edge Engineering
Unser Engineering-Team schreibt über die Architektur-, Sicherheits-, Daten- und Delivery-Entscheidungen hinter verlässlichen Enterprise-Systemen.