Was ist Row-Level Security?
Row-Level Security (RLS) ist eine Datenbankfunktion, die Zeile für Zeile festlegt, welche Datensätze jeder Nutzer lesen oder ändern darf. So sieht ein Kunde nur seine eigenen Bestellungen, selbst wenn die App mehr anfordert.
Ohne sie steckt die Regel „Nutzer sehen nur ihre eigenen Daten“ im Code der App. Vergisst ein Bildschirm oder eine API die Prüfung, können private Daten auslaufen.
Mit Row-Level Security steckt die Regel in der Datenbank selbst. Du schreibst eine Richtlinie wie „eine Zeile in orders ist nur sichtbar, wenn ihre customer_id zum angemeldeten Nutzer passt“, und die Datenbank wendet sie auf jede Abfrage an.
Postgres unterstützt Row-Level Security, und manche Backend-Dienste verlassen sich stark darauf, weil ihre Apps direkt aus dem Browser mit der Datenbank sprechen. In solchen Aufbauten kann eine Tabelle ohne Richtlinie von jedem gelesen werden.
RLS ist eine Schutzschicht, nicht die einzige. Apps brauchen weiterhin eine saubere Anmeldung, serverseitige Prüfungen und einen sorgfältigen Umgang mit Admin-Zugriffen.
Beispiele
- Kunden im Portal sehen nur ihre eigenen Dokumente
- Jedes Team in einem Tool sieht nur seine eigenen Projekte
Fragen
Brauche ich Row-Level Security?
Wenn deine App private Daten vieler Nutzer speichert und ein Teil davon die Datenbank direkt aus dem Browser abfragt, ja. Wenn der gesamte Zugriff über ein Backend läuft, das Berechtigungen prüft, ist RLS ein zusätzliches Sicherheitsnetz.
Ist Row-Level Security dasselbe wie Rollen?
Nein. Rollen beschreiben, welche Art Nutzer jemand ist, etwa Admin oder Mitglied. Row-Level Security nutzt Fakten wie die Nutzer-ID oder die Rolle, um zu entscheiden, auf welche konkreten Zeilen jemand zugreifen darf.
Siehe auch
Mythex · Pricing · Alles mit KI bauen · Vorlagen für Websites und Apps · Mythex im Vergleich · Glossar zum App-Bau mit KI · Kostenlose Tools für den App-Bau mit KI · English