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] New Issue#61: WS-XACML: How are the contents ofXACMLAuthzAssertions represented in the base XACML Policies


Hi Rich,

Thanks for the endorsement.

As for identifying WS-XACML policies, I had not considered the problem, 
but it sounds like proposals might be useful.

What occurs to me is to have all WS-XACML policies collected into a 
special PolicySet that is combined with other internal 
PolicySets/Policies so all are evaluated if necessary to reach a result.

The WS-XACML PolicySet could have an identifier that uses a special 
site-specific naming convention: e.g. 
urn:somecompany:...:xacmlauthzassertion:policyset:20

Isolated <Apply> elements don't occur in normal XACML, so for 
Requirements, they should be expressed as a Policy in the form described 
in Section 3.2.  For Capabilities, they should be expressed as a similar 
Policy, except using ...:function:or rather than ...:function:and to 
combine the <Apply> elements (I will add this equivalence to the next 
Revision).  Again, a site-specific naming convention could be used to 
notify the XACML...Assertion builder that the <Apply> elements from that 
policy MAY be extracted: e.g.
urn:somecompany:...:xacmlauthzassertion:requirements:25
urn:somecompany:...:xacmlauthzassertion:capabilities:25

Requirements and Capabilities that "go together" could be put into 
individual PolicySet instances inside the "WS-XACML PolicySet".

That certainly isn't a complete solution, and I need to think more about 
using Capabilities in a standard XACML policy, but maybe this is a start.

Regards,
Anne

Rich Levinson wrote On 12/15/06 16:57,:
> Hi Anne,
> 
> I just want to mention that I think the profile is a great document
> and a really valuable example of how XACML can be applied.
> 
> I quickly looked over your suggestion and I think I must not have
> expressed my point clearly.
> 
> What I am thinking is that these XACMLAssertions,  both the
> XACMLAuthzAssertion and the XACMLPrivacyAssertions are
> elements that can be included in a ws:Policy elements and used
> in wsdl and other policy containers to express the requirements
> to clients as to what they need to do to successfully access the
> web service. I think we probably agree on that, and, if so, then
> I can get to what the issue is that I am considering.
> 
> I would expect (correct me if I am wrong, but this is what I am
> thinking) that it is perfectly reasonable, if not likely, that these
> XACMLAssertions will be part of an overall xacml architecture
> in various enterprise environments. As such, it is likely that
> there are one or mores PDP out there in the enterprise that are the
> home of a collection of xacml policies, as well as being the decision
> points handling PEP requests.
> 
> It is also my expectation that this PDP (or at least the people who
> adminster the PDP) will likely consider the Web Services to be
> Resources that its policies in general will cover.
> 
> So, I put myself in the position of one of these PDP admins and
> ask myself, how do I create a XACML Policy that will contain all
> the info I want to govern the access to this web service Resource
> (as suggested by the para 2 in section 4, etc.). What I am thinking
> is that only a subset of this info should go to the XACMLAssertions,
> which will end up in the wsdl, but the rest of the info I want to keep
> private and just use at runtime to validate and authorize requests and
> produce Responses etc.
> 
> So, the question is: how do I flag the subset of XACML Policy info
> that is targeted for the XACMLAssertions - I guess I am also assuming
> that the WebService Manager, in whatever form it will take, will in
> general make a XACMLRequest to the PDP to get the Policy or
> Policies governing this Resource. That Manager would then need to
> be able to select from the XACML Policy (as opposed to the WS Policy,
> which, on the other hand, the Manager is populating for setup etc.) the
> elements:
> 
>       <element ref="*xacml:Policy*" minOccurs="*0*" maxOccurs="*1*" />
>       <element ref="*xacml:PolicySet*" minOccurs="*0*" maxOccurs="*1*" />
>       <element ref="*xacml:Apply*" minOccurs="*0*" 
> maxOccurs="*unbounded*" />
>   <element ref="*xacml-context:Request*" minOccurs="*0*" maxOccurs="*1*" />
> 
> that can be moved from the xacml:Policy data to the Capabilities and 
> Resources
> elements of the XACML*Assertion.
> 
> So, I am wondering what the original xacml:Policy, which I assume can 
> contain
> the source elements for these XACML*Assertions, will look like and how one
> would go about selecting the appropriate info therefrom.
> 
> Bottom line is that the examples you suggested below, appear to me to be the
> final step of this process: i.e. some entity has put these ws:Policy 
> blocks as
> part of the wsdl or other that the client encounters before making the 
> actual
> access. To use your first example:
> 
>     <Requirements>
>        Has signed license agreement
>     </Requirements>
> 
> I would expect that somewhere in the PDP policy store that a xacml:Attribute
> might exist with an AttributeValue: "Has signed license agreement", and that
> when one queries the PDP for this xacml:Policy that they are able to 
> obtain this
> AttributeValue and put it in the Requirements element of the ws:Policy.
> 
> OK, so now hopefully that explains how I am looking at this and maybe there
> is some complete aspect to this that I am missing, that will help 
> explain it all.
> 
>        Thanks,
>        Rich
> 
> 
> 
> 
> Anne Anderson - Sun Microsystems wrote:
> 
>> Hi Rich,
>>
>> Thanks for the feedback.
>>
>> Rich Levinson wrote On 12/15/06 14:05,:
>>
>>>
>>>         61. WS-XACML: How are the contents of XACMLAuthzAssertions
>>>         represented in the base XACML Policies
>>>
>>> (Submitted by: *Rich*)
>>>
>>> Reading the spec, it appeared to me that an important piece of info 
>>> might be missing (or either I missed it or it intentionally is not 
>>> there, but that's the point of this issue). As an entry point to this 
>>> potential issue, consider statement in Section 4, p 23, para 2, that 
>>> says
>>>
>>> "For security reasons, many entities are unwilling to publish their 
>>> complete authorization and access control policies. Therefore, an 
>>> XACMLAuthzAssertion </xacml/AuthzAssertion> MAY not be a complete 
>>> specification of an entity's authorization and access control policy. 
>>> A service MAY choose to publish all or a subset of the 
>>> XACMLauthorization or access control policy it will apply with 
>>> respect to particular policy targets."
>>>
>>> How are the subsets of the core xacml policies identified as to what 
>>> should and should not be made public?
>>
>>
>>
>> It is completely site-dependent as to what is published and what 
>> isn't. Particular trade/service communities (on-line bookstores, etc.) 
>> might standardize policy vocabularies to be used in stating 
>> XACMLAuthzAssertions or XACMLPrivacyAssertions for their sites.
>>
>> As an example, Sun certainly isn't going to publish its enterprise 
>> policy.  But consider some fictitious software download site 
>> maintained by Sun; for this site, Sun might publish the following:
>>
>> <wsp:exactlyOne>
>>   <XACMLAuthzAssertion>
>>     <Requirements>
>>        Has signed license agreement
>>     </Requirements>
>>     <Capabilities>
>>        Provide trial version
>>     </Capabilities>
>>   </XACMLAuthzAssertion>
>>   <XACMLAuthzAssertion>
>>     <Requirements>
>>       Has signed license agreement
>>       Has paid for Level 3 support
>>     </Requirements>
>>     <Capabilities>
>>       Provide current production version
>>     </Capabilities>
>>   </XACMLAuthzAssertion>
>> </wsp:exactlyOne>
>>
>> Would it help to include an example like this?
>>
>> Also, it would be of interest to
>>
>>> see some example policies that contained entities that end up in the 
>>> Capabilities and Requirements sections of the Assertions. I am 
>>> particularly interested in how privacy requirements might be set up 
>>> in the original policy since these are generally not part of the 
>>> authorization process, per se', but possibly could be considered to 
>>> be modelled as XACML Obligations. Any guidance on this in reply to 
>>> issue or changes to doc would be much appreciated.
>>
>>
>> Consider a service policy saying the service will provide a copy of 
>> its current price list if the client agrees to retain it no longer 
>> than 30 days and not to disclose it to 3rd parties.  The service also 
>> says it will not disclose the client's personal information to 3rd 
>> parties.
>>
>>   <XACMLPrivacyAssertion>
>>     <Requirements>
>>        max-data-retention-days <= 30
>>        data-disclosure == "ours" }
>>     </Requirements>
>>     <Capabilities>
>>        resource-id="current-price-list"
>>        //p3p10full/POLICIES/POLICY/RECIPIENT/* subset-of { "ours" }
>>     </Capabilities>
>>   </XACMLPrivacyAssertion>
>>
>> A client policy might say:
>>
>>   <XACMLPrivacyAssertion>
>>     <Requirements>
>>        resource-id="current-price-list"
>>        //p3p10full/POLICIES/POLICY/RECIPIENT/* subset-of { "ours" }
>>     </Requirements>
>>     <Capabilities>
>>        max-data-retention-days <= 30
>>        data-disclosure == "ours" }
>>     </Capabilities>
>>   </XACMLPrivacyAssertion>
>>
>> There is another example using XACML's XML syntax in Section 6 of WD 8.
>>
>> Is this what you are looking for?  If you could describe ways in which 
>> the examples in Section 6 are inadequate, I could provide more 
>> examples or better examples.
>>
>>>
>>> Status: *OPEN*
>>>
>>

-- 
Anne H. Anderson             Email: Anne.Anderson@Sun.COM
Sun Microsystems Laboratories
1 Network Drive,UBUR02-311     Tel: 781/442-0928
Burlington, MA 01803-0902 USA  Fax: 781/442-1692


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