[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Issue: PolicyEvaluator::multiple_evaluate()
Hi all,
It looks as I ran into a new issue with the interface definitions that
the current version of HRAC has.
Issue:
It occurred to me that PolicyEvaluator::multiple_evaluate() has wrong
signature. Security Attributes in the method are passed as an argument.
Another argument is a list of access requests, each item of which is a
pair: resource name and operation on it. I believe that security
attributes should not be the same for all items in the list, but they
should be a third item in the triple {resource name, operation,
attributes}.
The reason I think so is because of the way we treat security
attributes. We provide AttributeList
DynamicAttributeService::get_dynamic_attributes(resource name,
operation, attributes). This means that the new attributes might be
specific to a particular resource name and/or operation. Thus, we should
provide a different set of attributes to every access request element in
PolicyEvaluator::multiple_evaluate().
Proposed Resolution:
If my concern is appropriate, then how to resolve the issue? The strait
forward way would be just to redefine AccessDefinition as follows:
struct AccessDefinition {
ResourceName resource_name;
string operation;
AttributeList attributes;
};
and to re-define PolicyEvaluator::multiple_evaluate as follows:
DecisionResultList multiple_evaluate(
in AccessDefinitionList access_requests,
);
----------------
Broadcast message to hrac-rfp from Konstantin Beznosov <Konstantin_Beznosov@writeme.com>.
Go to http://cadse.cs.fiu.edu/omg/hrac-rfp to browse the mail list archive.