PMFA
← Zurück zum Index
006

Multi-Tenancy ohne RLS ist Theater

Geteilte Datenbanken mit Tenant-IDs sind keine Isolation. Sie sind einen Verstoß von der Katastrophe entfernt.
Version 1.0.0 — Ratifiziert

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:

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:

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:

Aber er ist passiert.
Das Isolationsversprechen ist gebrochen.

V. Row-Level Security

Row-Level Security (RLS) erzwingt Isolation auf Datenbankebene.

Mit RLS:

RLS ist nicht optional.
Es ist die Mindestanforderung für echte Isolation.

VI. Jenseits von RLS

Echte Isolation kann erfordern:

Die Wahl hängt ab von:

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:

Die Kosten ordnungsgemäßer Isolation sind bekannt und budgetierbar.
Die Kosten eines Verstoßes sind unbekannt und unbegrenzt.

Wählen Sie Isolation.
Nicht Konvention.

Canonical text. Interpretations are invalid.
SHA-256: 7e32392c0c738c59633e43d4eebc14dd7dc365fb1bd59d8aaebe3e763ee4fe87