фазы (состояния) подготовки машины после ремонта. Добавьте соответствующее состояние в диаграмму Stateflow.
Блок Enabled Gate в верхней системе обслуживания не должен открыться до тех пор, пока не завершаться фазы ремонта и полготовки системы. В нижней системе обслуживания добавьте дополнительный блок для моделирования процесса подготовки машины.
3.6. Модели ролевого и мандатного ролевого управления доступом в компьютерных системах
Ролевое управление доступом представляет собой развитие политики дискреционного управления доступом, при этом права доступа субъектов системы к объектам группируются с учетом специфики их применения, образуя роли. Ролевое управление доступом является составляющей многих современных КС. Как правило, оно применяется в системах защиты СУБД, отдельные элементы ролевого управления доступом реализуются в сетевых ОС.
Задание ролей позволяет определить более четкие и понятные для пользователей КС правила управления доступом. При этом ролевое управление доступом наиболее эффективно используется в КС, для пользователей которых четко определен круг их должностных полномочий и обязанностей.
Роль является совокупностью прав доступа к объектам КС. Однако ролевое управление доступом не является частным случаем дискреционного управления доступом, так как его правила задают порядок предоставления прав доступа субъектам (пользователям) КС в зависимости от сессии его работы и от имеющихся или отсутствующих у него ролей в каждый момент времени, что является характерным для систем мандатного управления доступом. В то же время правила ролевого управления доступом являются более гибкими, чем правила мандатного управления доступом, построенные на основе жестко определенной решетки (шкалы) ценности информации.
49
Базовая модель ролевого управления доступом
Основными элементами базовой модели ролевого управления доступом (RBAC — Role-Based Access Control)
являются: U — множество пользователей; R — множество ролей; Р — множество прав доступа к объектам КС; S — множество сессий пользователей; PA:R 2Р — функция, задающая для каждой роли множество прав доступа; при этом
для каждого права доступа |
p P существует роль r R такая |
что p PA r ; UA :U 2R |
— функция, задающая для каждого |
пользователя множество ролей, на которые он может быть авторизован; user: S U — функция, задающая для каждой сессии пользователя, от имени которого она активизирована; roles: S 2R — функция, задающая для пользователя множество ролей, на которые он авторизован в данной сессии, при этом в каждый момент времени для каждой сессии s S выполняется условие roles s
UA user s
.
Заметим, что могут существовать роли, на которые не авторизован ни один пользователь.
В базовой модели ролевого управления доступом предполагается, что множества U, R, Р и функции PA, UA не
изменяются с течением времени. |
|
|
||
Множество |
ролей, |
на |
которые |
авторизуется |
пользователь в течение одной сессии, модифицируется самим пользователем. При этом отсутствуют механизмы, позволяющие одной сессии активизировать другую сессию. Все сессии активизируются только пользователем.
Для обеспечения возможности большего соответствия реальным КС, каждый пользователь которых занимает определенное положение в служебной иерархии, на множестве ролей реализуется иерархическая структура.
Определение 1. Иерархией ролей в базовой модели ролевого управления доступом называется заданное на множестве ролей R отношение частичного порядка «<». При этом по определению выполняется условие: для пользователя u U , если роли r, r' R, r UA u
и r' r, то r' UA u ..
50
Таким образом, наряду с данной ролью пользователь должен быть авторизован на все роли, в иерархии ее меньшие.
Отношение частичного порядка на множестве ролей не обязательно задает на нем решетку.
Дадим определения для ряда распространенных видов ограничений.
Определение 2. В базовой модели ролевого управления доступом заданы ограничения статического взаимного исключения ролей или прав доступа, когда выполняются условия:
• |
R |
R1 |
... |
Rn , где Ri |
Rj |
для 1 |
i |
j |
n, |
|||
|
|
Ri |
|
|
1для u |
U ,i |
1,2,...,n ; ; |
|
|
|
||
|
UA u |
|
|
|
|
|
||||||
• |
P |
P |
... |
P , где P |
P |
для 1 |
i |
j |
n, |
|||
|
|
|
1 |
|
|
m |
i |
j |
|
|
|
|
|
PA r Pi |
|
|
1для p |
U , i |
1,2,...,m . |
|
|
|
|||
|
|
|
|
|
|
|||||||
Множество ролей и множество прав доступа разделяются на непересекающиеся подмножества.
Определение 3. В базовой модели ролевого управления доступом задано ограничение динамического взаимного исключения ролей, когда выполняются условия:
• |
R R1 |
... |
Rn , где Ri |
Rj |
для 1 i j n; ; |
||
• |
|
roles s |
Ri |
|
1для s |
S,i |
1,2,...,n . . |
|
|
||||||
Множество ролей разделяется на непересекающиеся подмножества. При этом в каждой сессии пользователь может обладать не более чем одной ролью из каждого подмножества ролей.
Определение 4. В базовой модели ролевого управления доступом заданы статические количественные ограничения на обладание ролью или правом доступа, когда определены две функции:
: R N0 ; : P N0 ,
где No — множество натуральных чисел с нулем, и выполняются условия:
UA 1 r |
r для r R ; |
51
PA 1 p
p
для p P .
Для каждой роли устанавливается максимальное число пользователей, которые могут быть на нее авторизованы, а для каждого права доступа устанавливается максимальное число ролей, которые могут им обладать.
Определение 5. В базовой модели ролевого управления доступом задано динамическое количественное ограничение на обладание ролью
ние ролью, когда определена |
функция: |
: R N0 , и |
|||
выполняется условие: |
|
|
|
|
|
|
roles 1 r |
|
r |
для r R. . |
|
|
|
|
|||
Для каждой роли устанавливается максимальное число сессий пользователей, которые могут одновременно быть на нее авторизованы.
Определение 6. В базовой модели ролевого управления доступом заданы статические ограничения необходимого обладания ролью или правом доступа, когда определены две функции:
|
|
|
: R |
2R и : P |
2P , |
|
|
|
|
и выполняются условия: для |
u |
U , если |
r, r' |
R, r |
UA u |
и |
|||
r' |
r , то |
r' |
UA u ; для r |
R, |
если |
p, p' |
P, p |
PA r |
и |
p' |
p , то |
p' |
PA r . |
|
|
|
|
|
|
Для каждой роли для того, чтобы на нее мог быть авторизован пользователь, могут быть определены роли, на которые пользователь также должен быть авторизован. Для каждого права доступа для того, чтобы им обладала роль, могут быть определены права доступа, которыми данная роль также должна обладать.
Определение 7. В базовой модели ролевого управления доступом задано динамическое ограничение необходимого обладания ролью, когда определена функция
: R 2R
52
и выполняется |
условие: для s S , если r, r' R, r R и |
roles (s) и r' |
r , то r' roles (s) . |
Для каждой роли для того, чтобы на нее мог быть авторизован пользователь в некоторой сессии, могут быть определены роли, на которые пользователь также должен быть авторизован в данной сессии.
Иерархия административных ролей состоит из четырех ролей с максимальной ролью — старший офицер безопасности
(SSO).
В рассматриваемом примере административная роль PSO1 позволяет включать во множества авторизованных ролей пользователя
роли РЕ1, QE1, Е1. При этом для того чтобы любая из перечисленных ролей могла быть включена во множество авторизованных ролей пользователя, он уже должен обладать ролью ED.
Для роли x R обозначим:
х: U —> {false,true} — функция такая, что по определению для пользователя и е U справедливо равенство
х(и) = true тогда и только тогда, когда х G UA(u). |
|
|||||
|
Определение 9. Предварительным условием для роли |
|||||
r |
R называется функция cr : |
false,true такая, что по опре- |
||||
делению |
для |
пользователя |
x |
U справедливо |
равенство |
|
cr |
u cr |
x1 u ,..., xk u , где x1,..., xk |
R и cr y1,..., yk |
— булева |
||
функция от k |
булевых переменных. При этом роль |
r может |
||||
быть включена во множество авторизованных ролей пользователя и, когда справедливо равенство cr(u)=true.
Обозначим через CR все предварительные условия для ролей из R.
Определение 10. Для администрирования множеств авторизованных ролей пользователей на множестве административных ролей задаются функции:
can assignr : AR CR 2R - функция, задающая для
каждой административной роли множество ролей, которые могут быть включены во множество авторизованных ролей
53