Zum Hauptinhalt springen

Wie wird die Datenisolation zwischen Mandanten technisch umgesetzt?

Verfasst von amaise Support

Wie wird die Datenisolation zwischen Mandanten technisch umgesetzt?

amaise setzt eine mehrschichtige logische Mandantentrennung ein, die bereits beim Eintritt in das System greift:

  • Entry Proxy: Die Mandantenidentität wird bereits beim frühesten Eintritt in das System aufgelöst; daraus wird der dokumentbezogene Verschlüsselungsschlüssel des Mandanten ausgewählt. Nur verifizierte Anfragen mit gültiger Mandantenzuordnung können auf die Daten dieses Mandanten zugreifen — durchgesetzt über den gesamten Request-Lebenszyklus.

  • Datenbank (zeilenbasierte Mandantentrennung, anwendungsseitig erzwungen): Jeder Datensatz trägt eine Mandanten-ID, und jede Abfrage ist auf den authentifizierten Mandanten eingeschränkt. Dies wird in der Anwendung erzwungen und fortlaufend durch automatisierte mandantenübergreifende Tests in unserer CI-Pipeline sowie durch Code-Reviews überprüft. Datenbankeigene Row-Level Security (Postgres RLS) ist als zusätzliche Durchsetzungsebene geplant. Alle Abfragen verwenden ausschliesslich parametrisierte, typsichere Methoden — SQL-Injection wird dadurch architekturbedingt verhindert.

  • Speicher: Kundendaten in S3 sind mit mandantenspezifischen KMS-Schlüsseln (CMK) verschlüsselt. Jeder Mandant verfügt über seinen eigenen Verschlüsselungsschlüssel, der bereits bei der Zuweisung am Entry Proxy festgelegt wird.

  • Autorisierung: Objekt-basierte Berechtigungsprüfungen erzwingen Zugriffskontrollen (ACL) auf Ebene einzelner Dokumente, Fälle und weiterer Entitäten — inklusive Delegation und Ablaufzeiten.

  • API: Die Mandanten-ID wird aus den authentifizierten JWT-Claims aufgelöst. Jeder Endpunkt erzwingt rollenbasierte Zugriffskontrolle.

Diese Berechtigungsprüfungen werden fortlaufend durch automatisierte Tests sichergestellt; ein mandantenübergreifender Zugriffsversuch ist dabei nicht von einer Anfrage nach nicht vorhandenen Daten zu unterscheiden — amaise gibt nie preis, ob ein Datensatz eines anderen Mandanten existiert.

Zusätzlich sind die regionalen Umgebungen (EU, US, CH) in vollständig getrennten AWS-Konten betrieben — ohne jeglichen kontoübergreifenden Zugriff.

Hat dies deine Frage beantwortet?