06: Datenbank, Rollen und Row Level Security
Einstiegssituation
Sobald mehrere Nutzer oder Kunden Daten sehen, reicht Frontend-Logik nicht aus. Die Datenbank selbst muss Zugriffe begrenzen.
Lernziel
Nach diesem Modul verstehst Du, warum Row Level Security fuer Mandantenfaehigkeit und Kundendatenschutz zentral ist.
Einfach erklaert
Eine App hat mehrere Schichten: Oberflaeche, Server und Datenbank. Wenn nur die Oberflaeche prueft, wer Daten sehen darf, kann ein Fehler im Server fremde Daten sichtbar machen.
Row Level Security bedeutet: Die Datenbank prueft selbst, welche Zeilen ein Nutzer lesen oder aendern darf.
Grundbegriffe
- Tabelle: Speicherort fuer gleichartige Daten
- Rolle: technische Berechtigung
- Policy: Regel fuer Lesen, Schreiben oder Loeschen
- Mandant: Kunde oder Organisation, der Daten gehoeren
- RLS: Zugriffsschutz auf Zeilenebene
Minimalmodell fuer den Branchenmonitor
Ein spaeteres MVP braucht voraussichtlich:
Im Lernschritt reicht zuerst eine Skizze. Produktive Daten kommen erst nach Zugriffstests.
Praxisaufgabe
Beschreibe in natuerlicher Sprache:
Agenten-Prompt
Du bist Datenbankarchitekt mit Fokus auf Sicherheit.
Entwirf ein minimales Datenmodell fuer ein Branchenmonitor-Dashboard.
Anforderungen:
- mehrere Organisationen werden strikt getrennt
- Nutzer sehen nur Daten ihrer Organisation
- RLS wird von Anfang an vorgesehen
- keine personenbezogenen Daten im MVP
- Audit-Logs ermoeglichen spaetere Pruefungen
Gib aus:
- Tabellen
- wichtigste Felder
- Rollen
- RLS-Regeln in natuerlicher Sprache
- Risiken
- Testfaelle fuer Zugriffsschutz
Sicherheitspruefung
Fuer jede Tabelle:
Abnahme
Das Modul ist abgeschlossen, wenn Zugriffsschutz als Datenbankanforderung beschrieben ist und nicht nur als Frontend-Wunsch.
Typische Fehler
Transferfrage
Welcher Test beweist, dass ein Nutzer keine Daten einer fremden Organisation sehen kann?