Spring til indhold

Ordbog

RLS — Row Level Security

En databasepolitik der sikrer, at hver forespørgsel kun ser de rækker den må — typisk scoped til en organisation eller bruger.

Hvad betyder det?

RLS (Row Level Security) er en Postgres-funktion der filtrerer rækker automatisk ud fra politikker I definerer. Applikationen behøver ikke huske `WHERE org_id = …` i hver eneste query — databasen håndhæver det.

I multi-tenant SaaS er RLS ofte den sidste forsvarslinje: selv hvis en bug glemmer et filter i koden, slipper kunde A’s data ikke ud til kunde B.

Hvornår det betyder noget

  • Multi-tenant produkter

    Når flere organisationer deler samme database, og isolation ikke må være valgfri.

  • Kundeportaler

    Når eksterne brugere ser ordrer, dokumenter eller tickets — og fejl er dyre.

  • Compliance og due diligence

    Når I skal kunne forklare hvordan data er isoleret — ikke bare stole på app-kode.

  • Team der vokser

    Når flere udviklere rører queries, og manuelle WHERE-filtre bliver en risiko.

Korte svar

  • Er RLS det samme som roller i appen?

    Nej. App-roller styrer hvad UI’en tillader. RLS styrer hvad databasen overhovedet returnerer — også hvis koden fejler.

  • Kan vi starte uden RLS?

    Til en tidlig prototype med få brugere: nogle gange. Før I har betalende kunder med følsomme data: nej — det er dyrere at skære ind senere.

  • Virker det kun i Postgres?

    RLS som begreb er stærkest i Postgres. Andre databaser har lignende mønstre, men vi bygger typisk på Postgres + RLS.

Skal jeres data være isoleret rigtigt?

Lad os gennemgå jeres tenant-model.

Vi kigger på queries, politikker og risici — uden at sælge jer unødvendig kompleksitet.