Adgangskontrolliste (ACL) - en adgangskontrolliste, der bestemmer, hvem eller hvad der kan få adgang til et objekt (program, proces eller fil), og hvilke handlinger der er tilladt eller forbudt at udføre af subjektet (bruger, brugergruppe).
Adgangskontrollister er rygraden i selektiv adgangskontrol (DAC) systemer .
Først introduceret i OS Multics i 1965, siden da er flere implementeringer blevet udbredt i næsten alle typer programmer med distribueret adgang.
I typiske ACL'er definerer hver post et emne og en operation: for eksempel giver (Vasya, slet) indgangen i ACL'en for filen XYZ brugeren Vasya mulighed for at slette filen XYZ .
I et system med en ACL-baseret sikkerhedsmodel, når et emne anmoder om en operation på et objekt, tjekker systemet først listen over handlinger, der er tilladt for det pågældende emne, og først derefter giver (eller giver ikke) adgang til den anmodede handling.
Systemer, der bruger ACL'er, kan opdeles i to kategorier: diskretionær ( engelsk diskretionær ) og obligatorisk ( engelsk obligatorisk ). Et system kan siges at være bygget på skønsmæssig adgangskontrol, hvis skaberen eller ejeren af et objekt har fuld kontrol over adgangen til objektet, herunder listen over dem, der må ændre adgangsrettigheder til objektet. Et system kan siges at have obligatorisk adgangskontrol, hvis brugerdefinerede ACL'er tilsidesættes af systemrestriktioner.
Med centraliseret lagring af adgangskontrollister kan vi tale om en adgangsmatrix , hvor objekter og emner er placeret langs akserne, og de tilsvarende rettigheder er i cellerne. Men i et stort antal systemer gemmes objektadgangskontrollister separat for hvert objekt, ofte direkte med selve objektet.
Traditionelle ACL-systemer tildeler rettigheder til individuelle brugere, og med tiden og antallet af brugere i systemet kan adgangslister blive uhåndterlige. En løsning på dette problem er at tildele rettigheder til grupper af brugere og ikke individuelt. En anden løsning på dette problem er " rollebaseret adgangskontrol ", hvor funktionelle delmængder af rettigheder til en række objekter kombineres til "roller", og disse roller tildeles brugere. Men i den første variant omtales brugergrupper også ofte som roller .
Filsystemer bruger procesbruger -id'et ( UID i POSIX - termer ) til at implementere ACL'er .
En adgangsliste er en datastruktur (normalt en tabel), der indeholder poster, der definerer en individuel brugers eller gruppes rettigheder til specielle systemobjekter såsom programmer , processer eller filer. Disse poster er også kendt som ACE'er ( Adgangskontrolindgange ) i Microsoft Windows og OpenVMS operativsystemer . På Linux og Mac OS X har de fleste filsystemer udvidede attributter, der fungerer som ACL'er. Hvert objekt i systemet indeholder en pointer til sin egen ACL. Privilegier (eller beføjelser) definerer særlige adgangsrettigheder, der tillader en bruger at læse fra ( eng. read ), skrive til ( eng. write ) eller udføre ( eng. execute ) et objekt. I nogle implementeringer kan ACE'er (Access Control Entries) definere en brugers eller gruppes ret til at ændre et objekts ACL.
ACL-koncepter er forskellige mellem operativsystemer, på trods af den eksisterende POSIX "standard". (POSIX-sikkerhedsudkastene, .1e og .2c, blev trukket tilbage, da det stod klart, at de dækkede for meget, og arbejdet ikke kunne fuldføres, men de veldefinerede dele, der definerer ACL'er, blev bredt implementeret og er kendt som "POSIX ACL'er ".)
I netværk er ACL'er en liste over regler, der definerer de tjenesteporte eller domænenavne, der er tilgængelige på en vært eller anden OSI-lag 3 -enhed , hver med en liste over værter og/eller netværk, der har tilladelse til at få adgang til tjenesten. Netværks ACL'er kan konfigureres på både en normal server og en router og kan styre både indgående og udgående trafik som en firewall .