Was ist Tenant-Isolation?

Aktualisiert: September 2026

Tenant-Isolation ist eine Disziplin der Mauern in geteilten Systemen – Kontrollen, die jeden Tenant gegenüber jedem anderen Tenant abschotten. Der Punkt, den die meisten Erklärungen vergraben, verdient den ersten Absatz: Isolation ist weder Authentifizierung noch Autorisierung. Ein einwandfrei angemeldeter Benutzer mit der richtigen Rolle kann trotzdem die Daten eines Wettbewerbers lesen, wenn nichts die Abfrage eingrenzt – Isolation ist die dritte Schicht, die entscheidet, in wessen Universum jede Operation stattfindet.

Das Wichtigste in Kürze

FrageAntwort
Was es istDie Garantie, dass kein Tenant an Daten oder Ressourcen eines anderen gelangt
Nicht zu verwechseln mitAuthentifizierung (wer) und Autorisierung (was) – Isolation klärt das wessen
Wohin die Mauern gehörenDatenbankzeilen, Caches, Queues, Speicher, Token – jede geteilte Schicht
Der FehlerfallEine nicht eingegrenzte Abfrage, ein Job, ein Cache-Schlüssel = Datenabfluss zwischen Tenants
Der StandardIn der Datenschicht durchsetzen, feindselig testen, Tenant-IDs vom Client nie vertrauen

Der Bug und die Mauer, die ihn überlebt

-- Der Bug, den die Isolation überleben muss: eine Abfrage ohne ihren Tenant
SELECT * FROM invoices WHERE id = $1;        -- liefert die Rechnung von irgendwem

-- Mit der Mauer in der Datenschicht liefert derselbe Bug nichts:
ALTER TABLE invoices ENABLE ROW LEVEL SECURITY;
CREATE POLICY tenant_wall ON invoices
  USING (tenant_id = current_setting('app.tenant')::uuid);

In Dokumentdatenbanken entsteht die Mauer aus Rollen und Zugriffskontrolle pro Objekt – der Tenant ist eine Rolle, und jede Zeile wird beim Schreiben auf ihn versiegelt:

// JavaScript / Node.js — Back4app JS SDK
// Provisioning a tenant boundary: a role is the tenant, membership is access
const tenantRole = new Parse.Role('tenant-acme', new Parse.ACL());
tenantRole.getUsers().add(adminUser);
await tenantRole.save();

// Every acme row from now on: readable and writable by the role only
const doc = new Parse.Object('Project', { name: 'Q3 Launch' });
const acl = new Parse.ACL();
acl.setRoleReadAccess('tenant-acme', true);
acl.setRoleWriteAccess('tenant-acme', true);
doc.setACL(acl);
await doc.save();

Der Stack der Durchsetzung

Tenant-Isolation, in Schichten durchgesetztDer Tenant-Kontext wird im Session-Token festgelegt, in den Abfragen der Anwendung eingegrenzt, von Policies oder ACLs der Datenschicht durchgesetzt und auf der Infrastrukturschicht durch Caches, Queues, Speicherpräfixe und Schlüssel mit eigenem Namensraum getrennt.

Token-Schicht
Tenant-Claim in der Session – nie vom Client geliefert

Anwendungsschicht
Abfragen, eingegrenzt durch den Tenant-Kontext

Datenschicht
RLS-Policies / ACLs pro Objekt – die Mauer, die hält

Infrastrukturschicht
Caches, Queues, Speicherpräfixe, Schlüssel im eigenen Namensraum

Der Tenant-Kontext wird im Session-Token festgelegt, in den Abfragen der Anwendung eingegrenzt, von Policies oder ACLs der Datenschicht durchgesetzt und auf der Infrastrukturschicht durch Caches, Queues, Speicherpräfixe und Schlüssel mit eigenem Namensraum getrennt.

Jede Schicht fängt auf, was die darüberliegende fallen lässt: Das Token legt die Tenant-Identität serverseitig fest, der Anwendungscode grenzt aus Gewohnheit ein, die Datenschicht setzt per Policy durch, und die Infrastruktur gibt allem übrigen Geteilten einen eigenen Namensraum. Die Cheat Sheet der OWASP ist die kanonische Checkliste für den gesamten Stack.

Isolation vs. Authentifizierung vs. Autorisierung

Beantwortete FrageMechanismusSo sieht das Versagen aus
Wer sind Sie? (Authentifizierung)Anmeldung, Sessions, TokenEin Hochstapler kommt herein
Was dürfen Sie tun? (Autorisierung)Rollen, BerechtigungenEin Benutzer überschreitet seine Rolle
Wem gehören diese Daten? (Isolation)Tenant-Eingrenzung + Mauern in der DatenschichtEin gültiger Benutzer liest einen fremden Tenant

Die dritte Zeile ist die, die Schlagzeilen produziert, denn sie besteht jeden Test, den die ersten beiden Zeilen definieren: Der Angreifer meldet sich legitim an, benutzt erlaubte Operationen – und geht durch eine fehlende Mauer. Die kanonischen Schwachstellen zwischen Tenants aus der Cloud-Ära (die ChaosDB-Klasse von Forschungsergebnissen, bei der ein Tenant sich Zugriff auf die Datenbanken anderer verschaffen konnte) waren allesamt Fehler der dritten Zeile in Systemen mit tadellosen ersten und zweiten Zeilen.

Woher die Lecks tatsächlich kommen

  • Der vergessene Filter – eine Abfrage ohne ihre Tenant-Eingrenzung; der Grund, warum Mauern in die Datenschicht gehören und nicht in das Gedächtnis der Entwickler.
  • IDOR – fortlaufende oder erratbare IDs, ohne Tenant-Prüfung abgerufen; eine ID austauschen, den Datensatz eines Fremden lesen.
  • Ausführung außerhalb des Kontexts – Hintergrund-Jobs, Webhooks, geplante Aufgaben und Datenexporte, die mit weit gefassten Zugangsdaten und ohne Tenant-Kontext laufen.
  • Nicht eingegrenzte geteilte Dienste – Cache-Schlüssel, Suchindizes und Dateipfade ohne Tenant-Präfix; die Mauer der Datenbank hält, während der Cache leckt.
  • Pipelines am Rand – Analytik und Reporting lesen die Datenbank direkt, unterhalb jeder Prüfung der Anwendung.
  • Dem Client anvertraute Zugehörigkeit – eine Tenant-ID, die aus dem Anfragekörper übernommen statt aus der Session abgeleitet wird; die höflichste denkbare Art, fremde Tenant-Daten zu verteilen.

Sicherheitsisolation vs. Noisy Neighbors

Dasselbe Wort, zwei Probleme. Sicherheitsisolation hält Tenant A aus den Daten von Tenant B heraus. Performance-Isolation hält den Massenimport von Tenant A aus der Checkout-Latenz von Tenant B heraus – gelöst mit Kontingenten, Rate Limits und Partitionierung und behandelt auf der Architekturseite dieses Themas. Ein System kann wasserdicht sein und trotzdem zulassen, dass ein Tenant den Rest aushungert; planen Sie Budget für beides ein, und lassen Sie eine Diskussion über Kontingente nicht als Sicherheitsüberprüfung durchgehen.

Tenant-Isolation testen

Der feindselige Durchgang mit zwei Tenants, automatisiert in der CI: Legen Sie Tenant A und B an und versuchen Sie dann jede Überkreuzung – die Objekt-IDs von B über die Session von A auf jedem Endpoint (der IDOR-Durchlauf), das Token von A gegen die Ressourcen von B, die Oberflächen abseits des Hauptpfads (Exporte, Admin-Oberflächen, Jobs) mit dem Kontext jedes Tenants und eine Prüfung von Cache-Schlüsseln, Datei-URLs und Suchergebnissen auf fehlende Tenant-Eingrenzung. Ergänzen Sie den Fall des ungesetzten Kontexts: kein Tenant in der Session muss keine Zeilen bedeuten, niemals alle Zeilen. Isolation, die in der CI nicht angegriffen wurde, ist eine Hypothese mit Compliance-Zertifikat.

Typische Anwendungsfälle

  • B2B-SaaS. Jeder Workspace ist ein Tenant; Isolation ist das Produktversprechen unter jedem Feature.
  • Plattformen, die Kunden-Apps hosten. Zwei Ebenen auf einmal – die Plattform isoliert die Apps voneinander, jede App isoliert ihre eigenen Tenants.
  • Enterprise- und regulierte Tarife. Vertragliche Isolationsforderungen, übersetzt in stärkere Mauern – eigene Schlüssel pro Tenant, dedizierte Ressourcen – für die Kunden, die sie verlangen.
  • Agenturen und White-Label-Produkte. Ein Deployment, viele Kundenorganisationen, jede für sich versiegelt.
  • Interne Plattformen für mehrere Teams. Abteilungen als Tenants; freundlicheres Bedrohungsmodell, identische Mechanik.

Wie viel Isolation? Entscheidungsmatrix

Geteilt + Mauern in der Datenschicht, wenn …Stärkere Trennung, wenn …
Viele kleine Tenants, übliche SensibilitätVerträge Isolationsanforderungen benennen
Die Kosten pro Tenant nahe null bleiben müssenDie Daten eines Tenants eigene Schlüssel oder eine eigene Region verlangen
Die Mauern durchgesetzt (RLS/ACLs) und getestet sindArgumente zum Schadensradius die Ökonomie der Dichte schlagen
Ein Aktualisierungszyklus alle abdecken sollWiederherstellung pro Tenant ein zugesagtes Feature ist
Das Team feindselige Tests pflegen kannPrüfer Grenzen sehen wollen, auf die sie zeigen können

Die ehrliche Einordnung: Geteilt mit durchgesetzten, getesteten Mauern ist legitime Isolation – der Großteil der Branche fährt damit. Schieben Sie einzelne Tenants die Leiter der Trennung hinauf, wenn ihre Anforderungen es verlangen, nicht die Mode.

Grenzen und Trade-offs

  • Isolation bleibt für immer ein Querschnittsthema. Jedes neue Feature – Cache, Queue, Export, Suche – stellt die Tenant-Frage neu; die Disziplin wird nie fertig.
  • Mauern in der Datenschicht haben ihr operatives Kleingedrucktes. Session-Kontext vs. Connection Pooling, Rollen zur Umgehung von Policies und Dump-Modi – der Eintrag zur zeilenbasierten Sicherheit führt sie auf.
  • Der geteilte Schadensradius überlebt jede Korrektheit. Perfekte logische Isolation teilt weiterhin Fehlerdomänen – ein schlechtes Deployment trifft jeden Tenant; daran ändert nur physische Trennung etwas.
  • Testen ist der nicht eingeplante Posten. Die Suite mit zwei Tenants ist echte Ingenieursarbeit; sie wegzulassen macht aus “durchgesetzt” wieder “angenommen”.
  • Stärkere Mauern kosten Dichte. Schlüssel pro Tenant, Silos und dedizierte Ressourcen opfern allesamt die Ökonomie, die das Teilen attraktiv machte – geben Sie sie für die Tenants aus, die sie brauchen.

Tenant-Isolation mit Back4app

Back4app ist eine Open-Source-Plattform für Backend as a Service (BaaS), die eine verwaltete Datenbank, automatisch generierte REST- und GraphQL-APIs, Authentifizierung, Dateispeicher und Serverless-Funktionen mit Cloud Code kombiniert. Isolation beginnt hier bauartbedingt in der Datenschicht: Rollen definieren den Tenant, die ACL jedes Objekts versiegelt es auf diese Rolle, und Klassenberechtigungen schützen das Schema – serverseitig durchgesetzt auf jedem Pfad, SDKs, REST, GraphQL und Dashboard gleichermaßen, sodass der Bug mit dem vergessenen Filter nichts mehr zu vergessen hat. Die Plattform selbst wendet dieselbe Disziplin eine Ebene höher an und isoliert das Backend jeder App von dem aller anderen – und die technische Vertiefung zur zeilenbasierten Sicherheit zeigt das vollständige Muster in der Praxis.

Häufige Fragen

Was ist Tenant-Isolation?

Die Menge der architektonischen Kontrollen, die verhindern, dass ein Tenant in einem geteilten System an die Daten oder Ressourcen eines anderen Tenants gelangt – die Wände zwischen den Wohnungen eines gemeinsamen Hauses. Sie umfasst jede geteilte Schicht: Datenbankzeilen, Caches, Queues, Dateispeicher und Rechenleistung, und jede davon braucht ihre eigene Grenze, zugeschnitten auf den aktuellen Tenant.

Wie unterscheidet sich Tenant-Isolation von Authentifizierung und Autorisierung?

Ein Benutzer kann vollständig authentifiziert und für seine Rolle korrekt autorisiert sein – und trotzdem an die Daten eines anderen Tenants gelangen, wenn nichts die Abfrage eingrenzt. Authentifizierung belegt, wer Sie sind; Autorisierung entscheidet, welche Aktionen Sie ausführen dürfen; Isolation garantiert, in wessen Universum diese Aktionen stattfinden. Das ist eine eigene Schicht, und Anmeldung plus Rollen für ausreichend zu halten ist die Wurzel der meisten Fehler zwischen Tenants.

Wodurch entsteht Datenabfluss zwischen Tenants?

Die Liste ist kurz und stabil: Abfragen ohne ihren Tenant-Filter; IDOR – erratbare IDs, die ohne Tenant-Eingrenzung geholt werden; Hintergrund-Jobs, Webhooks und Exporte, die außerhalb des Tenant-Kontexts laufen; Caches, deren Schlüssel den Tenant nicht enthalten; Pipelines für Analytik und Reporting, die an den Prüfungen der Anwendung vorbeilaufen; und das Vertrauen in eine vom Client gelieferte Tenant-Kennung, statt sie serverseitig aus der Session abzuleiten.

Ist das Noisy-Neighbor-Problem dasselbe wie Tenant-Isolation?

Es sind Geschwister, nicht dasselbe Problem. Sicherheitsisolation verhindert, dass ein Tenant auf die Daten eines anderen zugreift; Performance-Isolation – das Noisy-Neighbor-Problem – verhindert, dass die Last eines Tenants die aller anderen verschlechtert, und wird mit Kontingenten, Throttling und Partitionierung gelöst. Diskussionen werfen beides regelmäßig zusammen; ein System kann perfekt abgesichert sein und trotzdem zulassen, dass ein Tenant den Rest aushungert.

Welches Isolationsmodell verlangen Compliance-Rahmenwerke?

Keines der großen Rahmenwerke schreibt eine Architektur vor – sie sind ergebnisorientiert und verlangen angemessene und nachweisbare Maßnahmen. Physische Trennung wird typischerweise von Großkunden und Verträgen getrieben, nicht von Aufsichtsbehörden. Was Audits tatsächlich belohnen: Durchsetzung in der Datenschicht, dokumentierte Grenzen und den Nachweis, dass Isolation getestet und nicht angenommen wird.

Wie setzt zeilenbasierte Sicherheit die Tenant-Isolation durch?

Indem sie die Tenant-Grenze zu einer Eigenschaft der Tabelle macht: Policies filtern jede Abfrage nach dem Tenant-Kontext der Session, sodass eine Abfrage, die ihren Filter vergisst, nichts liefert statt alles. Das Gegenstück in Dokumentdatenbanken ist Zugriffskontrolle pro Objekt – ACLs, die die Rolle des Tenants benennen – von der Plattform bei jeder Anfrage durchgesetzt. So oder so steht die Mauer auch dann, wenn der Anwendungscode strauchelt.

Wie testet man Tenant-Isolation?

Feindselig, mit zwei Tenants: Tauschen Sie Objekt-IDs zwischen ihnen auf jedem Endpoint (die IDOR-Sonde), spielen Sie das Token des einen Tenants gegen die Ressourcen des anderen, üben Sie die Pfade abseits der Hauptanwendung durch – Exporte, Admin-Oberflächen, Hintergrund-Jobs – und prüfen Sie Cache-Schlüssel und Datei-URLs auf fehlende Tenant-Eingrenzung. Automatisieren Sie die negativen Tests in der CI; Isolation, die nicht getestet ist, ist eine Hypothese.

Welche Schichten brauchen außer der Datenbank noch Isolation?

Alles Geteilte: Cache-Schlüssel mit Tenant-Präfix, Queue-Topics und Consumer Groups pro Tenant, Objektspeicher unter Präfixen je Tenant mit passenden Zugriffs-Policies, eigene Verschlüsselungsschlüssel pro Tenant, wo Verträge sie verlangen, und Tenant-Claims, die in Token mitgeführt und bei jeder Anfrage geprüft werden. Die Mauer in der Datenbank ist notwendig, aber nie hinreichend.

Verwandte Begriffe

Vergleichen mit

Weiterführende Quellen

Bereit, Ihr Backend zu bauen?

Starten Sie Ihr Projekt auf Back4app in wenigen Minuten — Datenbank, Authentifizierung, APIs und Cloud Code inklusive. Keine Kreditkarte erforderlich.

Geschrieben und geprüft von Back4app Engineering, Back4app Engineering · Veröffentlicht am 2026-09-26