Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lab_r_3_MSZI.doc
Скачиваний:
21
Добавлен:
19.02.2016
Размер:
322.05 Кб
Скачать

Отношение can-modify

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

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

Диапазон UP-роли

DSO

(ED, DIR)

PSO1

(E1, PL1)

PSO1

(E2, PL2)

Таблица 1: Пример can-modify

Например, на рис. 1 и 2 мы хотели бы, чтобы DSOконфигурировал изменения в иерархии ролей междуDIRиED.PSO1 будет управлять иерархией междуPL1 иE1, принимая во внимание, что тогдаPSO2 управлял бы частью междуPL2 иE2. Отсюда, следующее определение.

Определение 6Создание и удаление ролей и граней разрешается отношением,can-modifyARx2UPR(где подмножестваRопределены диапазоном и не включают оконечные точки).

Таблица 1 иллюстрирует пример can-modifyотносительно иерархий рисунка 1. Значениеcan-modify(x,Y) - элемент административной ролиx(или элемент административной роли, которая является старшей дляx) может создавать и удалять роли в диапазонеYи может изменять отношения между ролями вY. Остальные примеры - все в контексте рисунка 1 и таблицы 1. Мы сознательно проигнорировалиPSO2 в таблице и вместо этого уполномочилиPSO1 управлять ролями обоих проектов. Это иллюстрирует, как единственная административная роль может управлять различными частями иерархии ролей.

Создание новой роли требует указания ее непосредственного родителя и ребенка в существующей иерархии. Таким образом PSO1 может создавать новую роль с непосредственным родителемPL1 и непосредственной дочерней ролью Е1, или новой роли с непосредственной родительской рольюPL1 и непосредственной дочерней рольюPE1. Вообще непосредственный родитель и ребенок должны попадать в пределы диапазона, или быть одной из оконечных точек как определено вcan-modify. Так как создание роли также представляет две грани в иерархии, не возможно использовать любые две роли в качестве родителя и ребенка.

Удаление роли оставляет отношения между родителями и дочерним элементом удаляемой роли неизменными. Так, если DSOудаляетE1,PE1 иQE1 продолжают быть старшими дляEDпосле удаленияE1. Однако, удалениеE1 оставит "мертвые связи" в таблице 1, так как диапазон (E1,Pl1) больше не существует. В целом, некоторые роли могут быть упомянуты в различных отношениях вURA97,PRA97 иRRA97. Если эти роли фактически удалены, мы будем иметь "повисшие ссылки". Наш подход состоит в том, чтобы запретить стирание, которое вызвало бы их. Роли, которые не могут быть удалены по этой причины, могут быть дезактивированы так, чтобы они позже могли постепенно сократиться. Кроме того, когда роль удалена, мы должны сделать что-то с пользователями и разрешениями, которые непосредственно назначены на эту роль.

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

Аналогично удаление грани значимо только, если эта грань транзитивно "не подразумевается" другими гранями. Например, удаление грани между PL1 иE1 бессмысленно и не воздействует на иерархию. Удаление грани междуQE1 иE1 изменит иерархию. Удаление грани применяется только к отдельной грани и не переносится на подразумеваемые транзитивные грани. Например, удаление грани междуQE1 иE1 делаетQE1 иE1 несравнимыми, ноQE1 продолжает быть старшим дляED.

Более сложные формы этих операций могут быть созданы из основных операций, представленных здесь. Представленный подход аналогичен определению слабого аннулирования, в URA97, иPRA97 из которого могут быть созданы различные формы сильного аннулирования. Точно так же вRRA97, более комплексные операции могут быть созданы в терминах основных.

Ограничения на can-modify

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

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

Понятие Диапазона

Определение 7Диапазон ролей определен, если указана нижняя границаxи верхняяy, гдеy>x. Формально (x;y) = {z:R|x<z<y}. Мы называемxиy– конечными точками диапазона.

Обратите внимание, что диапазон не включает в себя конечные точки. На рисунке 2, (E1,PL1), (E2,PL2) и (ED,DIR) различные диапазоны. Диапазон (ED,DIR) содержит роли составляющие диапазоны (E1,PL1) и (E2,PL2). Мы называем диапазоны (E1,PL1) и (E2,PL2) младшими для (ED,DIR).

Определение 8.Для двух диапазоновYиY' еслиYY”,Yмладший диапазон дляY' иY' старший дляY’.

Так YподдиапазонY'. В результате ни один диапазон не может быть младшим или старшим для самого себя.

Рис. 4 Вне диапазона

Если два диапазона YиY' в иерархии ролей - такие, что ни один не является младшим для другого, тогда они являются или несравнимыми или частично перекрываемыми.

Определение 9.ДиапазоныYиY' частично перекрываются, если если YY’ и YY’ и Y’Y. Диапазоны Y1 и Y2 называются несравнимыми, еслиY1Y2 = .

Заметьте, что несравнимые диапазоны могут иметь одну общую конечную точку.

Диапазон полномочий и вложенный диапазон полномочий

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

Определение 10.Любой диапазон, упомянутый в отношенииcan-modify– диапазон полномочий.

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

Определение 11.ВRRA97 диапазоны полномочий не являются частично перекрываемыми.

Обратите внимание, что административная роль может иметь больше одного диапазона полномочий. В таблице 1 показано, что DSOимеет полномочия по диапазону (ED,DIR). На рисунке 1 диапазон полномочий (ED,DIR) имеет два младших диапазона полномочий (E1,PL1) и (E2,PL2). Так как эти младшие диапазоны полностью содержатся в пределах диапазона полномочий для DSO, DSO имеет полномочия по этим младшим диапазонам. Другими словами DSO унаследовал полномочия по диапазонам (E1, PL1) и (E2, PL2).

Наша модель позволяет административной роли иметь полномочия по более, чем одному несравнимому диапазону полномочий. Таблица 1 показывает, что PSO1 имеет полномочия по более, чем двум несравнимым диапазонам полномочий, а именно по (E1,PL1) и (E2,PL2).

Снова обратимся к рисунку 3. Мы отметили, что или DSOнельзя разрешить создавать ролиXилиYв иерархии ролей, илиPSO1 нельзя позволить сделатьPE1 младшей дляQE1. В последнем случае автономияPSO1, по управлению его диапазоном полномочий, нарушается действиямиDSO'S. Децентрализация полномочий и автономия требует, чтобы все входящие и исходящие грани из диапазона полномочий были только направлены к конечным точкам и от конечных точек диапазона полномочий.

Рис. 5 Вложенный диапазон (x,y)

Рис. 6 Не-вложенный диапазон Range(x,y)

Определение 12.Диапазон (x,y) называется вложенным, еслиr1  (x; y)  r2  (x; y) при этом r2 > r1 r2 > y и r2 < r1  r2 < x.

Вложенный диапазон – тот, в котором все роли имеют идентичное отношение к ролям вне диапазона. В RRA97 вложенный диапазон является подходящим для автономного управления отношения роль-роль в пределах диапазона. Все диапазоны полномочий вRRA97 должны быть вложенными. Рисунки 5 и 6 соответственно примеры скрытого и не-скрытого диапазона (x,y).

Рис. 7 диапазона создания

Создание роли

Создание роли требует указания для новой роли непосредственного родителя и ребенка. Если непосредственный родитель и ребенок - конечные точки диапазона полномочий, не возникает никаких трудностей. Таким образом, PSO1 может создавать новую роль с родительскимPL1 и дочернимPE1. Однако, если вмешаетсяDSOможет возникнуть неприятная ситуация, как на рисунке 3. Для предотвращения этого введем следующие понятия.

Определение 13.Непосредственный диапазон полномочий ролиr, записывается какARimmediate(r) – это такой диапазон полномочий (x,y), чтоr(x;y) и для всех диапазонов полномочий (x',y') младших (x,y) у насr(x’,y’).

Определение 14.Диапазон (x,y) – диапазон создания, еслиARimmediate(x) =ARimmediate(y) илиxконечная точкаARimmediate(y) илиyконечная точкаARimmediate(x).

Заметьте, что только сравнимые роли составляют диапазон создания.

Рассмотрим рисунок 6. Пусть (B,A) и (x,y) – диапазоны полномочий и (x',y') – не диапазон полномочий. Диапазоны, отмеченные пунктирной линией - (r3,A), (x,A) и (B,y) – диапазоны создания. Однако (r1,A) или (r2,A) не удовлетворяют условию и поэтому – не являются диапазонами создания.

В RRA97 мы требуем, чтобы непосредственные родитель и ребенок новой роли были диапазоном создания в иерархии до создания новой роли.

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

Удаление роли

Удаление ролей в иерархии - сложный процесс. Мы предполагаем, что роль в диапазоне полномочий может быть удалена администратором этого диапазона. Не имеет значение, как эта роль там оказалась.

ARBAC97 определяет некоторые разрешающих отношений типа:can-assign,can-revokeиcan-modify. Если роли, указанные как конечные точки диапазонов ролей этих отношений удалены, мы оставим повисшие связи на несуществующие роли. Диапазоны с этими удаленными конечными точками станут бессмысленными. Избежание этой проблемыRRA97 обеспечивают две альтернативы.

1. Роли, участвующие в отношениях can-assign,can-revokeandcan-modify, не могут быть удалены. Это необходимо, чтобы сохранить целостность диапазона.

2. Роли, отнесенные выше к 1, могут быть дезактивированными всякий раз, когда это необходимо, чтобы удалить их. Преимущество дезактивации ролей состоит в избежании ссылок на несуществующие роли и в то же самое время достигается цели удаления.

Роль, называют дезактивированной, если пользователь, соотнесенный с ней, не может активировать ее. Грани к дезактивированной роли и от дезактивированной роли, связанные с ней разрешения и пользователей остаются неизменными. В то время как пользователь назначен на дезактивированную роль, разрешения, связанные с этой ролью все еще наследуется старшими ролями. Таким образом, иерархия не изменяется, но в то же время частично получен результат удаления.

В RRA97 возможны обе из вышеупомянутых альтернатив. Регулярные пользователи не могут вызывать дезактивированные роли, но администраторы могут удалять пользователей и разрешения из этих ролей. Эти роли могут быть сделаны пустыми, но не могут быть удалены из иерархии, пока ссылки, предотвращающие стирание не откорректированы. Другие роли в иерархии ролей могут быть удалены.

В случае удаления роли мы должны сохранить разрешения и пользователей, назначенных на роль. RRA97 обеспечивает обе альтернативы удаления ролей.

Рис. 8 До удаления грани идущей из SQE1 кJQE1

Рис. 9 После удаления грани

1. Роли могут быть удалены, если они пустые.

2. Удаляйте роль, но в то же самое время заботьтесь о назначенных разрешениях и связанных с ней пользователях следующим образом: назначьте разрешения на непосредственные старшие роли, и назначите пользователей на непосредственные младшие роли.

Добавление грани

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

  • Роли, между которыми грань вставлена, должны иметь один и тот же непосредственный диапазон полномочий, или

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

Например, на рисунке 6 предполагается, что грани (y,r3) и (r3,x) - первоначально не существуют, и что (x,y) и. (B,A) - диапазоны полномочий. Вставка грани (y,r3) не вызывает проблем. Однако при существовании этой грани, вставка грани (r3,x) нарушает диапазона полномочий (x,y), следовательно - это запрещено. Так же, в присутствии (r3,x) - вставка грани (y,r3) была бы запрещена. Исходя из этого, дадим следующее определение добавления грани.

Определение 15.Новая граньABможет быть вставлена между несравнимыми ролямиAиB

  • если ARimmediate(A) =ARimmediate(B) или

    • если (x,y) диапазон полномочий такой, что (A=y  B>x)V(B=xA<y), тогда добавлениеABдолжно сохранить вложенность (x,y).

Удаление грани

Удаление транзитивных граней не изменяет иерархию, так что их удаление бессмысленно. В RRA97 мы рассматриваем только те грани, которые находятся на транзитивном приведении иерархии. Например, на рисунке 8 удаление грани отSQE1 кJQE1 изменит иерархию. Удаление грани применяется к единственной грани и не переносится на подразумеваемые транзитивные грани. Как отмечено в общих правилах для удаления грани,RRA97 сохраняет неповрежденные транзитивные грани после удаления. Например, удаление грани отSQE1 кJQE1 делаетSQE1 иJQE1 несравнимыми, ноSQE1 продолжает быть старшим дляE1, иJQE1 младшим дляPL1, рисунок 9.

Есть один частный случай, который нужно рассмотреть. Если удаляемая грань - между конечными точками диапазона полномочий, удаление грани разрушит диапазон полномочий и вызовет несогласованность в модели. Следовательно, эта операция запрещена.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]