Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ТОКБ - RBAC.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
183.79 Кб
Скачать

Администрирование множеств прав доступа, которыми обладает роли

При администрировании множеств прав доступа ролей изменяются значения функции PA, для чего определяются специальные административные роли из множества AR.

Подход к определению порядка администрирования множеств прав доступа ролей аналогичен использованному для администрирования множеств авторизованных ролей пользователя. При этом предварительные условия задаются для прав доступа.

Определение 10.4. Для администрирования множеств прав доступа, которыми обладает роли, на множестве административных ролей задаются:

  • can-assignp: AR CR  2R  функция, задающая для каждой административной роли множество ролей, для которых разрешено включать права доступа во множества прав доступа с использованием данной административной роли при выполнении заданных предварительных условий;

  • can-revokep: AR  2R  функция, задающая для каждой административной роли множество ролей, для которых разрешено удаление прав доступа из множеств прав доступа с использованием данной административной роли.

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

Администрирование иерархии ролей

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

  • возможности множества прав доступа и других возможностей;

  • группы множества пользователей и других групп;

  • объединения множества пользователей, прав доступа, групп, возможностей и других объединений.

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

На основе иерархий возможностей, групп и объединений задается иерархия ролей, элементами которой являются роли-возможности, роли-группы, роли-объединения (SP-роли).

Определение 10.5. Роли-возможности  роли, которые обладают только заданные в соответствующей возможности правами доступа.

Определение 10.6. Роли-группы  роли, на которые могут быть авторизованы одновременно только все пользователи соответствующей группы.

Определение 10.7. Роли-объединения  роли, которые обладают возможностями, правами доступа, и, на которые могут быть авторизованы группы пользователей и отдельные пользователи.

Роли-объединения являются общим случаем ролей, рассматриваемых в модели администрирования ролевого управления доступом.

Определение 10.8. Роль-объединение r1 в иерархии ролей превосходит роль-объединение r2, если выполняются условия:

  • возможности и права доступа роли r2 являются подмножеством возможностей и прав доступа роли r1,

  • пользователи и группы пользователей, которые могут быть авторизованы на роль r1, являются подмножеством множества пользователей и групп пользователей, которые могут быть авторизованы на роль r2.

Определение 10.9. Для администрирования возможностей и групп пользователей на множестве административных ролей задаются функции:

  • can-assigna: AR CR  2UPR  функция, задающая для каждой административной роли множество ролей-объединений, во множество прав доступа которых разрешено включать возможности с использованием данной административной роли при выполнении заданных предварительных условий;

  • can-revokea: AR  2UPR  функция, задающая для каждой административной роли множество ролей-объединений, из множества прав доступа которых разрешено удаление возможностей с использованием данной административной роли;

  • can-assigng: AR CR  2UPR  функция, задающая для каждой административной роли множество ролей-объединений, которые разрешено включать во множество авторизованных ролей групп пользователей с использованием данной административной роли при выполнении заданных предварительных условий;

  • can-revokeg: AR  2UPR  функция, задающая для каждой административной роли множество ролей-объединений, которые разрешено удалять из множество авторизованных ролей групп пользователей с использованием данной административной роли.

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

Необходимость определения иерархий возможностей и групп обусловлена также тем, что построенные на их основе правила администрирования отличны друг от друга. Предварительные условия, заданные в функции can-assigna, используется аналогично предварительным условиям, заданным в функции can-assignp, а предварительные условия, заданные в функции can-assigng, используется аналогично предварительным условиям, заданным в функции can-assignr. Например, для того, чтобы во множество прав доступа роли-объединения была включена возможность, данная возможность должна входить во множества прав доступа ролей, указанных в предварительном условии функции can-assigna. А для того, чтобы роль-объединение была включена во множество авторизованных ролей группы пользователей, пользователи данной группы должны уже обладать ролями в соответствии с предварительным условием функции can-assigng.

Включение возможности во множество прав доступа роли-объединения означает, что соответствующая роль-возможность в иерархии ролей станет непосредственно «ниже» роли-объединения. Наоборот, включение роли-объединения во множество авторизованных ролей группы пользователей означает, что соответствующая роль-группа в иерархии ролей станет непосредственно «выше» роли-объединения.

Определение 10.10. Для администрирования иерархии ролей (добавления и удаления ролей, включение или удаление отношений иерархии) на множестве административных ролей задается

can-modify: AR  2UPR  функция, определяющая для каждой административной роли интервал ролей (исключая границы интервала), на котором возможно изменение иерархии ролей с использованием данной административной роли.

Пример 10.4. Рассмотрим иерархию ролей и иерархию административных ролей из примера 10.1. Определим значения функции can-modify (табл. 10.5) для административных ролей PSO1 и DSO.

Таблица 10.5. Значения функции can-modify

Административная роль

Множество ролей

PSO1

(E1, PL1)

DSO

(ED, DIR)

Таким образом, административные роли PSO1 и DSO позволяют изменять иерархию ролей на интервалах, соответственно, (E1, PL1) и (ED, DIR). ■

Описанные способы задания правил администрирования иерархии ролей в общем случае требуют уточнения. Так, например, возможно возникновение следующей ситуации. Пользователь с административной ролью DSO удаляет из иерархии роль PL1. В то же время роль PL1 входит в предварительные условия и участвует в определении интервалов значений функций can-assignr и can-revoker. Таким образом, для административной роли DSO должно быть запрещено удаление ролей, участвующих в задании значений и предварительных условий функций администрирования.

Кроме того, возможна следующая ситуация. Рассмотрим пример.

Пример 10.5. Рассмотрим иерархию ролей и иерархию административных ролей из примера 10.1, и функцию can-modify, значения которой заданы в соответствии с табл. 10.5 (рис. 10.3).

Предположим, что пользователь с административной ролью DSO добавил в иерархию ролей роли X и Y. Так как пользователь с административной ролью PSO1 может изменять иерархию ролей на интервале ролей (E1, PL1), пусть он определит роль QE1 как старшую над ролью PE1. Таким образом, административная роль PSO1 позволяет задать роль X старшей над ролью Y, несмотря на то, что эти роли не входят в определенный для PSO1 интервал (E1, PL1).

Возможна реализация нескольких подходов по определению порядка администрирования иерархии ролей в данной ситуации. Во-первых, можно запретить пользователю с административной ролью DSO добавлять роли X и Y, так как это нарушает целостность интервала (E1, PL1), на котором разрешено администрирование для роли PSO1. Во-вторых, можно запретить пользователю с административной ролью PSO1 определять роль QE1 старшей над ролью PE1. В-третьих, можно разрешить выполнять все запрашиваемые действия с использованием административных ролей DSO и PSO1. ■