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] | [Elist Home]

Subject: [xacml] comments on LDAP profile for distributing XACML policies

Here is the first of my long-standing Action Items.  Sorry it
took so long, Tim!

Title: Comments on "XACML LDAP profile for distributing XACML
       PolicyStatements", slide set dated July 2002, presented at
       July 2002 XACML Face-to-Face
Author: Anne Anderson
Version: 1.2, 02/12/16 (yy/mm/dd)
Source:  /home/aa74233/projects/xacml/SCCS/s.Response_Tim_LDAP.txt

The Data model looks fine (modulo changes in current spec, such
as multiple Attributes per Action), except that I think there may
be multiple repositories in use by a given organization (see

I think the "Procedure" described is fine other than expectation
that the resulting set should have only one member.

My primary objection is that I think it extremely unlikely that
an organization's policies will be structured such that only one
Policy will apply to a given Request.  Ensuring that this is true
would require infinitely capable Policy System Administrators, a
resource that is in short supply right now.  I also think it an
unnecessary restriction on actual use cases to impose this

Here is my model for how Policies are developed and accessed:

- various corporate entities will develop policies independently
  of each other: Human Resources, Real Estate Management,
  Marketing, Sales, Software Engineering, ...  These policies may
  be published to one or more repositories.  A given Request must
  satisfy all applicable policies from all these entities.

- a PRP will be configured with a template PolicySet that
  probably has a Deny-overrides combining algorithm.  The
  template may have no Policies in it.

- a PRP will be configured with information about the various
  repositories that store policies that it must search.  If all
  corporate entities publish their policies to a single
  repository, then the PRP will be configured to search that one.
  If there are various repositories to which entities publish,
  then the PRP will be configured with all of them.

- Policies in a given repository are "indexed" in various ways.
  Typically, there will be multiple indices, each based on some
  MatchId on some Attribute.  Also, some policies will not be
  indexable for any given index (AnySubject, match function not
  indexable), so there will be a bucket of "non-indexed policies"
  that will always be returned in response to a specific query.

  Given a Request, multiple queries will be made to the
  repository, each based on one of the Attributes in the Request
  that is an indexed Attribute.  The set of potentially
  applicable policies will be the intersection of the sets
  returned from each query.  Whether the multiple queries and the
  intersecting are handled by the PRP or by the Repository will
  depend on the functionality of the Repository and its APIs.

  PDP           Policy Retrieval Point              Repository

  --Request---->                ----Attribute,Value,MatchId--->
                                <---matching Policies---------
                                <---matching Policies---------
                                <---matching Policies---------
                                <---matching Policies---------
                       [compute intersection]
                       [insert intersection into template]
 <--populated template---

  The returned intersection of matching Policies is a superset of
  the Policies that are actually applicable to the Request.  This
  is because the indexing will rarely be fine-grained enough to
  retrieve only those policies whose Target elements match a
  given Request.  Some organizations will index only on common
  Subject Attributes, for example.  Some organizations will index
  only on equality-type MatchId functions.  Few organizations
  will index on every Attribute and every MatchId that may appear
  in a Policy Target.

The PRP inserts the intersection of "matching" policies into its
template PolicySet, and returns the populated template to the

The PDP will evaluate the PolicySet, finding many of the included
Policies to be NotApplicable (due to the incompleteness of
indexing).  The PDP MUST fully evaluate all Target elements in
each Policy, since it can not depend on the PRP to have presented
only applicable policies.  The PDP uses the combining algorithm
that was part of the PRP template to "merge" the various policies
that it must apply.

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

Powered by eList eXpress LLC