Gå til indhold
atlas

Autorisation

Også kendt som: autorisering

At afgøre, hvad en allerede identificeret bruger har lov til, fx hvilke filer vedkommende må åbne eller ændre.

Kladde - dette opslag er endnu ikke gennemgået.

Formelt

Afgørelsen, der træffes efter autentificering, om en given identitet må udføre en bestemt handling på en bestemt ressource, ud fra dens rettigheder, roller eller andre regler.

Forklaret enkelt

Som armbåndet på en festival - indgangen ved allerede, hvem du er, og farven på armbåndet afgør, om du må komme backstage.

I praksis

En sagsbehandler i en kommunes borgerservice er logget ind, men da hun prøver at åbne lønmappen, tjekker systemet hendes rettigheder og afviser hende, fordi kun HR må læse den.

Hvorfor det betyder noget

Når autorisationen giver mere, end folk har brug for, kan ét stjålet login eller én uforsigtig medarbejder blotlægge langt flere data end nødvendigt.

Teknisk uddybning

Formelt er en autorisationsbeslutning en funktion af subjekt, handling, ressource og kontekst, der returnerer tilladt eller afvist, nogle gange med forpligtelser som "log dette" eller "maskér disse felter". Måden, funktionen udtrykkes på, definerer modellen: adgangskontrollister knyttet til ressourcerne, roller i RBAC, attributregler i ABAC (NIST SP 800-162) eller relationstupler i ReBAC. Googles Zanzibar-artikel (USENIX ATC 2019) gemmer tupler på formen objekt#relation@bruger og vurderer rettigheder ved at gennemløbe grafen; den indførte konsistens-tokens ("zookies") for at undgå "new enemy"-problemet, hvor et tjek køres mod et øjebliksbillede, der er ældre end en netop gennemført tilbagekaldelse. Politiksprog omfatter OASIS XACML 3.0, Open Policy Agents Rego og Cedar.

Beslutningerne ligger typisk i lag. Grove tjek i en API-gateway eller middleware ser på ruten og tokenets scopes; finkornede tjek inde i tjenesten ser på det konkrete objekt og dets ejer eller tenant. OAuth-scopes begrænser, hvad en klient har fået delegeret, ikke hvad brugeren har lov til, så den reelle rettighed er fællesmængden af de to. Claims, der bages ind i et JWT ved udstedelsen, gælder til udløb, selv om brugerens rettigheder trækkes tilbage; derfor kombinerer følsomme systemer korte levetider med token-introspektion (RFC 7662) eller et live opslag i politikken og bruger token exchange (RFC 8693) i stedet for at sende et bredt token videre til bagvedliggende tjenester.

Den dominerende fejl er en manglende kontrol på objektniveau. OWASP API Security Top 10 2023 placerer Broken Object Level Authorization som API1, Broken Object Property Level Authorization (herunder mass assignment) som API3 og Broken Function Level Authorization som API5; for webapplikationer er Broken Access Control A01 i OWASP Top 10:2021 og 2025. Typiske fejl er at tage tenant- eller bruger-id fra forespørgslens indhold i stedet for fra det autentificerede token, kun at håndhæve regler i brugergrænsefladen og at stole på rolleflag fra klienten. Confused deputy-mønsteret opstår, når en tjeneste godkender en forespørgsel ud fra sine egne brede rettigheder i stedet for kalderens.

I kontrolkataloger placerer NIST SP 800-53 Rev. 5 håndhævelsen under AC-3 (Access Enforcement), funktionsadskillelse under AC-5 og mindste privilegium under AC-6. HTTP afspejler grænsen til autentificering, dog med forvirrende navne: Statuskode 401 "Unauthorized" betyder, at forespørgslen mangler gyldig autentificering, mens 403 "Forbidden" betyder, at serveren ved, hvem der spørger, og afviser (RFC 9110 §15.5.2 og §15.5.4). Autorisation forudsætter altid autentificering, men et stærkt login siger intet om, hvorvidt en bestemt forespørgsel bør tillades.

Hvad du bør lære først

Alt det, dette bygger på - grundlaget først.

  1. Digital identitet
  2. →Loginoplysning (credential)
  3. →Autentificering
  4. →Autorisation

Relationer

Forudsætter
Autentificering
Implementeres af
OAuth
Forveksl ikke med
Autentificering
Bruges sammen med
RettighedZero Trust

Kilder og videre læsning

Hvor dataene kommer fra

Dette opslag er skrevet af en AI ud fra kilderne ovenfor og er endnu ikke gennemgået af et menneske. Brug det som udgangspunkt, og tjek alt vigtigt mod kilderne.

Se gennemgangskøenForeslå en rettelse på GitHubDette begreb som JSON

Test dig selv

Indlæser…

Atlas er i beta.