Multi-Tenancy ohne RLS ist Theater
Multi-Tenancy ist kein Feature.
Multi-Tenancy ist eine Isolationsanforderung.
Ohne Row-Level Security ist Multi-Tenancy Theater.
I. Das Multi-Tenancy-Versprechen
Multi-Tenancy verspricht:
- Kosteneffizienz durch geteilte Infrastruktur
- vereinfachte Operationen
- schnellere Skalierung
Diese Vorteile sind real.
Sie sind auch gefährlich ohne ordnungsgemäße Isolation.
II. Die übliche Implementierung
Die meisten Multi-Tenant-Systeme implementieren Isolation durch Tenant-IDs.
Jede Tabelle hat eine tenant_id-Spalte.
Jede Abfrage enthält WHERE tenant_id = ?.
Das ist keine Isolation.
Das ist Konvention.
III. Konvention ist keine Sicherheit
Konvention verlässt sich auf:
- Entwickler, die daran denken, den Filter hinzuzufügen
- Code-Reviews, die Auslassungen erkennen
- Tests, die alle Pfade abdecken
- niemanden, der einen Fehler macht
Konvention versagt bei Skalierung.
Konvention versagt unter Druck.
Konvention versagt irgendwann.
Wenn Konvention versagt, überschreiten Daten Tenant-Grenzen.
IV. Das Verstoß-Szenario
Eine einzige fehlende WHERE-Klausel.
Eine einzige Debugging-Session mit erhöhtem Zugriff.
Ein einziges Migrationsskript ohne den Filter.
Ein Tenant sieht Daten eines anderen Tenants.
Der Verstoß kann sein:
- versehentlich
- unentdeckt
- nicht gemeldet
Aber er ist passiert.
Das Isolationsversprechen ist gebrochen.
V. Row-Level Security
Row-Level Security (RLS) erzwingt Isolation auf Datenbankebene.
Mit RLS:
- die Datenbank erzwingt Tenant-Grenzen
- Anwendungscode kann Isolation nicht umgehen
- fehlende Filter können Daten nicht exponieren
- Erhöhung erfordert explizite Aktion
RLS ist nicht optional.
Es ist die Mindestanforderung für echte Isolation.
VI. Jenseits von RLS
Echte Isolation kann erfordern:
- Schema-Trennung: jeder Tenant in eigenem Schema
- Datenbank-Trennung: jeder Tenant in eigener Datenbank
- Physische Trennung: jeder Tenant auf eigener Infrastruktur
Die Wahl hängt ab von:
- regulatorischen Anforderungen
- Datensensitivität
- Verstoß-Konsequenzen
Mehr Trennung bedeutet mehr Isolation.
Mehr Isolation bedeutet mehr Vertrauen.
VII. Endgültige Schlussfolgerung
Multi-Tenancy ohne RLS ist Theater.
Es erzeugt den Anschein von Isolation.
Es erzeugt keine Isolation.
Wenn Isolation versagt:
- bricht Vertrauen zusammen
- entsteht Haftung
- ist Wiederherstellung unmöglich
Die Kosten ordnungsgemäßer Isolation sind bekannt und budgetierbar.
Die Kosten eines Verstoßes sind unbekannt und unbegrenzt.
Wählen Sie Isolation.
Nicht Konvention.
SHA-256: 7e32392c0c738c59633e43d4eebc14dd7dc365fb1bd59d8aaebe3e763ee4fe87