Re: [xacml-users] Hierarchical resources policy and request file

From
dhirendra sharma <>
Date
2006-06-30T17:36:30+00:00
ID
Thread
Re: [xacml-users] Hierarchical resources policy and request file
Hi Anne,

Can you help me with the Context Handler part of your
solution.

Do you mean something like the attached class and
request and policy files ?

(Note: I am using Sun's XACML 1.1 implementation)


Please ignore comments and println in the code.I am
just getting accustomed myself with the flow.

Thanks,
Dhirendra Sharma



--- Anne Anderson <> wrote:

> Dhirendra,
> 
> This would be more elegant if we had defined a 
> "resource-descendant-or-self" AttributeId, or better
> yet if we had 
> defined generic functions: "<type>-ancestor",
> "<type>-descendant", 
> "<type>-parent", ... that took any hierarchical
> AttributeId as their 
> parameter and returned the bag of satisfying values.
>  You could always 
> define such extensions yourself.
> 
> Using Section 4.1 of the Hierarchical Resource
> Profile 
>
(http://docs.oasis-open.org/xacml/2.0/access_control-xacml-2.0-hier-profile-spec-os.pdf)
> 
> the following should work:
> 
> Let the Resource Attribute
> "urn:oasis:names:tc:xacml:1.0:resource-id" in 
> the Request indicate the company to be read.  Let
> the Subject have a 
> "urn:namespace:subject-company" Attribute that
> indicates that subject's 
> "company" Attribute (the top-level company to which
> the subject 
> belongs).  Assume the DataType of both Attributes is
> "xs:anyURI".
> 
> The Context Handler must be written to have
> awareness of the company 
> hierarchy.  In this case (here is the inelegant
> part), the hierarchy is 
> going to be "upside-down", which works because
> multiple "parents" are 
> allowed:
> 
> 1) if asked for AttributeId 
> "urn:oasis:names:tc:xacml:2.0:resource-parent", the
> Context Handler 
> needs to return a bag containing the company-id's of
> all companies that 
> are direct subsidiaries of the requested resource
> 
> 2) if asked for
> "urn:oasis:names:tc:xacml:2.0:resource-ancestor",
> the 
> Context Handler needs to return a bag containing the
> company-id's of all 
> companies that are direct or indirect subsidiaries
> of the requested 
> resource.
> 
> 3) if asked for 
>
"urn:oasis:names:tc:xacml:2.0:resource-ancestor-or-self",
> the Context 
> Handler needs to return a bag containing the
> company-id's of all 
> companies that are direct or indirect subsidiaries
> of the requested 
> resource as well as the resource-id in the Request.
> 
> To specify 1) in a Rule,
> 
> <Rule RuleId="..." Effect="Permit">
>    <Condition>
>      <Apply
>
FunctionId="urn:oasis:names:tc:xacml:1.0:function:anyURI-is-in">
>          <SubjectAttributeDesignator
> AttributeId="urn:namespace:subject-company"
> DataType="xs:anyURI" />
>          <ResourceAttributeDesignator 
>
AttributeId="urn:oasis:names:tc:xacml:1.0:resource:resource-id"
> DataType="xs:anyURI" />
>      </Apply>
>    </Condition>
> </Rule>
> 
> To specify 2) in a Rule,
> 
> <Rule RuleId="..." Effect="Permit">
> <Condition>
>
FunctionId="urn:oasis:names:tc:xacml:1.0:function:anyURI-is-in">
>          <SubjectAttributeDesignator
> AttributeId="urn:namespace:subject-company"
> DataType="xs:anyURI" />
>          <ResourceAttributeDesignator 
>
AttributeId="urn:oasis:names:tc:xacml:2.0:resource:resource-ancestor-or-self"
> DataType="xs:anyURI" />
>    </Apply>
> </Condition>
> 
> Regards,
> Anne Anderson
> 
> dhirendra sharma wrote:
> 
> > Hi,
> > 
> >   We need to specify the policy for the below :
> > 	1). A user should be able to "read"  a compnay 
> > (Example: ABC Inc) provided
> > 		 he has - "ABC-Read" role and should have "ABC
> Inc"
> > as the company attribute value in his profile
> > 	
> > 	2). A user should be able to "read" a company
> > (Example: ABC ) and any its of subsidiaries
> provided
> > 		 he has - "ABC-Read" role and should have "ABC
> Inc"
> > or any of its subsidiaries as the 
> > 		company attribute value in his profile
> > 	
> > 	The request could be made giving company id which
> > could fall anywhere in the subsidiary hierarchy
> and we
> > need to get a response 
> > whether user is authorized or not.
> > 
> > 	Can someone suggest - policy file  and request
> XML
> > for this ?
> > 	
> > 
> > 
> > 
> > Thanks,
> > Dhirendra Sharma
> > 
> > 
> > __________________________________________________
> > Do You Yahoo!?
> > Tired of spam?  Yahoo! Mail has the best spam
> protection around 
> > http://mail.yahoo.com 
> > 
> >
>
---------------------------------------------------------------------
> > This publicly archived list supports open
> discussion on using the 
> > XACML OASIS Standard. To minimize spam in the
> archives, you 
> > must subscribe before posting.
> > 
> > [Un]Subscribe/change address:
> http://www.oasis-open.org/mlmanage/
> > Alternately, using email:
> list-[un]
> > List archives:
> http://lists.oasis-open.org/archives/xacml-users/
> > Committee homepage:
> http://www.oasis-open.org/committees/xacml/
> > List Guidelines:
> http://www.oasis-open.org/maillists/guidelines.php
> > Join OASIS: http://www.oasis-open.org/join/
> > 
> 
> -- 
> Anne H. Anderson               
> Sun Microsystems Labs          1-781-442-0928
> Burlington, MA USA
> 


__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com