Interested Article - ACL
- 2021-05-05
- 1
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 .
См. также
Примечания
- John Barkley. // Proceedings of the second ACM workshop on Role-based access control - RBAC '97. — New York, New York, USA: ACM Press, 1997. — doi : .
- James Daly, Alex X. Liu, Eric Torng. // 2013 Proceedings IEEE INFOCOM. — IEEE, 2013-04. — doi : .
- Günter Karjoth, Andreas Schade. // 2008 Annual Computer Security Applications Conference (ACSAC). — IEEE, 2008-12. — doi : .
Ссылки
- от 5 июня 2007 на Wayback Machine
- от 10 мая 2013 на Wayback Machine
- от 3 июля 2007 на Wayback Machine
- от 26 апреля 2007 на Wayback Machine
- от 31 мая 2007 на Wayback Machine
- от 6 мая 2008 на Wayback Machine
- 2021-05-05
- 1