Литмир - Электронная Библиотека
Содержание  
A
A

Группирование прав

На AS/400 есть три метода группирования прав. Списки прав и профили групп упрощают администрирование защиты, устраняют необходимость индивидуального подхода к пользователям или объектам. Держатели прав (authority holders) были введены IBM еще в среде System/36.

Список прав позволяет назначать права на множество объектов нескольким пользователям. Кроме того, каждый пользователь может иметь различные права доступа ко всем объектам в списке. Список прав с тремя пользователями и тремя объектами показан на рисунке 7.1. Каждый из трех пользователей имеет права на все три объекта в списке; но во всех случаях — разные. Для добавления, удаления или изменения пользователей и их прав в списке требуется право на управление списком прав, описанное выше. На уровне MI список прав реализован как системный объект.

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

Основы AS/400 - img_84.jpeg

Рисунок 7.1. Пример списка прав

Доступ к профилю группы осуществляется через профили отдельных пользователей. Если профиль пользователя дает ему права на объект, то эти явные права переопределяют права группы. Это позволяет предоставлять отдельным членам группы меньшие или большие права по сравнению с остальными.

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

Приложения System/36 могут предоставлять пользователям заранее заданные права на еще несуществующие, не созданные файлы. Приложение System/36 может даже продолжать обладать правами на удаленный файл. В System/38 такой возможности нет. Права не могут быть предоставлены, пока объект не создан, а при удалении объекта вся информация о правах на него также удаляется из системы.

Для поддержки прав доступа к несуществующим файлам в среде System/36 на AS/ 400 были добавлены держатели прав, нужные только для миграции. Их использование ограничено несколькими типами программно-описанных файлов; для других типов файлов и объектов держатели прав не поддерживаются. В связи с этим, ни в MI, ни в OS/400 нет объекта типа «держатель прав».

Алгоритм поиска прав

Теперь, когда мы определили все типы прав и различные способы, которыми пользователь может их получить, рассмотрим алгоритм поиска и попытаемся понять, как фактически происходит предоставление прав.

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

Алгоритм поиска прав выполняется SLIC при первом обращении пользователя к объекту. Это часть операции разрешения указателя, рассмотренной в главе 5. Работа алгоритма останавливается при обнаружении запрошенных прав на объект. Если информации о правах не найдено, доступ не предоставляется.

Основы AS/400 - img_85.jpeg

Рисунок 7.2. Алгоритм поиска прав

Последовательность алгоритма поиска запрошенных прав показана на рисунке 7.2.

Предположим, что мы запрашиваем право на изменение (change) для некоторого объекта в системе. Порядок поиска таков[ 58 ]:

1.В индивидуальном профиле пользователя ведется поиск:

специального права на все объекты, или

права на объект (владельца и явного), или

права из списка, если объект присутствует в этом списке (явного права).

Доступ к объекту разрешен, если данный пользователь имеет специальное право на все объекты или, по крайней мере, право на изменение (change) для объекта в профиле пользователя (право владельца или явное право на объект) или в списке прав. Если найденное право меньше, чем право на изменение (change) — например, «использование» (use) или «исключение» (exclude), — то алгоритм переходит к поиску заимствованного права. Если право не обнаружено, то проверяются профили групп.

2.В профиле группы ведется поиск:

специального права на все объекты, или

права первичной группы, или

права на объект для других групп (явного права), или

права из списка, если объект присутствует в этом списке (явного права).

Доступ к объекту разрешен, если группа имеет специальное право на все объекты или, по крайней мере, право на изменение (change) для объекта в первичной группе, других группах или в списке прав. Если найденное право меньше, чем право на изменение (change) — например, «использование» (use) или «исключение» (exclude), — то алгоритм переходит к поиску заимствованного права. Если право не обнаружено, то проверяются общие права.

3.В общих правах ведется поиск:

специального права на все объекты, или

права из списка, если объект присутствует в этом списке (явного права).

Доступ к объекту разрешен, если имеется, по крайней мере, общее право на изменение (change) либо в объекте, либо в списке прав. Если найденное право меньше, чем право на изменение (change) — например, «использование» (use) или «исключение» (exclude), — то алгоритм переходит к поиску заимствованного права.

4.В заимствованном профиле ведется поиск.

Доступ к объекту разрешен, если в заимствованном профиле пользователя имеется, по крайней мере, право на изменение (change). В противном случае доступ запрещается.

Так как индивидуальный профиль пользователя просматривается первым и всегда выбирается первое встретившееся право на объект, пользователю могут быть предоставлены большие или меньшие права на объект по сравнению с общими правами и правами профиля группы. Если поместить право на исключение (exclude) в профиль индивидуального пользователя, а право на изменение (change) в заимствованный профиль, то доступ к объекту данному пользователю будет заблокирован. Однако, пользователь по-прежнему сможет выполнять над объектом операции изменения с помощью заимствованных прав, приобретаемых при выполнении соответствующей программы. Такой способ наиболее распространен для ограничения доступа к системному объекту.

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

вернуться

58

На самом деле, приведенный ниже алгоритм сильно упрощен для того, чтобы облегчить читателю понимание общих принципов проверки наличия прав. Описание полного алгоритма предназначено только для «гурманов» и занимает около 20 страниц. Оно содержится в книге OS/400 Security - Reference, SC41-4302, входящей в комплект эксплуатационной документации. — Прим. консультанта.

60
{"b":"137615","o":1}