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 of XACMLAuthzAssertionsrepresented in the base XACML Policies


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*




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