Zum Inhalt springen
← Impulse

Daten aus einer SaaS-Anwendung exportieren: Umfang, Berechtigungen und Sicherheitskontrollen

Ein sinnvoller Export beginnt mit klaren Regeln: Welche Daten werden ausgegeben, wer darf ihn anfordern und wie wird die Datei geschützt? Dieser Leitfaden bietet praktische Kriterien.

Gestaltung eines SaaS-Datenexports mit eingeschränktem Umfang, Berechtigungen und Zugriffskontrollen

Wenn Kunden ihre Daten herunterladen können, erleichtert das alltägliche Aufgaben wie Analysen, Abstimmungen oder die Arbeit außerhalb der Anwendung. Ein Export erzeugt jedoch auch eine Kopie, die außerhalb der üblichen Kontrollen der SaaS-Anwendung liegen kann. Für eine gute Umsetzung muss festgelegt werden, welche Daten enthalten sind, wer den Export anfordern darf, wer das Ergebnis erhält und wie lange es verfügbar bleibt.

Es geht nicht nur darum, welches Format angeboten wird. Produktmanagement, Fachbereiche und Technik müssen den Zweck jedes Exports abstimmen und Kontrollen einrichten, die der Sensibilität und dem Umfang der Informationen entsprechen. Der folgende Rahmen hilft bei diesen Entscheidungen, ohne einen operativen Download mit anderen Prozessen zu verwechseln.

Festlegen, welches Problem der Export löst

Festlegen, welches Problem der Export löst

Ein operativer Export ermöglicht es, bestimmte Daten im Rahmen der üblichen Arbeit einzusehen oder weiterzuverwenden. Ein Team benötigt vielleicht eine gefilterte Liste für eine Prüfung oder eine Datei mit Buchungen aus einem bestimmten Zeitraum, um diese abzugleichen. Der Umfang sollte sich an einer klar erkennbaren Aufgabe orientieren und so begrenzt wie möglich bleiben.

Ein Export ist nicht dasselbe wie ein Bericht, eine Sicherungskopie oder ein Datenabzug für eine Systemmigration. Ein Bericht bereitet Daten auf, um Fragen zu beantworten, häufig mithilfe von Zusammenfassungen oder Visualisierungen. Eine Sicherungskopie dient der Wiederherstellung und erfordert eigene Kontrollen und Verfahren. Ein Migrationsabzug kann zahlreiche Datensätze und ihre Beziehungen umfassen, damit sie in eine andere Umgebung übertragen werden können. Wenn ein Self-Service-Bedarf einem vollständigen Datenabzug ähnelt, sollte er als eigener Prozess behandelt werden – mit einer Bewertung, Berechtigungen und Unterstützung, die seiner Tragweite entsprechen.

Dokumentiere vor der Gestaltung der Benutzeroberfläche den Anwendungsfall, die beteiligten Nutzer und die Entscheidung, die durch die Datei ermöglicht werden soll. Wenn sich nicht erklären lässt, warum eine bestimmte Datengruppe benötigt wird, sollte das Anlass sein, den Umfang zu überprüfen, statt standardmäßig weitere Felder hinzuzufügen.

Daten, Filter und Beziehungen begrenzen

Lege genau fest, welche Entitäten exportiert werden, welche Filter gelten und wie Beziehungen zwischen Datensätzen dargestellt werden. Für einen Bestellexport können beispielsweise Kennungen und Datumsangaben nötig sein, interne Notizen oder Informationen aus anderen Bereichen dagegen nicht. Kläre außerdem, ob die Filter der aktuellen Ansicht übernommen werden, ob Nutzer einen Zeitraum auswählen können und wie archivierte oder gelöschte Datensätze behandelt werden.

  • Nur aufgabenrelevante Daten einschließen: Vermeide Felder, die für den angegebenen Zweck keinen Mehrwert bieten.
  • Grenzen sichtbar machen: Informiere über Zeitraum, Filter, Zeitzone und weitere Kriterien, die den Exportumfang bestimmen.
  • Beziehungen festlegen: Erkläre, ob zugehörige Daten enthalten, ausgelassen oder durch Kennungen dargestellt werden.
  • Überraschungen vermeiden: Unterscheide klar zwischen der aktuellen Ansicht, einer gefilterten Auswahl und einem vollständigen Export.

Auch ausgeschlossene Felder sollten ausdrücklich festgelegt werden. Es kann sinnvoll sein, Geheimnisse, Zugangsdaten, interne Informationen oder Daten wegzulassen, die der anfragenden Person für den vorgesehenen Zweck nicht bekannt sein müssen. Gehe nicht davon aus, dass eine in der Benutzeroberfläche ausgeblendete Spalte automatisch auch in der Datei fehlt. Die Berechtigungsprüfung muss für den tatsächlich erzeugten Datenbestand gelten.

Berechtigungen für anfragende und empfangende Personen festlegen

Die Berechtigung, Informationen in der Anwendung einzusehen, bedeutet nicht automatisch, dass diese auch gesammelt exportiert werden dürfen. Lege abhängig von Organisation, Rolle und Sensibilität der Daten fest, wer einen Export starten kann. Bei besonders schützenswerten Informationen kann eine eigene Berechtigung, eine zusätzliche Freigabe oder eine Beschränkung auf bestimmte Rollen erforderlich sein. Was angemessen ist, hängt vom jeweiligen Kontext ab. Zusätzliche Hürden für jeden Download können legitime Arbeit behindern, ohne den Schutz unbedingt zu verbessern.

Berücksichtige getrennt, wer die Datei anfordert und wer sie erhalten darf. Bei einem direkten Download handelt es sich meist um dieselbe Person. In einem Ablauf mit einer anderen empfangenden Person muss geprüft werden, ob diese zum berechtigten Organisationsbereich gehört und ob die Datei für andere Nutzer außerhalb der Organisation unzugänglich bleibt. Sensible Daten sollten nicht automatisch an eine ungeprüfte Adresse gesendet werden.

Die Benutzeroberfläche sollte vor der Bestätigung den Umfang erläutern und klar anzeigen, wann die Datei bereitsteht. Betrifft die Aktion viele Datensätze, kann eine Bestätigung mit einer Zusammenfassung des Zeitraums oder der Anzahl der Einträge helfen, Fehler zu erkennen. Dabei muss sichergestellt sein, dass diese Angaben niemandem Informationen offenlegen, für die keine Berechtigung vorliegt.

Direkten Download oder asynchrone Erstellung wählen

Ein direkter Download ist unkompliziert, wenn der Datenbestand klein ist und sich ohne Verzögerung der Anwendung oder übermäßigen Ressourcenverbrauch vorbereiten lässt. Bei größerem Umfang oder längerer Verarbeitungszeit kann eine asynchrone Erstellung besser geeignet sein: Der Nutzer fordert den Vorgang an, erhält eine Statusmeldung und lädt das Ergebnis herunter, sobald es bereitsteht.

Es gibt keinen allgemeinen Grenzwert, der für alle SaaS-Anwendungen gilt. Bewerte die übliche Größe der Anfragen, die beobachtete Verarbeitungsdauer, die Systemauslastung und die Erwartungen der Nutzer. Dauert ein Vorgang so lange, dass die Seite warten muss, treten Fehler auf oder konkurriert die Verarbeitung mit wichtigen Abläufen, spricht das dafür, den Prozess zu ändern oder die Anfrage einzugrenzen.

  • Bei kleinen, vorhersehbaren Anfragen sollte eine direkte und verständliche Rückmeldung im Vordergrund stehen.
  • Bei längeren Vorgängen sollten Status wie „ausstehend“, „in Bearbeitung“, „bereit“ oder „fehlgeschlagen“ angezeigt und der nächste Schritt erklärt werden.
  • Verhindere, dass beim Neuladen der Seite oder durch mehrmaliges Klicken wiederholt Aufträge gestartet werden. Zeige stattdessen eine Kennung für den laufenden Vorgang an.
  • Lege sinnvolle Grenzen fest und gib eine hilfreiche Meldung aus, wenn eine Anfrage sie überschreitet, etwa mit dem Vorschlag, den Zeitraum aufzuteilen.

Auch eine asynchrone Verarbeitung macht Zugriffskontrollen nicht überflüssig. Nutzer müssen sich authentifizieren, um den Status einzusehen und das Ergebnis abzurufen. Das System sollte außerdem prüfen, ob die Berechtigung zum maßgeblichen Zeitpunkt weiterhin besteht.

Datei schützen und Risiken begrenzen

Das Ergebnis braucht eigene Schutzmaßnahmen: Es kann Informationen bündeln, die sonst nicht gemeinsam auf einem Bildschirm erscheinen. Verwende temporären Speicher mit eingeschränktem Zugriff und lege eine zum Verwendungszweck passende Ablaufzeit fest. Informiere darüber, wann die Datei nicht mehr verfügbar ist, und bewahre Kopien nicht länger auf, als es für die Aufgabe erforderlich ist.

Der Zugriff sollte möglichst eine Authentifizierung und eine Berechtigungsprüfung für die jeweilige Organisation voraussetzen. Werden Downloadlinks verwendet, sind sie wie Zugangsdaten zu behandeln: Begrenze ihre Gültigkeit, vermeide sensible Informationen im Link und berücksichtige das Risiko einer Weitergabe. Ein schwer zu erratender Link ersetzt keine angemessene Autorisierung. Auch Dateinamen oder Fehlermeldungen sollten keine unnötigen Informationen preisgeben.

Lege Grenzen fest, die versehentliche Fehler und Missbrauch reduzieren, ohne den normalen Betrieb zu behindern. Je nach Anwendungsfall können dazu eine Höchstzahl an Datensätzen, eine Begrenzung der Anfragehäufigkeit, eine Obergrenze für parallele Aufträge oder eine Aufteilung nach Zeiträumen gehören. Ein Hinweis darauf, dass die Kontrollen zu restriktiv sind, liegt vor, wenn Nutzer mit einem legitimen Bedarf übliche Aufgaben nicht erledigen können. Sind sie zu großzügig, können ungewöhnlich große Datenmengen, wiederholte Versuche oder Exporte außerhalb des erwarteten Musters auftreten. Überprüfe die Grenzen anhand betrieblicher Daten und Rückmeldungen statt anhand willkürlicher Zahlen.

Protokollieren, prüfen und vor der Veröffentlichung freigeben

Protokollieren, prüfen und vor der Veröffentlichung freigeben

Protokolliere genügend Informationen, um einen Vorfall untersuchen zu können: wer den Export angefordert hat, zu welcher Organisation die Person gehört, wann der Vorgang gestartet wurde, welcher Umfang oder welche Filter angewandt wurden und ob die Verarbeitung erfolgreich war oder fehlschlug. Nimm weder den Dateiinhalt noch unnötige sensible Daten in die Protokolle auf. Die Nachvollziehbarkeit sollte es ermöglichen, den Vorgang zu rekonstruieren, ohne eine weitere Kopie der Daten zu schaffen.

Prüfe außerdem, ob die Datei tatsächlich verwendbar ist. Kontrolliere das angebotene Format, die Textkodierung, Überschriften, Feldnamen, leere Werte und die Konsistenz von Beziehungen. Eine technisch erzeugte, aber mehrdeutige Datei führt zu Fehlinterpretationen und zusätzlichem Supportaufwand. Erläutere die verfügbaren Formate und wichtige Einschränkungen; setze nicht voraus, dass alle Nutzer dasselbe Programm zum Öffnen der Datei verwenden.

Gehe diese Liste vor der Veröffentlichung gemeinsam mit Produktmanagement, Technik und den für den Informationszugriff verantwortlichen Personen durch:

  • Ist der Zweck dokumentiert und klar von Berichten, Sicherungskopien und Migrationen abgegrenzt?
  • Sind Entitäten, Filter, Beziehungen und ausgeschlossene Felder festgelegt?
  • Werden Organisation und Rolle geprüft und bei Bedarf eine spezielle Berechtigung verlangt?
  • Ist klar, wer die Datei anfordert und wer sie erhält?
  • Entsprechen Benutzerführung und Grenzwerte dem erwarteten Umfang und der Verarbeitungsdauer?
  • Sind Zugriffskontrolle, Ablaufzeit und Löschregeln für die Datei festgelegt?
  • Werden Anfragen, Ergebnisse und Fehler mit angemessener Nachvollziehbarkeit protokolliert?
  • Wurden Berechtigungen, Grenzfälle, Formate und Fehlermeldungen getestet?

Eine gut gestaltete Exportfunktion macht ihre Grenzen sichtbar und ermöglicht legitime Aufgaben, ohne einen weitergehenden Zugang als nötig zu schaffen. Erfordert der Anwendungsfall vollständige Daten, komplexe Beziehungen oder eine Zustellung an Dritte, kann ein eigener Prozess die richtige Lösung sein. So wird vermieden, einen operativen Download zu einem umfassenden Datenabzug ohne angemessene Kontrollen auszubauen.

Fuentes y referencias

  1. MDN Web DocsMozilla
  2. Web performanceweb.dev
  3. OWASP Cheat Sheet SeriesOWASP Foundation