Skip to content

Листе контроле приступа и додељених права

Ауторизација се спроводи помоћу два основна концепта:

  • листе контроле приступа – ACL (Access Control Lists) листе
  • листе додељених права – C (Capatibilities) листе

Листе контроле приступа и листе додељених права изведене су из Лампсонове матрице контроле приступа. У Лампсоновој матрици субјекти (корисници) индексирају редове, а објекти (ресурси) индексирају колоне.

Лампсонова матрица контроле приступа

У табели r представља читање (read), w писање (write) и х извршење (execute).

ACL дефинишу права приступа објекту по колонама. На пример, за податке о осигурању важи:
ACL(Insurance data)={(Bob,---),(Alice,rw),(Sam,rw),(Accounting program,rw)}

C дефинишу права приступа субјекту по редовима. На пример, за Алису важи:
C(Alice)={(OS,rx),(Accounting program,rx),(Accounting data,r),(Insurance data,rw),(Payroll data,rw)}

Проблем са контролом приступа провером података у матрици може бити брзина, јер пре приступа било ком ресурсу система треба извршити проверу. Ако систем има 1000 корисника и 1000 ресурса, то би значило да сваки пут треба вршити проверу над милион уноса. Због тога се користе ACL или C листе.

Размотрите једну класичну ситуацију (збуњени изасланик):
Систем има два ресурса: компајлер и фајл Рачуни. Компајлер може да мења фајл Рачуни. Корисник Алиса може да користи компајлер, али не може да мења фајл Рачуни. Лампсонова матрица изгледала би овако:

КомпајлерФајл Рачуни
Алисаx
Компајлерrxrw
Збуњени изасланик

Алиса покреће компајлер над програмом који поседује команде за измену фајла Рачуни. Компајлер је збуњен. Алиси није дозвољено да мења фајл Рачуни, али он ради у складу са својим правима. Измениће фајл Рачуни.
Овај проблем се не решава ACL листом, али се лако решава C листом – компајлер је требао да провери C листу Aлисе.

ACL листе су добре када корисници сами управљају својим фајловима. Код ACL заштита је оријентисана према подацима, а права приступа се лако мењају у односу на ресурсе. У пракси се више користе ACL листе него С листе.

Код С листи права се лако мењају у односу на кориснике. Такође се лако додају и бришу корисници и лакше се решава проблем збуњеног изасланика. Међутим, С листе су теже за имплементацију од ACL листи.