Hozzáférés-vezérlési lista (ACL) - hozzáférés-szabályozási lista, amely meghatározza, hogy ki vagy mi férhet hozzá egy objektumhoz (programhoz, folyamathoz vagy fájlhoz), és milyen műveleteket engedélyezhet vagy tilthat az alany (felhasználó, felhasználói csoport).
A hozzáférés-vezérlési listák képezik a szelektív hozzáférés-vezérlő (DAC) rendszerek gerincét .
Először 1965-ben vezették be az OS Multics -ban, azóta a többszörös megvalósítás szinte minden elosztott hozzáférésű programtípusban elterjedt.
A tipikus ACL-ekben minden bejegyzés egy tárgyat és egy műveletet határoz meg: például az XYZ fájl ACL- jében a (Vasya, delete) bejegyzés lehetővé teszi a Vasya felhasználó számára az XYZ fájl törlését .
Az ACL-alapú biztonsági modellel rendelkező rendszerekben, amikor egy alany műveletet kér egy objektumon, a rendszer először ellenőrzi az adott alany számára engedélyezett műveletek listáját, és csak ezután ad (vagy nem ad) hozzáférést a kért művelethez.
Az ACL-eket használó rendszerek két kategóriába sorolhatók: diszkrecionális ( angolul diszkrecionális ) és kötelező ( angol kötelező ). Egy rendszerről azt mondhatjuk, hogy diszkrecionális hozzáférés-szabályozásra épül, ha egy objektum létrehozója vagy tulajdonosa teljes mértékben felügyeli az objektumhoz való hozzáférést, beleértve azon személyek listáját, akik jogosultak megváltoztatni az objektum hozzáférési jogait. Egy rendszerről elmondható, hogy kötelező hozzáférés-vezérléssel rendelkezik , ha a felhasználó által definiált ACL-eket rendszerkorlátozások felülbírálják.
A hozzáférés-vezérlési listák központosított tárolásánál beszélhetünk hozzáférési mátrixról , amelyben az objektumok és alanyok a tengelyek mentén helyezkednek el, a megfelelő jogok pedig a cellákban vannak. Azonban számos rendszerben az objektum hozzáférés-vezérlési listákat minden objektumhoz külön-külön tárolják, gyakran közvetlenül az objektummal együtt.
A hagyományos ACL rendszerek az egyes felhasználókhoz rendelnek jogokat, és az idő és a rendszerben lévő felhasználók számának függvényében a hozzáférési listák nehézkessé válhatnak. A probléma megoldása a jogok hozzárendelése a felhasználók csoportjaihoz, nem pedig egyenként. Egy másik megoldás erre a problémára a " szerepkör-alapú hozzáférés-vezérlés ", ahol számos objektumhoz tartozó jogok funkcionális részhalmazait "szerepekké" egyesítik, és ezeket a szerepköröket a felhasználókhoz rendelik. Az első változatban azonban a felhasználói csoportokat gyakran szerepeknek is nevezik .
A fájlrendszerek a folyamat felhasználói azonosítóját ( POSIX kifejezéssel UID ) használják az ACL - ek megvalósításához .
A hozzáférési lista egy adatstruktúra (általában egy tábla), amely bejegyzéseket tartalmaz, amelyek meghatározzák az egyes felhasználók vagy csoportok jogait speciális rendszerobjektumokhoz, például programokhoz , folyamatokhoz vagy fájlokhoz. Ezeket a bejegyzéseket ACE-ként ( Access Control Entries ) is ismerik a Microsoft Windows és OpenVMS operációs rendszerekben . Linux és Mac OS X rendszeren a legtöbb fájlrendszer kiterjesztett attribútumokkal rendelkezik, amelyek ACL-ként működnek . A rendszerben minden objektum tartalmaz egy mutatót a saját ACL-ére. A jogosultságok (vagy jogosultságok) olyan speciális hozzáférési jogokat határoznak meg, amelyek lehetővé teszik a felhasználó számára, hogy egy objektumból olvasson ( eng. read ), írjon oda ( eng. write ) vagy végrehajtsa ( eng. execute ). Egyes megvalósításokban az ACE-k (Access Control Entries) meghatározhatják a felhasználó vagy csoport jogát egy objektum ACL-jének módosítására.
A meglévő POSIX „szabvány” ellenére az ACL-koncepciók eltérőek az operációs rendszerek között. (A POSIX biztonsági tervezeteket (.1e és .2c) visszavonták, amikor kiderült, hogy túl sok hatókört fedtek le, és a munkát nem lehet befejezni, de az ACL-eket meghatározó jól meghatározott részek széles körben kerültek bevezetésre, és „POSIX ACL-ként” ismertek. ".)
A hálózatokban az ACL -ek olyan szabályok listája, amelyek meghatározzák a gazdagépen vagy más OSI 3. rétegű eszközön elérhető szolgáltatásportokat vagy tartományneveket , amelyek mindegyike tartalmazza azon gazdagépek és/vagy hálózatok listáját, amelyek számára engedélyezett a szolgáltatás elérése. A hálózati ACL-ek normál kiszolgálón és útválasztón is konfigurálhatók , és tűzfalként egyaránt vezérelhetik a bejövő és kimenő forgalmat .