Ограничения/правила: создание субъекта

При создании субъекта применяются правила, связывающие тип и роль запускающего (родительского) субъекта и образ (image) запускаемого субъекта с типом и множеством ролей, которые назначаются новому субъекту.

Элементы source_type, source_role и image

Элемент create_subject может содержать несколько правил. Правила применяются последовательно (порядок важен) до тех пор, пока не будет найдено первое, непротиворечащее комбинации значений source_type, source_role и image. Другими словами, для применения правила необходимо, чтобы:

Варианты задания типа субъекта, инициирующего создание нового субъекта (элемент source_type):

Варианты задания роли субъекта, инициирующего создание нового субъекта (элемент source_role):

Варианты задания имени образа, из которого создается новый субъект (элемент image):

Элементы target_type и target_type_auto

Элементы target_type и target_type_auto используются для определения допустимых типов для создаваемого субъекта.

При этом target_type используется в случае, когда желаемый тип указывается при создании субъекта, а target_type_auto используется, когда желаемый тип не указан, и политика должна сама вычислить допустимый тип.

Варианты задания допустимых типов в случае явного указания типа (элемент target_type):

Назначение желаемого типа новому субъекту будет разрешено, если этот тип совпадет с одним из указанных в target_type. Если элемент target_type не задан, то явное назначение типа запрещено.

Варианты задания автоматически назначаемого типа в случае отсутствия явного указания типа (элемент target_type_auto):

Создаваемому субъекту будет назначен тип, указанный в 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. Если элемент target_role не задан, то явное назначение ролей запрещено.

Варианты задания автоматически назначаемых ролей в случае отсутствия явного указания ролей (элемент target_role_auto):

Создаваемому субъекту будет назначен тип, указанный в target_role_auto. Если элемент target_role_auto не задан, то неявное назначение типа запрещено.

Пример

create_subject: {

{ source_type: core // субъект инициатор должен иметь тип "core"

, source_role: system // субъект инициатор должен иметь роль "system"

, image: einit // образ

, target_type_auto: einit // автоматическое назначение типа возможно

, target_role_auto: @source_roles // автоматическое назначение ролей: роли, совпадающие с ролями сущности-инициатора

},

{ source_type: dispatcher

, source_role: [system, user]

, image: rpcservice

, target_type: [user, admin] // тип создаваемого субъекта должен быть указан, и должен быть одним из списка

, target_role_auto : @source_roles

},

{ source: @any

, image: tls

, target_type: [@source_type, tls]

, target_role: [user, admin]

},

}

В начало