Interested Article - ACL

Access Control List (ACL) — список управления доступом, который определяет, кто или что может получать доступ к объекту (программе, процессу или файлу), и какие именно операции разрешено или запрещено выполнять субъекту (пользователю, группе пользователей).

Списки контроля доступа являются основой систем с избирательным управлением доступа (DAC) .

Впервые введены в ОС Multics в 1965 году, с тех пор получили широкое распространение и множественные реализации практически во всех типах программ с распределяемым доступом.

Введение

В типичных ACL каждая запись определяет субъект воздействия и операцию: например, запись (Vasya, delete) в ACL для файла XYZ даёт возможность пользователю Vasya удалить файл XYZ .

В системе с моделью безопасности, основанной на ACL, когда субъект запрашивает выполнение операции над объектом, система сначала проверяет список разрешённых для этого субъекта операций, и только после этого даёт (или не даёт) доступ к запрошенному действию.

Использующие ACL системы могут быть разделены на две категории: дискреционные ( англ. discretionary ) и мандатные ( англ. mandatory ). Систему можно назвать построенной на дискреционном контроле доступа , если создатель или владелец объекта может полностью управлять доступом к объекту, включая и список тех, кому разрешено изменять права доступа к объекту. Систему можно назвать обладающей мандатным контролем доступа , если заданные пользователем ACL перекрываются системными ограничениями.

При централизованном хранении списков контроля доступа можно говорить о матрице доступа , в которой по осям размещены объекты и субъекты, а в ячейках — соответствующие права. Однако в большом количестве систем списки контроля доступа к объектам хранятся отдельно для каждого объекта, зачастую — непосредственно с самим объектом.

Традиционные ACL системы назначают права индивидуальным пользователям, и со временем и ростом числа пользователей в системе списки доступа могут стать громоздкими. Вариантом решения этой проблемы является назначение прав группам пользователей, а не персонально. Другим вариантом решения этой проблемы является « Управление доступом на основе ролей », где функциональные подмножества прав к ряду объектов объединяются в «роли», и эти роли назначаются пользователям. Однако, в первом варианте группы пользователей также часто называются .

Файловые системы с ACL

В файловых системах для реализации ACL используется идентификатор пользователя процесса ( UID в терминах POSIX ).

Список доступа представляет собой структуру данных (обычно таблицу), содержащую записи, определяющие права индивидуального пользователя или группы на специальные системные объекты, такие как программы , процессы или файлы. Эти записи также известны как ACE ( англ. Access Control Entries ) в операционных системах Microsoft Windows и OpenVMS . В операционной системе Linux и Mac OS X большинство файловых систем имеет расширенные атрибуты, выполняющие роль ACL. Каждый объект в системе содержит указатель на свой ACL. Привилегии (или полномочия) определяют специальные права доступа, разрешающие пользователю читать из ( англ. read ), писать в ( англ. write ) или исполнять ( англ. execute ) объект. В некоторых реализациях ACE (Access Control Entries) могут определять право пользователя или группы на изменение ACL объекта.

Концепции ACL в разных операционных системах различаются, несмотря на существующий «стандарт» POSIX (проекты безопасности POSIX, .1e и .2c, были отозваны, когда стало ясно, что они затрагивают слишком обширную область и работа не может быть завершена, но хорошо проработанные части, определяющие ACL, были широко реализованы и известны как «POSIX ACLs»).

Сетевые ACL

В сетях ACL представляют список правил, определяющих порты служб или имена доменов, доступных на узле или другом устройстве третьего уровня OSI , каждый со списком узлов и/или сетей, которым разрешен доступ к сервису. Сетевые ACL могут быть настроены как на обычном сервере, так и на маршрутизаторе и могут управлять как входящим, так и исходящим трафиком , в качестве межсетевого экрана .

Сравнение с RBAC

Основной альтернативой модели ACL является модель управления доступом на основе ролей (RBAC) . «Минимальную модель RBAC», RBACm , можно сравнить с механизмом ACL, ACLg , где в качестве записей в ACL разрешены только группы. Barkley показал, что RBACm и ACLg эквивалентны .

В современных реализациях SQL ACL также управляют группами и наследованием в иерархии групп. Таким образом, «современные списки ACL» могут выражать все то, что выражает RBAC, и являются особенно мощными (по сравнению со «старыми ACL») в своей способности выражать политику управления доступом с точки зрения того, как администраторы рассматривают организации .

Для обмена данными и для «высокоуровневых сравнений» данные ACL можно преобразовать в XACML .

См. также

Примечания

  1. John Barkley. // Proceedings of the second ACM workshop on Role-based access control - RBAC '97. — New York, New York, USA: ACM Press, 1997. — doi : .
  2. James Daly, Alex X. Liu, Eric Torng. // 2013 Proceedings IEEE INFOCOM. — IEEE, 2013-04. — doi : .
  3. Günter Karjoth, Andreas Schade. // 2008 Annual Computer Security Applications Conference (ACSAC). — IEEE, 2008-12. — doi : .

Ссылки

Источник —

Same as ACL