При добавлении роли к субъекту применяются правила, связывающие тип и роль субъекта, инициирующего изменения, с целевым типом субъекта, к которому добавляется роль.
Добавление ролей позволяет динамически (во время исполнения) расширять права субъектов.
Элемент add_role может содержать несколько правил. Правила применяются последовательно (порядок важен) до тех пор, пока не будет найдено первое, непротиворечащее комбинации значений source_type, source_role, и target_type. Другими словами, для применения правила необходимо, чтобы:
source_type.source_role.target_type.Варианты задания типа субъекта, инициирующего добавление ролей (элемент source_type):
source_type: coresource_type: [core, dispatcher]source_type: @anyВарианты задания роли субъекта, инициирующего добавление ролей (элемент source_role):
source_role: systemsource_role: [system, user]source_role: @anyВарианты задания исходного типа целевого субъекта (элемент target_type):
original_type: coreoriginal_type : @source_typeoriginal_type: [core, dispatcher, @source_type]original_type: @anyВарианты задания допустимых ролей для целевого субъекта (элемент target_role):
target_role: coretarget_role: @source_roletarget_role: [core, dispatcher]target_role: @anyПример
add_role : [
{ source_type: dispatcher
, source_role: system
, target_type: [auditservice, fileservice]
, target_role: [user, admin]
},
]
В начало