Инструкция entity предназначена для выполнения следующих действий:
Синтаксис
<entity-entry>
::= "entity" <entity-name> "{" <entity-body> "}"
| "entity" <entity-name> ";"
<entity-body> ::= [<active-audit-entry>]
{<rule>}
<rule> ::= <policy-binding>
| <match-for-entity>
<policy-binding> ::= <execute-policy-binding>
| <instance-policy-binding>
| <iface-method-policy-binding>
| <security-policy-binding>
<match-for-entity>
::= <match-operation> <entity-side> [<match-attrs>] "{"
<match-body>
"}"
<entity-side> ::= <call-side> "=" <entity-self>
Элементы
|
Уникальный идентификатор сущности (EID). Должен соответствовать имени сущности в EDL-файле. |
|
Тело инструкции с правилами конфигурирования сущности. |
|
Инструкция связывания события, в котором участвует сущность, с политиками безопасности |
|
Инструкция |
|
Инструкция |
|
Инструкции |
|
Инструкция |
Пример
entity core {
execute call main = grant;
execute call foo = deny;
// Обработчики событий обращения к security-интерфейсу.
security call a_restart = fl0_restart, fl1_restart;
security call a_enter_process0 = fl0_enter_process;
security call a_base =
choice ( fl0_state ) {
"init" : grant;
"process": deny;
_ : deny;
};
receive in core.xchange.x1 = grant
}