Mic security model read rule
read {source : <Sid>, target : <Sid>}
This verifies that the source resource consumer is allowed to read data from the target resource.
It returns the "allowed" result in the following cases:
- The integrity level of the
sourceresource consumer does not exceed the integrity level of thetargetresource. - The integrity level of the
sourceresource consumer exceeds the integrity level of thetargetresource, but the minimum integrity level of subjects and resources from which thesourceresource consumer can receive data does not exceed the integrity level of thetargetresource. - The integrity level of the
sourceresource consumer is incomparable to the integrity level of thetargetresource, but the minimum integrity level of subjects and resources from which thesourceresource consumer can receive data does not exceed the integrity level of thetargetresource.
It returns the "denied" result in the following cases:
- The integrity level of the
sourceresource consumer exceeds the integrity level of thetargetresource, and the minimum integrity level of subjects and resources from which thesourceresource consumer can receive data exceeds the integrity level of thetargetresource. - The integrity level of the
sourceresource consumer exceeds the integrity level of thetargetresource, and the minimum integrity level of subjects and resources from which thesourceresource consumer can receive data is incomparable to the integrity level of thetargetresource. - The integrity level of the
sourceresource consumer is incomparable to the integrity level of thetargetresource, and the minimum integrity level of subjects and resources from which thesourceresource consumer can receive data exceeds the integrity level of thetargetresource. - The integrity level of the
sourceresource consumer is incomparable to the integrity level of thetargetresource, and the minimum integrity level of subjects and resources from which thesourceresource consumer can receive data is incomparable to the integrity level of thetargetresource. - An integrity level was not assigned to the
sourceresource consumer or to thetargetresource. - The
sourceortargetvalue is outside of the permissible range.
Example:
/* Any client in the solution is allowed to query a server of
* the updater.Realmserv class by calling the read method of the
* realm.Reader service if the Mic security model permits
* this client to read data from the resource needed by
* this client. Otherwise any client in the solution is prohibited from
* querying a server of the updater.Realmserv class by calling
* the read method of the realm.Reader endpoint. */
request dst=updater.Realmserv,
endpoint=realm.Reader {
match method=read {
mic.read { source : src_sid
, target : message.handle.handle
}
}
}