Zum Inhalt springen

Mandantentrennung in einer SaaS-Anwendung prüfen

Ein konkreter Prüfplan für Datenzugriffe, Exporte und Hintergrundaufträge zwischen getrennten Kundenbereichen.

Nora Henning2 Min. Lesezeit
Geteilte Ablage mit rosa und grünen Kartenstapeln in getrennten Fächern.

Definieren Sie zuerst den Kundenbereich

Ein Mandant ist ein abgegrenzter Kundenbereich Ihrer Anwendung. Das muss weder eine einzelne Person noch immer ein ganzes Unternehmen sein. Legen Sie fest, welche Daten zusammengehören, wer Mitglied sein darf und welche Rollen dort welche Aufgaben ausführen. Ein Benutzerkonto kann mehrere Mitgliedschaften haben; eine Anmeldung allein wählt noch keinen erlaubten Datenzugriff.

Microsoft unterscheidet den logischen Mandanten von der technischen Bereitstellung. Eine eigene Datenbank und gemeinsam genutzte Tabellen stellen unterschiedliche Anforderungen an Betrieb und Zugriffsschutz. Keine Variante ersetzt die Prüfung aller erlaubten Zugriffswege.

Ein Prüfplan mit zwei erfundenen Kundenbereichen

Planen Sie die folgenden Fälle mit synthetischen Daten in einer getrennten Testumgebung. Es handelt sich um erwartete Ergebnisse, nicht um einen ausgeführten Sicherheitstest. Die Bereiche heißen TA und TB. Auftrag SV-12 gehört zu TA, Auftrag SV-41 zu TB. Die jeweiligen Testkonten haben nur im eigenen Bereich die vorgesehenen Auftragsrechte.

Geprüfter Zugriff

Aktion

Erwartetes Ergebnis

Berechtigtes Konto in TA

SV-12 lesen

Nur die für diese Rolle erlaubten eigenen Auftragsdaten erscheinen.

Dasselbe Konto in TA

SV-41 direkt lesen, ändern oder dessen Anhang abrufen

Keine Daten aus TB werden ausgegeben oder verändert.

Konto in TA

Suchen und exportieren

Treffer und Datei enthalten keine Daten aus TB.

Erst Konto aus TB, danach Konto aus TA

Denselben serverseitigen Cache-Zugriffsweg verwenden

TA erhält keine zuvor für TB gespeicherten Ergebnisse.

Konto in TA

Export einreihen, vor Verarbeitung die Zugriffsberechtigung entziehen

Der Hintergrundauftrag prüft erneut und wird gemäß dieser Testregel abgelehnt.

Prüfen Sie Daten und tatsächliche Änderungen auf der Serverseite. Ein ausgeblendeter Knopf belegt keine Trennung. Verwenden Sie auch eine bekannte fremde Objektkennung: Eine schwer zu erratende Kennung darf nicht die einzige Zugriffsschranke sein.

Tragen Sie die Grenze durch den ganzen Ablauf

OWASP verlangt serverseitig verifizierten Mandantenkontext und passende Autorisierung. Vom Client gesendete Bereichskennungen sind eine Auswahl, keine Berechtigung. Prüfen Sie aktuelle Mitgliedschaft, erlaubte Aktion und Zugehörigkeit des Zielobjekts. Fehlt der notwendige Kontext, darf die Anwendung nicht auf eine unbeschränkte Abfrage ausweichen.

Beziehen Sie Anhänge, mandantenabhängige Cache-Schlüssel, Exporte und verzögerte Verarbeitung ein. Für Hintergrundaufträge müssen Kontext und Autorisierung vertrauenswürdig weitergegeben und bei der Verarbeitung passend geprüft werden. Legen Sie fest, wie zwischenzeitlich entzogene Rechte behandelt werden.

Öffentliche, globale Inhalte brauchen keinen künstlichen Mandantenbezug. Bereichsübergreifende Plattformaufgaben brauchen dagegen eine ausdrücklich dafür autorisierte Identität und nachvollziehbare Zugriffe. Halten Sie je Fall erwartetes Ergebnis, tatsächlichen Befund und Korrektur getrennt fest. Wiederholen Sie betroffene Prüfungen, wenn Zugriffswege oder Rollen geändert werden.

Quellen

Geschrieben von

  • Nora HenningRedakteurin für IT-SicherheitNora Henning betreut bei ASES die redaktionellen Inhalte zur IT-Sicherheit. Sie schreibt über die Sicherheit von Anwendungen und erklärt, wie Zugriffsrechte und der Schutz von Unternehmensdaten zusammenhängen.

ASES folgen

Weiterlesen

Alle Beiträge

Softwareentwicklung mit ASES

Individuelle Software, Web- und Mobile-Apps