При создании объекта применяются правила, связывающие тип и роль создающего субъекта и тип родительского контейнера с типом который назначаются новому субъекту.
Элементы source_type, source_role и container_type
Элемент create_object может содержать несколько правил. Правила применяются последовательно (порядок важен) до тех пор, пока не будет найдено первое, непротиворечащее комбинации значений source_type, source_role и container. Другими словами, для применения правила необходимо, чтобы:
source_type.source_role.container_type.Варианты задания типа субъекта, инициирующего создание нового объекта (элемент source_type):
source_type: coresource_type: [core, dispatcher]source_type: @anyВарианты задания роли субъекта, инициирующего создание нового объекта (элемент source_role):
source_role: systemsource_role : [system, user]source_role: @anyВарианты задания типа контейнера, в котором создается новый объект (элемент container_type):
container_type: corecontainer_type : @source_typecontainer_type: [core, dispatcher, @source_type]container_type : @anyЭлементы target_type и target_type_auto
Элементы target_type и target_type_auto используются для определения допустимых типов для создаваемого объекта.
При этом target_type используется в случае, когда желаемый тип указывается при создании объекта, а target_type_auto используется, когда желаемый тип не указан, и политика должна сама вычислить допустимый тип.
Варианты задания допустимых типов в случае явного указания типа (элемент target_type):
target_type: coretarget_type: @source_typetarget_type: @container_typetarget_type: [core, dispatcher, @container_type]target_type: @anyНазначение желаемого типа новому субъекту будет разрешено, если этот тип совпадет с одним из указанных в target_type. Если элемент target_type не задан, то явное назначение типа запрещено.
Варианты задания автоматически назначаемого типа в случае отсутствия явного указания типа (элемент target_type_auto):
target_type_auto: coretarget_type_auto: @source_typetarget_type_auto: @container_typeСоздаваемому субъекту будет назначен тип, указанный в target_type_auto. Если поле target_type_auto не задано, то неявное назначение типа запрещено.
Элементы target_role и target_role_auto
Элементы target_role и target_role_auto используются для определения допустимых ролей для создаваемого субъекта.
При этом target_role используется в случае, когда желаемые роли указываются при создании субъекта, а target_role_auto используется, когда желаемые роли не указаны, и политика должна сама вычислить нужные роли.
Варианты задания допустимых ролей в случае явного указания ролей ( элемент target_role_):
target_role: coretarget_role: [core, dispatcher]target_role: @source_roletarget_role: @anyНазначение желаемых ролей новому субъекту будет разрешено, если эти роли являются подмножеством ролей, указанных в target_role. Если элемент target_role не задан, то явное назначение ролей запрещено.
Варианты задания автоматически назначаемых ролей в случае отсутствия явного указания ролей (элемент target_role_auto):
target_role_auto: coretarget_role_auto: [core, dispatcher]target_role_auto: @source_rolestarget_role_auto: @anyСоздаваемому субъекту будет назначен тип, указанный в target_role_auto. Если элемент target_role_auto не задан, то неявное назначение типа запрещено.
Пример
create_object: {
{ source_type: realm
, source_role: system
, container_type: app_file
, target_type_auto: @container_type
},
{ source_type: realm
, source_role: system
, container_type: @source_type
, target_type: [app_file, secure_file]
},
}
В начало