| Тема логического управления доступом – одна из сложнейших в области информационной безопасности. Дело в том, что само понятие объекта (а тем более видов доступа) меняется от сервиса к сервису. Для операционной системы к объектам относятся файлы, устройства и процессы. Применительно к файлам и устройствам обычно рассматриваются права на чтение, запись, выполнение (для программных файлов), иногда на удаление и добавление. Современные операционные системы могут поддерживать и другие объекты. для систем управления реляционными базами данных объект – это база данных, таблица, представление, хранимая процедура. К таблицам применимы операции поиска, добавления, модификации и удаления данных, у других объектов иные виды доступа. Разнообразие объектов и применимых к ним операций приводит к принципиальной децентрализации логического управления доступом. Каждый сервис должен сам решать, позволить ли конкретному субъекту ту или иную операцию. Главная проблема в том, что ко многим объектам можно получить доступ с помощью разных сервисов. Так, до реляционных таблиц можно добраться не только средствами СУБД, но и путем непосредственного чтения файлов или дисковых разделов, поддерживаемых операционной системой (разобравшись предварительно в структуре хранения объектов базы данных. Следовательно, обмен данными между различными сервисами представляет особую опасность с точки зрения управления доступом, а при проектировании и реализации разнородной конфигурации необходимо позаботиться о согласованном распределении прав доступа субъектов к объектам и о минимизации числа способов экспорта/импорта данных. При принятии решения о предоставлении доступа обычно анализируется следующая информация: – идентификатор субъекта ; – атрибуты субъекта; Подавляющее большинство операционных систем и систем управления базами данных реализуют именно произвольное управление доступом. Основное достоинство произвольного управления – гибкость.. К сожалению, у "произвольного" подхода есть ряд недостатков. Рассосредоточенность управления доступом ведет к тому, что доверенными должны быть многие пользователи, а не только системные администраторы. При большом количестве пользователей традиционные подсистемы управления доступом становятся крайне сложными для администрирования.. Необходимы решения в объектно-ориентированном стиле, способные эту сложность понизить и это решение ролевой доступ. Ролевой доступ нейтрален по отношению к конкретным видам прав и способам их проверки; его можно рассматривать как объектно-ориентированный каркас, облегчающий администрирование, поскольку он позволяет сделать подсистему разграничения доступа управляемой при сколь угодно большом числе пользователей, прежде всего за счет установления между ролями связей, аналогичных наследованию в объектно-ориентированных системах. Кроме того, ролей должно быть значительно меньше, чем пользователей. В результате число администрируемых связей становится пропорциональным сумме (а не произведению) количества пользователей и объектов, что по порядку величи. Ролевое управление доступом оперирует следующими основными понятиями: – пользователь (человек, интеллектуальный автономный агент и т.п.); – сеанс работы пользователя; –роль (обычно определяется в соответствии с организационной структурой); –объект (сущность, доступ к которой разграничивается; например, файл ОС или таблица СУБД); – операция (зависит от объекта; для файлов ОС – чтение, запись, выполнение и т.п.; для таблиц СУБД – вставка, удаление и т.п., для прикладных объектов операции могут быть более сложными); – право доступа (разрешение выполнять определенные операции над определенными объектами). |