Списки управления доступомРефераты >> Программирование и компьютеры >> Списки управления доступом
Любая ячейка матрицы содержит набор прав доступа s к объекту o, принадлежащих множеству прав доступа R.
2.4.1.1 Поведение системы
Поведение системы во времени моделируется переходами между различными состояниями. Переход осуществляется путем внесения изменений в матрицу M с помощью команд следующего вида:
command
if in and (условия выполнения команды)
in and
…
in and
then
(операции, составляющие команду)
, где a - имя команды; - параметры команды, являющиеся идентификаторами субъектов и объектов; и - индексы субъектов и объектов в диапазоне от 1 до k; - элементарные операции (выполняются только в том случае, если все условия, означающие присутствие указанных прав доступа в ячейках матрицы M, являются истинными).
Элементарные операции
В классической модели допустимы только следующие элементарные операции:
enter r into (добавление субъекту s права r для объекта o)
delete r from (удаление у субъекта s права r для объекта o)
create subject s (создание нового субъекта s)
create object o (создание нового объекта o)
destroy subject s (удаление существующего субъекта s)
destroy object o (удаление существующего объекта o)
Применение любой элементарной операции op в системе, находящейся в состоянии , влечет за собой переход в другое состояние , которое отличается от предыдущего состояния Q по крайней мере одним компонентом. Выполнение базовых операций приводит к изменениям в состоянии системы, которые описаны в таблице 2.
Таблица 2 – Базовые операции модели Харрисона-Руззо-Ульмана
Команда |
Описание |
enter r into (где )
, если
|
Данная операция вводит право r в существующую ячейку матрицы доступа. Содержимое ячейки рассматривается как множество, т.е. если это право уже имеется, то ячейка не изменяется. Операция enter называется монотонной, т.к. она только добавляет права в матрицу и ничего не удаляет. Предусловие выполнения операции – существование ячейки (существование соответствующих субъекта и объекта). |
delete r from (где )
, если
|
Данная операция удаляет право r из ячейки матрицы доступа, если оно там присутствует. Содержимое ячейки рассматривается как множество, т.е. если удаляемое право отсутствует в данной ячейке, то данная операция ничего не делает. Операция delete называется немонотонной, т.к. она удаляет информацию из матрицы. Предусловие выполнения операции – существование ячейки (существование соответствующих субъекта и объекта). |
Create subject s (где )
для всех для всех для всех |
Операция является немонотонной. Предусловие выполнения операции – отсутствие создаваемого субъекта/объекта. |
destroy subject s (где )
для всех |
Операция является немонотонной. Предусловие выполнения операции – наличие субъекта/объекта. |
create object o (где )
, если для всех |
Операция является монотонной. Предусловие выполнения операции – отсутствие создаваемого субъекта/объекта. |
destroy object o (где )
для всех |
Операция является немонотонной. Предусловие выполнения операции – наличие субъекта/объекта. |