OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

xacml message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: Re: [xacml] Attribute categories.


Daniel, Anne, All,

My colleague Ludwig Seitz has tried out the new attribute categories and
he agrees with Daniel on the quoted discussion. Here is his explanation
of his opinion in his own words:

I think Daniel is right about not limiting DisjunctiveMatch to a single
category. I have a nice example where it won't work:

Imagine you want to collect all policies for a resource 'foo' in one
PolicySet.
In the old XACML 3.0 (somewhate simplified notation) you could do
something 
like this:

<PolicySet>
   <Target>
      <Resources>
	<Resource>
	  <ResourceMatch>
		<AttributeValue>foo</AttributeValue>
		<AttributeDesignator/>
	  </ResourceMatch>
	<Resource>
      </Resource>
   </Target>
   <Policy> ... </Policy>
    .
    .
    .
</PolicySet>

With Anne's proposal this would translate to something like this:

<PolicySet>
   <Target> 
      <DisjunctiveMatch CategoryId="Resource">
	<ConjunctiveMatch>
          <Match>
            <AttributeValue>foo</AttributeValue>
	    <AttributeDesignator Category="Resource"/>
	  </Match>
        </ConjunctiveMatch>
      <DisjunctiveMatch>
   </Target>
   <Policy> ... </Policy>
    .
    .
    .
</PolicySet>
   

With the new Delegation model, administrative requests will look 
like this for the 'foo' resource:

<Request>
 <Attributes Category="DelegatedResource">
    foo
 </Attributes>
 <Attributes Category="Delegate">
  ...
 </Attributes>
</Request

Which means they would not match the target of the above PolicySet
anymore.
In order to make the above construction work like it did before,
we need to be able to do something like this:

<PolicySet>
   <Target> 
      <DisjunctiveMatch>
	<ConjunctiveMatch>
          <Match>
            <AttributeValue>foo</AttributeValue>
	    <AttributeDesignator Category="Resource"/>
	  </Match>
        </ConjunctiveMatch>
        <ConjunctiveMatch>
	  <Match>
	    <AttributeValue>foo</AttributeValue>
 	    <AttributeDesignator Category="DelegatedResource"/>
	  </Match>
	</ConjunctiveMatch>
      <DisjunctiveMatch>
   </Target>
   <Policy> ... </Policy>
    .
    .
    .
</PolicySet>


I think the above construct is quite common and I would therefore
support
Daniel's suggestion not to limit DisjunctiveMatch to a single category.


Daniel Engovatov wrote:

>I am not sure about limiting DisjunctiveMatch to a single category:
>Subjects will be in different categories, and there is no strong reason
>to limit this.  We will be basically adding some basic Boolean logic to
>match combinations - we could actually make it fully generic and add
>nesting <AND> and <OR> operations on the <MATCH>, but that would
>probably be a bit of an overkill, so keeping it to one level should be
>OK.
>I would rather keep it in the simplest possible form that allows mapping
>of the old Subject - let's discuss it during the next call.
>
>Daniel;
>
>
>-----Original Message-----
>From: Anne Anderson - Sun Microsystems [mailto:Anne.Anderson@sun.com] 
>Sent: Wednesday, October 04, 2006 12:20 PM
>To: xacml@lists.oasis-open.org
>Subject: Re: [xacml] Attribute categories.
>
>Hi Daniel,
>
>I did not mean to imply that we would still have <SUBJECTS>, <SUBJECT>, 
>..., but that corresponding abstractions are needed: groups of targets 
>that fall within a single category, and single instances of a target in 
>that category to which multiple matches must apply.
>
>So, building on your example, here is what would be needed, with the 
><Target> itself implying a conjunctive match of the enclosed 
><DisjunctiveMatch> elements:
>
><Target>
>    <DisjunctiveMatch CategoryId="..:a">
>       <ConjunctiveMatch>
>           <Match> ...</Match>
>           <Match> ...</Match>
>       </ConjunctiveMatch>
>       <ConjunctiveMatch>
>           <Match> ...</Match>
>           <Match> ...</Match>
>       </ConjunctiveMatch>
>       <ConjunctiveMatch>
>           <Match> ...</Match>
>           <Match> ...</Match>
>       </ConjunctiveMatch>
>    </DisjunctiveMatch>
>    <DisjunctiveMatch CategoryId="..:b">
>       <ConjunctiveMatch>
>           <Match> ...</Match>
>           <Match> ...</Match>
>       </ConjunctiveMatch>
>    </DisjunctiveMatch>
>    ...
></Target>
>
>Regards,
>Anne
>  
>



[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]