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

Minimalmodell fuer den Branchenmonitor

Ein spaeteres MVP braucht voraussichtlich:

  • Organisationen
  • Nutzer
  • Quellen
  • Meldungen
  • KI-Zusammenfassungen
  • Audit-Logs
  • Im Lernschritt reicht zuerst eine Skizze. Produktive Daten kommen erst nach Zugriffstests.

    Praxisaufgabe

    Beschreibe in natuerlicher Sprache:

  • Welche Daten gehoeren einer Organisation?
  • Welche Daten darf ein normaler Nutzer sehen?
  • Welche Daten darf ein Administrator sehen?
  • Welche Aktionen muessen protokolliert werden?
  • 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:

  • Wem gehoeren die Daten?
  • Wer darf lesen?
  • Wer darf schreiben?
  • Wer darf loeschen?
  • Welche Aktion wird protokolliert?
  • Was passiert bei Zugriff auf fremde Organisationen?
  • Abnahme

    Das Modul ist abgeschlossen, wenn Zugriffsschutz als Datenbankanforderung beschrieben ist und nicht nur als Frontend-Wunsch.

    Typische Fehler

  • RLS spaeter nachruesten wollen.
  • normale Nutzer mit Administratorrechten arbeiten lassen.
  • Mandanten nicht sauber trennen.
  • Service-Keys im Frontend verwenden.
  • Transferfrage

    Welcher Test beweist, dass ein Nutzer keine Daten einer fremden Organisation sehen kann?