read {source : <Sid>, target : <Sid>}
Проверяет допустимость чтения данных из ресурса target
потребителем ресурсов source
.
Возвращает результат "разрешено" в следующих случаях:
source
не превышает уровень целостности ресурса target
.source
превышает уровень целостности ресурса target
, но минимальный уровень целостности субъектов и ресурсов, из которых потребитель ресурсов source
может принимать данные, не превышает уровень целостности ресурса target
.source
несравним с уровнем целостности ресурса target
, но минимальный уровень целостности субъектов и ресурсов, из которых потребитель ресурсов source
может принимать данные, не превышает уровень целостности ресурса target
.Возвращает результат "запрещено" в следующих случаях:
source
превышает уровень целостности ресурса target
, и минимальный уровень целостности субъектов и ресурсов, из которых потребитель ресурсов source
может принимать данные, превышает уровень целостности ресурса target
.source
превышает уровень целостности ресурса target
, и минимальный уровень целостности субъектов и ресурсов, из которых потребитель ресурсов source
может принимать данные, несравним с уровнем целостности ресурса target
.source
несравним с уровнем целостности ресурса target
, и минимальный уровень целостности субъектов и ресурсов, из которых потребитель ресурсов source
может принимать данные, превышает уровень целостности ресурса target
.source
несравним с уровнем целостности ресурса target
, и минимальный уровень целостности субъектов и ресурсов, из которых потребитель ресурсов source
может принимать данные, несравним с уровнем целостности ресурса target
.source
или ресурсу target
не назначен уровень целостности.source
или target
вне допустимого диапазона.Пример:
/* Любому клиенту в решении разрешено обращаться к серверу
* класса updater.Realmserv, вызывая метод read службы
* realm.Reader, если модель безопасности Mic допускает
* чтение данных этим клиентом из ресурса, который требуется
* этому клиенту. Иначе любому клиенту в решении запрещено
* обращаться к серверу класса updater.Realmserv, вызывая
* метод read службы realm.Reader. */
request dst=updater.Realmserv,
endpoint=realm.Reader {
match method=read {
mic.read { source : src_sid
, target : message.handle.handle
}
}
}
В начало