fgroups: U→ G – значением функции fgroups(u) = G является набор рабочих групп G = {gu1, gu2,…} ⊆ G , в которые пользователь u включен по отображению FUG ; fusers: G → U – значением функции U = fusers(g) является набор пользователей U = {ug1, ug2,…} ⊆ U, которые рабочая группа g включает по отношению FUG .
В практическом плане реализация функций fgroups и fusers производится посредством построения бинарной матрицы "Пользователи-Рабочие Группы", ячейки которой заполняются при установлении отношения
FUG .
Управление индивидуально-групповым доступом в системе осуществляется на основе следующего правила (критерия безопасности) индивидуально-группового доступа.
Правило 2.4.2. Система функционирует безопасно, если и только если любой пользователь u∈U по отношению к любому объекту o∈O может осуществлять доступ с правами R , не выходящими за пределы совокупности индивидуальных прав A[u,o] и прав рабочих групп A[g(u)i,o], в которые пользователь входит по отношению FUG : R ⊆ {A[u,o] ∪ A[gu1, o] ∪ A[gu2, o] ∪…},
где { gu1, gu2,…} = fgroups(u).
Таким образом, права доступа пользователя к объекту складываются из его индивидуальных прав и прав всех рабочих групп, в которые он включен по отношению FUG.
При этом следует отметить, что рабочие группы в полном смысле слова не являются ролями, так как, хотя и представлены в матрице доступа отдельными строками, тем не менее, не реализуются в виде отдельных и самостоятельно действующих субъектов доступа КС. В практическом плане это означает, что в КС не инициализируются отдельные субъекты доступа (процессы, запущенные программы, приложения и т. п.), действующие от имени рабочих групп. Иначе говоря, в системе индивидуальногруп-пового доступа действуют только субъекты пользователей, права которых в процессах доступа к объектам определяются на основе совокупности индивидуальных и групповых прав.
Заметим также, что в приведенной спецификации модели индивидуально-группового доступа, как и в других разновидностях ролевых моделей, нет доказательства безопасного функционирования системы при выполнении правил разграничения доступа (в данном случае правила 5.2). Поэтому нетрудно видеть, что в смысле механизмов безопасности модель индивидуально-группового доступа полностью идентична дискреционным моделям, основанным на матрице доступа.
Содержание и, если так можно выразиться, сила моделей индивидуально-группового доступа, определившие их чрезвычайно широкое распространение, в другом. Через агрегирование субъектов доступа (пользователей) в рабочие группы удается существенно упростить проектирование (синтез) и управление (анализ) системы дискреционного разграничения доступа в ситуациях с большим количеством пользователей и большим количеством объектов доступа, т. к. в дискреционных системах, напомним, требуется отдельное и явное "прописывание" в матрице доступа (в списках доступа объектов) разрешений на доступ для любой пары "субъект(пользователь)-объект" и по любому методу доступа (чтение, запись и т. д.). Поэтому предоставление пользователям прав доступа к объектам через рабочие группы позволяет существенно уменьшить количество индивидуальных назначений, упростить, упорядочить проектирование и анализ системы коллективного доступа к ресурсам КС.
Как и в классическом ролевом подходе, дополнительными аспектами организации системы разграничения доступа являются возможные отношения на множестве прав и отношения на множестве рабочих групп. В рамках теоретико-множественной модели прав и привилегий (множество R) все конкретные права доступа и привилегии (элементы множества R) равнозначны и независимы. Однако в реальности это не всегда так. К примеру, право Modify "сильнее", т. е. охватывает права Write и Read. В большинстве случаев можно считать, что отношения "силы" (охватности) прав (методов) доступа рефлексивны, антисимметричны и транзитивны. В формальном плане это означает, что на множестве R устанавливается отношение частичного порядка:
Do'stlaringiz bilan baham: |