RE: [PROPOSAL] OpenAZ as new Incubator project

2014-12-04 Thread Hal Lockhart
My  apologies.

Hal

 -Original Message-
 From: Colm O hEigeartaigh [mailto:cohei...@apache.org]
 Sent: Friday, November 14, 2014 11:10 AM
 To: general@incubator.apache.org
 Subject: Re: [PROPOSAL] OpenAZ as new Incubator project
 
 It will be cool to see a XACML project at Apache, especially one that
 looks certain to be the main open source implementation. One minor
 correction:
 
  Colm MacCárthaigh
 
 You have the wrong Apache Colm there :-)
 
 Colm (O hEigeartaigh)
 
 On Fri, Nov 14, 2014 at 1:55 PM, Hal Lockhart hal.lockh...@oracle.com
 wrote:
 
  I was not questioning whether to initiate discussion. That was what I
  was trying to do.
 
  I was asking how to go about it.
 
  Thanks for the comments, they are noted.
 
  Hal
 
   -Original Message-
   From: John D. Ament [mailto:john.d.am...@gmail.com]
   Sent: Thursday, November 13, 2014 8:59 PM
   To: general@incubator.apache.org
   Subject: Re: [PROPOSAL] OpenAZ as new Incubator project
  
   I think so.
  
   There's a few things that you want to iron out first, before people
   start voting on this.
  
   - 3 is generally the minimum number of mentors.
   - I can't find a Paul Freemantle on the apache committers list.
   There's a Paul Fremantle, minor spelling difference.
   - You may want to review this section to get a better understanding
   of the
   goals: http://incubator.apache.org/guides/proposal.html#formulating
  
   the Discuss option just helps everyone look at your proposal a
   little bit better and determine if there's any gotchas.  For
   example, I'm surprised to see a new incubator project using SVN.
  
   - Can you list out your issue tracking preference (should probably
   be JIRA unless you need something else)
   - Please also explicitly list the mailing lists your want.
  
   John
  
   On Thu, Nov 13, 2014 at 8:43 PM, Hal Lockhart
   hal.lockh...@oracle.com
   wrote:
  
So you want me to repost the proposal with the Subject changed to
start with [DISCUSS]? Or should I simply reference the wiki
 page?
   
Hal
   
 -Original Message-
 From: John D. Ament [mailto:john.d.am...@gmail.com]
 Sent: Thursday, November 13, 2014 5:03 PM
 To: general@incubator.apache.org
 Subject: Re: [PROPOSAL] OpenAZ as new Incubator project

 Hal,

 Per customs, would you mind if we cancel this and start with a
 [DISCUSS] thread about OpenAZ?  It's unclear if you meant this
 to
   be
 a vote or something.

 John

 On Thu, Nov 13, 2014 at 4:14 PM, Hal Lockhart
 hal.lockh...@oracle.com
 wrote:

  Abstract
 
  OpenAz is a project to create tools and libraries to enable
  the development of Attribute-based Access Control (ABAC)
  Systems in a variety of languages. In general the work is at
  least consistent with or actually conformant to the OASIS
 XACML Standard.
 
  Proposal
 
  Generally the work falls into two categories: ready to use
  tools
 which
  implement standardized or well understood components of an
  ABAC
 system
  and design proposals and proof of concept code relating to
  less well understood or experimental aspects of the problem.
 
  Much of the work to date has revolved around defining
  interfaces enabling a PEP to request an access control
 decision from a PDP.
  The XACML standard defines an abstract request format in xml
  and protocol wire formats in xaml and json, but it does not
  specify programmatic
 interfaces in any language.
  The standard says that the use of XML (or JSON) is not
  required only the semantics equivalent.
 
  The first Interface, AzAPI is modeled closely on the XACML
   defined
  interface, expressed in Java. One of the goals was to support
  calls
 to
  both a PDP local to the same process and a PDP in a remote
   server.
  AzAPI includes the interface, reference code to handle things
   like
 the
  many supported datatypes in XACML and glue code to mate it to
  the
 open
  source Sun XACML implementation.
 
  Because of the dependence on Sun XACML (which is XACML 2.0)
  the interface was missing some XACML 3.0 features. More
  recently this was corrected and
  WSo2 has mated it to their XACML 3.0 PDP. Some work was done
  by the JPMC team to support calling a remote PDP. WSo2 is
 also
  pursuing this
 capability.
 
  A second, higher level interface, PEPAPI was also defined.
  PEPAPI is more intended for application developers with
 little
  knowledge of XACML. It allows Java objects which contain
  attribute information to
 be passed in.
  Conversion methods, called mappers extract information from
  the objects and present it in the format expected by XACML.
  Some implementers have chosen to implement PEPAPI directly
  against their
 PDP, omitting the use

Re: [PROPOSAL] OpenAZ as new Incubator project

2014-11-18 Thread Paul Fremantle
You can treat me as Paul Free?mantle in regex form.

Paul

On Fri, Nov 14, 2014 at 1:59 AM, John D. Ament john.d.am...@gmail.com
wrote:

 I think so.

 There's a few things that you want to iron out first, before people start
 voting on this.

 - 3 is generally the minimum number of mentors.
 - I can't find a Paul Freemantle on the apache committers list.  There's
 a Paul Fremantle, minor spelling difference.
 - You may want to review this section to get a better understanding of the
 goals: http://incubator.apache.org/guides/proposal.html#formulating

 the Discuss option just helps everyone look at your proposal a little bit
 better and determine if there's any gotchas.  For example, I'm surprised to
 see a new incubator project using SVN.

 - Can you list out your issue tracking preference (should probably be JIRA
 unless you need something else)
 - Please also explicitly list the mailing lists your want.

 John

 On Thu, Nov 13, 2014 at 8:43 PM, Hal Lockhart hal.lockh...@oracle.com
 wrote:

  So you want me to repost the proposal with the Subject changed to start
  with [DISCUSS]? Or should I simply reference the wiki page?
 
  Hal
 
   -Original Message-
   From: John D. Ament [mailto:john.d.am...@gmail.com]
   Sent: Thursday, November 13, 2014 5:03 PM
   To: general@incubator.apache.org
   Subject: Re: [PROPOSAL] OpenAZ as new Incubator project
  
   Hal,
  
   Per customs, would you mind if we cancel this and start with a
   [DISCUSS] thread about OpenAZ?  It's unclear if you meant this to be a
   vote or something.
  
   John
  
   On Thu, Nov 13, 2014 at 4:14 PM, Hal Lockhart hal.lockh...@oracle.com
 
   wrote:
  
Abstract
   
OpenAz is a project to create tools and libraries to enable the
development of Attribute-based Access Control (ABAC) Systems in a
variety of languages. In general the work is at least consistent with
or actually conformant to the OASIS XACML Standard.
   
Proposal
   
Generally the work falls into two categories: ready to use tools
   which
implement standardized or well understood components of an ABAC
   system
and design proposals and proof of concept code relating to less well
understood or experimental aspects of the problem.
   
Much of the work to date has revolved around defining interfaces
enabling a PEP to request an access control decision from a PDP. The
XACML standard defines an abstract request format in xml and protocol
wire formats in xaml and json, but it does not specify programmatic
   interfaces in any language.
The standard says that the use of XML (or JSON) is not required only
the semantics equivalent.
   
The first Interface, AzAPI is modeled closely on the XACML defined
interface, expressed in Java. One of the goals was to support calls
   to
both a PDP local to the same process and a PDP in a remote server.
AzAPI includes the interface, reference code to handle things like
   the
many supported datatypes in XACML and glue code to mate it to the
   open
source Sun XACML implementation.
   
Because of the dependence on Sun XACML (which is XACML 2.0) the
interface was missing some XACML 3.0 features. More recently this was
corrected and
WSo2 has mated it to their XACML 3.0 PDP. Some work was done by the
JPMC team to support calling a remote PDP. WSo2 is also pursuing this
   capability.
   
A second, higher level interface, PEPAPI was also defined. PEPAPI is
more intended for application developers with little knowledge of
XACML. It allows Java objects which contain attribute information to
   be passed in.
Conversion methods, called mappers extract information from the
objects and present it in the format expected by XACML. Some
implementers have chosen to implement PEPAPI directly against their
   PDP, omitting the use of AzAPI.
Naomaru Itoi defined a C++ interface which closely matches the Java
   one.
   
Examples of more speculative work include: proposals for registration
and dispatch of Obligation and Advice handlers, a scheme called AMF
   to
tell PIPs how to retrieve attributes and PIP code to implement it,
discussion of PoC code to demonstrate the use of XACML policies to
drive OAuth interations and a proposal to use XACML policies to
   express OAuth scope.
   
ATT has recently contributed their extensive XACML framework to the
project.
   
The ATT framework represents the entire XACML 3.0 object set as a
collection of Java interfaces and standard implementations of those
interfaces.  The ATT PDP engine is built on top of this framework
   and
represents a complete implementation of a XACML 3.0 PDP, including
   all
of the multi-decision profiles. In addition, the framework also
contains an implementation of the OASIS XACML 3.0 RESTful API v1.0
   and
XACML JSON Profile v1.0 WD 14. The PEP API includes annotation
functionality, allowing

RE: [PROPOSAL] OpenAZ as new Incubator project

2014-11-14 Thread Hal Lockhart
I was not questioning whether to initiate discussion. That was what I was 
trying to do.

I was asking how to go about it.

Thanks for the comments, they are noted.

Hal

 -Original Message-
 From: John D. Ament [mailto:john.d.am...@gmail.com]
 Sent: Thursday, November 13, 2014 8:59 PM
 To: general@incubator.apache.org
 Subject: Re: [PROPOSAL] OpenAZ as new Incubator project
 
 I think so.
 
 There's a few things that you want to iron out first, before people
 start voting on this.
 
 - 3 is generally the minimum number of mentors.
 - I can't find a Paul Freemantle on the apache committers list.
 There's a Paul Fremantle, minor spelling difference.
 - You may want to review this section to get a better understanding of
 the
 goals: http://incubator.apache.org/guides/proposal.html#formulating
 
 the Discuss option just helps everyone look at your proposal a little
 bit better and determine if there's any gotchas.  For example, I'm
 surprised to see a new incubator project using SVN.
 
 - Can you list out your issue tracking preference (should probably be
 JIRA unless you need something else)
 - Please also explicitly list the mailing lists your want.
 
 John
 
 On Thu, Nov 13, 2014 at 8:43 PM, Hal Lockhart hal.lockh...@oracle.com
 wrote:
 
  So you want me to repost the proposal with the Subject changed to
  start with [DISCUSS]? Or should I simply reference the wiki page?
 
  Hal
 
   -Original Message-
   From: John D. Ament [mailto:john.d.am...@gmail.com]
   Sent: Thursday, November 13, 2014 5:03 PM
   To: general@incubator.apache.org
   Subject: Re: [PROPOSAL] OpenAZ as new Incubator project
  
   Hal,
  
   Per customs, would you mind if we cancel this and start with a
   [DISCUSS] thread about OpenAZ?  It's unclear if you meant this to
 be
   a vote or something.
  
   John
  
   On Thu, Nov 13, 2014 at 4:14 PM, Hal Lockhart
   hal.lockh...@oracle.com
   wrote:
  
Abstract
   
OpenAz is a project to create tools and libraries to enable the
development of Attribute-based Access Control (ABAC) Systems in a
variety of languages. In general the work is at least consistent
with or actually conformant to the OASIS XACML Standard.
   
Proposal
   
Generally the work falls into two categories: ready to use tools
   which
implement standardized or well understood components of an ABAC
   system
and design proposals and proof of concept code relating to less
well understood or experimental aspects of the problem.
   
Much of the work to date has revolved around defining interfaces
enabling a PEP to request an access control decision from a PDP.
The XACML standard defines an abstract request format in xml and
protocol wire formats in xaml and json, but it does not specify
programmatic
   interfaces in any language.
The standard says that the use of XML (or JSON) is not required
only the semantics equivalent.
   
The first Interface, AzAPI is modeled closely on the XACML
 defined
interface, expressed in Java. One of the goals was to support
calls
   to
both a PDP local to the same process and a PDP in a remote
 server.
AzAPI includes the interface, reference code to handle things
 like
   the
many supported datatypes in XACML and glue code to mate it to the
   open
source Sun XACML implementation.
   
Because of the dependence on Sun XACML (which is XACML 2.0) the
interface was missing some XACML 3.0 features. More recently this
was corrected and
WSo2 has mated it to their XACML 3.0 PDP. Some work was done by
the JPMC team to support calling a remote PDP. WSo2 is also
pursuing this
   capability.
   
A second, higher level interface, PEPAPI was also defined. PEPAPI
is more intended for application developers with little knowledge
of XACML. It allows Java objects which contain attribute
information to
   be passed in.
Conversion methods, called mappers extract information from the
objects and present it in the format expected by XACML. Some
implementers have chosen to implement PEPAPI directly against
their
   PDP, omitting the use of AzAPI.
Naomaru Itoi defined a C++ interface which closely matches the
Java
   one.
   
Examples of more speculative work include: proposals for
registration and dispatch of Obligation and Advice handlers, a
scheme called AMF
   to
tell PIPs how to retrieve attributes and PIP code to implement
 it,
discussion of PoC code to demonstrate the use of XACML policies
 to
drive OAuth interations and a proposal to use XACML policies to
   express OAuth scope.
   
ATT has recently contributed their extensive XACML framework to
the project.
   
The ATT framework represents the entire XACML 3.0 object set as
 a
collection of Java interfaces and standard implementations of
those interfaces.  The ATT PDP engine is built on top of this
framework
   and
represents a complete

Re: [PROPOSAL] OpenAZ as new Incubator project

2014-11-14 Thread Colm O hEigeartaigh
It will be cool to see a XACML project at Apache, especially one that looks
certain to be the main open source implementation. One minor correction:

 Colm MacCárthaigh

You have the wrong Apache Colm there :-)

Colm (O hEigeartaigh)

On Fri, Nov 14, 2014 at 1:55 PM, Hal Lockhart hal.lockh...@oracle.com
wrote:

 I was not questioning whether to initiate discussion. That was what I was
 trying to do.

 I was asking how to go about it.

 Thanks for the comments, they are noted.

 Hal

  -Original Message-
  From: John D. Ament [mailto:john.d.am...@gmail.com]
  Sent: Thursday, November 13, 2014 8:59 PM
  To: general@incubator.apache.org
  Subject: Re: [PROPOSAL] OpenAZ as new Incubator project
 
  I think so.
 
  There's a few things that you want to iron out first, before people
  start voting on this.
 
  - 3 is generally the minimum number of mentors.
  - I can't find a Paul Freemantle on the apache committers list.
  There's a Paul Fremantle, minor spelling difference.
  - You may want to review this section to get a better understanding of
  the
  goals: http://incubator.apache.org/guides/proposal.html#formulating
 
  the Discuss option just helps everyone look at your proposal a little
  bit better and determine if there's any gotchas.  For example, I'm
  surprised to see a new incubator project using SVN.
 
  - Can you list out your issue tracking preference (should probably be
  JIRA unless you need something else)
  - Please also explicitly list the mailing lists your want.
 
  John
 
  On Thu, Nov 13, 2014 at 8:43 PM, Hal Lockhart hal.lockh...@oracle.com
  wrote:
 
   So you want me to repost the proposal with the Subject changed to
   start with [DISCUSS]? Or should I simply reference the wiki page?
  
   Hal
  
-Original Message-
From: John D. Ament [mailto:john.d.am...@gmail.com]
Sent: Thursday, November 13, 2014 5:03 PM
To: general@incubator.apache.org
Subject: Re: [PROPOSAL] OpenAZ as new Incubator project
   
Hal,
   
Per customs, would you mind if we cancel this and start with a
[DISCUSS] thread about OpenAZ?  It's unclear if you meant this to
  be
a vote or something.
   
John
   
On Thu, Nov 13, 2014 at 4:14 PM, Hal Lockhart
hal.lockh...@oracle.com
wrote:
   
 Abstract

 OpenAz is a project to create tools and libraries to enable the
 development of Attribute-based Access Control (ABAC) Systems in a
 variety of languages. In general the work is at least consistent
 with or actually conformant to the OASIS XACML Standard.

 Proposal

 Generally the work falls into two categories: ready to use tools
which
 implement standardized or well understood components of an ABAC
system
 and design proposals and proof of concept code relating to less
 well understood or experimental aspects of the problem.

 Much of the work to date has revolved around defining interfaces
 enabling a PEP to request an access control decision from a PDP.
 The XACML standard defines an abstract request format in xml and
 protocol wire formats in xaml and json, but it does not specify
 programmatic
interfaces in any language.
 The standard says that the use of XML (or JSON) is not required
 only the semantics equivalent.

 The first Interface, AzAPI is modeled closely on the XACML
  defined
 interface, expressed in Java. One of the goals was to support
 calls
to
 both a PDP local to the same process and a PDP in a remote
  server.
 AzAPI includes the interface, reference code to handle things
  like
the
 many supported datatypes in XACML and glue code to mate it to the
open
 source Sun XACML implementation.

 Because of the dependence on Sun XACML (which is XACML 2.0) the
 interface was missing some XACML 3.0 features. More recently this
 was corrected and
 WSo2 has mated it to their XACML 3.0 PDP. Some work was done by
 the JPMC team to support calling a remote PDP. WSo2 is also
 pursuing this
capability.

 A second, higher level interface, PEPAPI was also defined. PEPAPI
 is more intended for application developers with little knowledge
 of XACML. It allows Java objects which contain attribute
 information to
be passed in.
 Conversion methods, called mappers extract information from the
 objects and present it in the format expected by XACML. Some
 implementers have chosen to implement PEPAPI directly against
 their
PDP, omitting the use of AzAPI.
 Naomaru Itoi defined a C++ interface which closely matches the
 Java
one.

 Examples of more speculative work include: proposals for
 registration and dispatch of Obligation and Advice handlers, a
 scheme called AMF
to
 tell PIPs how to retrieve attributes and PIP code to implement
  it,
 discussion of PoC code to demonstrate the use of XACML policies

Re: [PROPOSAL] OpenAZ as new Incubator project

2014-11-13 Thread Henry Saputra
Could you add more description on what is PEP and PDP and other
acronyms used in the proposal? If it is not directly relevant maybe
you can rephrase it to more generic analogy.

Thanks,

Henry

On Thu, Nov 13, 2014 at 1:14 PM, Hal Lockhart hal.lockh...@oracle.com wrote:
 Abstract

 OpenAz is a project to create tools and libraries to enable the development 
 of Attribute-based Access Control (ABAC) Systems in a variety of languages. 
 In general the work is at least consistent with or actually conformant to the 
 OASIS XACML Standard.

 Proposal

 Generally the work falls into two categories: ready to use tools which 
 implement standardized or well understood components of an ABAC system and 
 design proposals and proof of concept code relating to less well understood 
 or experimental aspects of the problem.

 Much of the work to date has revolved around defining interfaces enabling a 
 PEP to request an access control decision from a PDP. The XACML standard 
 defines an abstract request format in xml and protocol wire formats in xaml 
 and json, but it does not specify programmatic interfaces in any language. 
 The standard says that the use of XML (or JSON) is not required only the 
 semantics equivalent.

 The first Interface, AzAPI is modeled closely on the XACML defined interface, 
 expressed in Java. One of the goals was to support calls to both a PDP local 
 to the same process and a PDP in a remote server. AzAPI includes the 
 interface, reference code to handle things like the many supported datatypes 
 in XACML and glue code to mate it to the open source Sun XACML implementation.

 Because of the dependence on Sun XACML (which is XACML 2.0) the interface was 
 missing some XACML 3.0 features. More recently this was corrected and WSo2 
 has mated it to their XACML 3.0 PDP. Some work was done by the JPMC team to 
 support calling a remote PDP. WSo2 is also pursuing this capability.

 A second, higher level interface, PEPAPI was also defined. PEPAPI is more 
 intended for application developers with little knowledge of XACML. It allows 
 Java objects which contain attribute information to be passed in. Conversion 
 methods, called mappers extract information from the objects and present it 
 in the format expected by XACML. Some implementers have chosen to implement 
 PEPAPI directly against their PDP, omitting the use of AzAPI. Naomaru Itoi 
 defined a C++ interface which closely matches the Java one.

 Examples of more speculative work include: proposals for registration and 
 dispatch of Obligation and Advice handlers, a scheme called AMF to tell PIPs 
 how to retrieve attributes and PIP code to implement it, discussion of PoC 
 code to demonstrate the use of XACML policies to drive OAuth interations and 
 a proposal to use XACML policies to express OAuth scope.

 ATT has recently contributed their extensive XACML framework to the project.

 The ATT framework represents the entire XACML 3.0 object set as a collection 
 of Java interfaces and standard implementations of those interfaces.  The 
 ATT PDP engine is built on top of this framework and represents a complete 
 implementation of a XACML 3.0 PDP, including all of the multi-decision 
 profiles. In addition, the framework also contains an implementation of the 
 OASIS XACML 3.0 RESTful API v1.0 and XACML JSON Profile v1.0 WD 14. The PEP 
 API includes annotation functionality, allowing application developers to 
 simply annotate a Java class to provide attributes for a request. The 
 annotation support removes the need for application developers to learn much 
 of the API.

 The ATT framework also includes interfaces and implementations to 
 standardize development of PIP engines that are used by the ATT PDP 
 implementation, and can be used by other implementations built on top of the 
 ATT framework. The framework also includes interfaces and implementations 
 for a PAP distributed cloud infrastructure of PDP nodes that includes support 
 for policy distribution and pip configurations. This PAP infrastructure 
 includes a web application administrative console that contains a XACML 3.0 
 policy editor, attribute dictionary support, and management of PDP RESTful 
 node instances. In addition, there are tools available for policy simulation.

 Background

 Access Control is in some ways the most basic IT Security service. It 
 consists of making a decision about whether a particular request should be 
 allowed and enforcing that decision. Aside from schemes like permission bits 
 and Access Control Lists (ACLs) the most common way access control is 
 implemented is as code in a server or application which typically intertwines 
 access control logic with business logic, User interface and other software. 
 This makes it difficult to understand, modify, analyze or even locate the 
 security policy. The primary challenge of Access Control is striking the 
 right balance between powerful expression and intelligibility to human beings.

 The 

Re: [PROPOSAL] OpenAZ as new Incubator project

2014-11-13 Thread David Jencks
It'e really unlikely I will be able to contribute in any way to this any time 
soon, but I think it would be awesome if this was at apache.  When I tried to 
investigate xacml a  few years ago the major stumbling block I found was not 
being able to look at any reasonable implementation.  (I remember something 
about the sun implementation but for some reason it was not in a form I could 
learn anything from).

thanks
david jencks

On Nov 13, 2014, at 1:14 PM, Hal Lockhart hal.lockh...@oracle.com wrote:

 Abstract
 
 OpenAz is a project to create tools and libraries to enable the development 
 of Attribute-based Access Control (ABAC) Systems in a variety of languages. 
 In general the work is at least consistent with or actually conformant to the 
 OASIS XACML Standard.
 
 Proposal
 
 Generally the work falls into two categories: ready to use tools which 
 implement standardized or well understood components of an ABAC system and 
 design proposals and proof of concept code relating to less well understood 
 or experimental aspects of the problem.
 
 Much of the work to date has revolved around defining interfaces enabling a 
 PEP to request an access control decision from a PDP. The XACML standard 
 defines an abstract request format in xml and protocol wire formats in xaml 
 and json, but it does not specify programmatic interfaces in any language. 
 The standard says that the use of XML (or JSON) is not required only the 
 semantics equivalent.
 
 The first Interface, AzAPI is modeled closely on the XACML defined interface, 
 expressed in Java. One of the goals was to support calls to both a PDP local 
 to the same process and a PDP in a remote server. AzAPI includes the 
 interface, reference code to handle things like the many supported datatypes 
 in XACML and glue code to mate it to the open source Sun XACML 
 implementation. 
 
 Because of the dependence on Sun XACML (which is XACML 2.0) the interface was 
 missing some XACML 3.0 features. More recently this was corrected and WSo2 
 has mated it to their XACML 3.0 PDP. Some work was done by the JPMC team to 
 support calling a remote PDP. WSo2 is also pursuing this capability.
 
 A second, higher level interface, PEPAPI was also defined. PEPAPI is more 
 intended for application developers with little knowledge of XACML. It allows 
 Java objects which contain attribute information to be passed in. Conversion 
 methods, called mappers extract information from the objects and present it 
 in the format expected by XACML. Some implementers have chosen to implement 
 PEPAPI directly against their PDP, omitting the use of AzAPI. Naomaru Itoi 
 defined a C++ interface which closely matches the Java one.
 
 Examples of more speculative work include: proposals for registration and 
 dispatch of Obligation and Advice handlers, a scheme called AMF to tell PIPs 
 how to retrieve attributes and PIP code to implement it, discussion of PoC 
 code to demonstrate the use of XACML policies to drive OAuth interations and 
 a proposal to use XACML policies to express OAuth scope.
 
 ATT has recently contributed their extensive XACML framework to the project.
 
 The ATT framework represents the entire XACML 3.0 object set as a collection 
 of Java interfaces and standard implementations of those interfaces.  The 
 ATT PDP engine is built on top of this framework and represents a complete 
 implementation of a XACML 3.0 PDP, including all of the multi-decision 
 profiles. In addition, the framework also contains an implementation of the 
 OASIS XACML 3.0 RESTful API v1.0 and XACML JSON Profile v1.0 WD 14. The PEP 
 API includes annotation functionality, allowing application developers to 
 simply annotate a Java class to provide attributes for a request. The 
 annotation support removes the need for application developers to learn much 
 of the API.
 
 The ATT framework also includes interfaces and implementations to 
 standardize development of PIP engines that are used by the ATT PDP 
 implementation, and can be used by other implementations built on top of the 
 ATT framework. The framework also includes interfaces and implementations 
 for a PAP distributed cloud infrastructure of PDP nodes that includes support 
 for policy distribution and pip configurations. This PAP infrastructure 
 includes a web application administrative console that contains a XACML 3.0 
 policy editor, attribute dictionary support, and management of PDP RESTful 
 node instances. In addition, there are tools available for policy simulation.
 
 Background
 
 Access Control is in some ways the most basic IT Security service. It 
 consists of making a decision about whether a particular request should be 
 allowed and enforcing that decision. Aside from schemes like permission bits 
 and Access Control Lists (ACLs) the most common way access control is 
 implemented is as code in a server or application which typically intertwines 
 access control logic with business logic, User interface and 

Re: [PROPOSAL] OpenAZ as new Incubator project

2014-11-13 Thread John D. Ament
Hal,

Per customs, would you mind if we cancel this and start with a [DISCUSS]
thread about OpenAZ?  It's unclear if you meant this to be a vote or
something.

John

On Thu, Nov 13, 2014 at 4:14 PM, Hal Lockhart hal.lockh...@oracle.com
wrote:

 Abstract

 OpenAz is a project to create tools and libraries to enable the
 development of Attribute-based Access Control (ABAC) Systems in a variety
 of languages. In general the work is at least consistent with or actually
 conformant to the OASIS XACML Standard.

 Proposal

 Generally the work falls into two categories: ready to use tools which
 implement standardized or well understood components of an ABAC system and
 design proposals and proof of concept code relating to less well understood
 or experimental aspects of the problem.

 Much of the work to date has revolved around defining interfaces enabling
 a PEP to request an access control decision from a PDP. The XACML standard
 defines an abstract request format in xml and protocol wire formats in xaml
 and json, but it does not specify programmatic interfaces in any language.
 The standard says that the use of XML (or JSON) is not required only the
 semantics equivalent.

 The first Interface, AzAPI is modeled closely on the XACML defined
 interface, expressed in Java. One of the goals was to support calls to both
 a PDP local to the same process and a PDP in a remote server. AzAPI
 includes the interface, reference code to handle things like the many
 supported datatypes in XACML and glue code to mate it to the open source
 Sun XACML implementation.

 Because of the dependence on Sun XACML (which is XACML 2.0) the interface
 was missing some XACML 3.0 features. More recently this was corrected and
 WSo2 has mated it to their XACML 3.0 PDP. Some work was done by the JPMC
 team to support calling a remote PDP. WSo2 is also pursuing this capability.

 A second, higher level interface, PEPAPI was also defined. PEPAPI is more
 intended for application developers with little knowledge of XACML. It
 allows Java objects which contain attribute information to be passed in.
 Conversion methods, called mappers extract information from the objects and
 present it in the format expected by XACML. Some implementers have chosen
 to implement PEPAPI directly against their PDP, omitting the use of AzAPI.
 Naomaru Itoi defined a C++ interface which closely matches the Java one.

 Examples of more speculative work include: proposals for registration and
 dispatch of Obligation and Advice handlers, a scheme called AMF to tell
 PIPs how to retrieve attributes and PIP code to implement it, discussion of
 PoC code to demonstrate the use of XACML policies to drive OAuth
 interations and a proposal to use XACML policies to express OAuth scope.

 ATT has recently contributed their extensive XACML framework to the
 project.

 The ATT framework represents the entire XACML 3.0 object set as a
 collection of Java interfaces and standard implementations of those
 interfaces.  The ATT PDP engine is built on top of this framework and
 represents a complete implementation of a XACML 3.0 PDP, including all of
 the multi-decision profiles. In addition, the framework also contains an
 implementation of the OASIS XACML 3.0 RESTful API v1.0 and XACML JSON
 Profile v1.0 WD 14. The PEP API includes annotation functionality, allowing
 application developers to simply annotate a Java class to provide
 attributes for a request. The annotation support removes the need for
 application developers to learn much of the API.

 The ATT framework also includes interfaces and implementations to
 standardize development of PIP engines that are used by the ATT PDP
 implementation, and can be used by other implementations built on top of
 the ATT framework. The framework also includes interfaces and
 implementations for a PAP distributed cloud infrastructure of PDP nodes
 that includes support for policy distribution and pip configurations. This
 PAP infrastructure includes a web application administrative console that
 contains a XACML 3.0 policy editor, attribute dictionary support, and
 management of PDP RESTful node instances. In addition, there are tools
 available for policy simulation.

 Background

 Access Control is in some ways the most basic IT Security service. It
 consists of making a decision about whether a particular request should be
 allowed and enforcing that decision. Aside from schemes like permission
 bits and Access Control Lists (ACLs) the most common way access control is
 implemented is as code in a server or application which typically
 intertwines access control logic with business logic, User interface and
 other software. This makes it difficult to understand, modify, analyze or
 even locate the security policy. The primary challenge of Access Control is
 striking the right balance between powerful expression and intelligibility
 to human beings.

 The OASIS XACML Standard exemplifies Attribute-Based Access Control
 (ABAC). In 

RE: [PROPOSAL] OpenAZ as new Incubator project

2014-11-13 Thread Hal Lockhart
No, I am sorry this process is all new to me.

I also created a page in the wiki with same content. (OpenAZProposal)

Do I need to do something or can you cancel it?

Hal

 -Original Message-
 From: John D. Ament [mailto:john.d.am...@gmail.com]
 Sent: Thursday, November 13, 2014 5:03 PM
 To: general@incubator.apache.org
 Subject: Re: [PROPOSAL] OpenAZ as new Incubator project
 
 Hal,
 
 Per customs, would you mind if we cancel this and start with a
 [DISCUSS] thread about OpenAZ?  It's unclear if you meant this to be a
 vote or something.
 
 John
 
 On Thu, Nov 13, 2014 at 4:14 PM, Hal Lockhart hal.lockh...@oracle.com
 wrote:
 
  Abstract
 
  OpenAz is a project to create tools and libraries to enable the
  development of Attribute-based Access Control (ABAC) Systems in a
  variety of languages. In general the work is at least consistent with
  or actually conformant to the OASIS XACML Standard.
 
  Proposal
 
  Generally the work falls into two categories: ready to use tools
 which
  implement standardized or well understood components of an ABAC
 system
  and design proposals and proof of concept code relating to less well
  understood or experimental aspects of the problem.
 
  Much of the work to date has revolved around defining interfaces
  enabling a PEP to request an access control decision from a PDP. The
  XACML standard defines an abstract request format in xml and protocol
  wire formats in xaml and json, but it does not specify programmatic
 interfaces in any language.
  The standard says that the use of XML (or JSON) is not required only
  the semantics equivalent.
 
  The first Interface, AzAPI is modeled closely on the XACML defined
  interface, expressed in Java. One of the goals was to support calls
 to
  both a PDP local to the same process and a PDP in a remote server.
  AzAPI includes the interface, reference code to handle things like
 the
  many supported datatypes in XACML and glue code to mate it to the
 open
  source Sun XACML implementation.
 
  Because of the dependence on Sun XACML (which is XACML 2.0) the
  interface was missing some XACML 3.0 features. More recently this was
  corrected and
  WSo2 has mated it to their XACML 3.0 PDP. Some work was done by the
  JPMC team to support calling a remote PDP. WSo2 is also pursuing this
 capability.
 
  A second, higher level interface, PEPAPI was also defined. PEPAPI is
  more intended for application developers with little knowledge of
  XACML. It allows Java objects which contain attribute information to
 be passed in.
  Conversion methods, called mappers extract information from the
  objects and present it in the format expected by XACML. Some
  implementers have chosen to implement PEPAPI directly against their
 PDP, omitting the use of AzAPI.
  Naomaru Itoi defined a C++ interface which closely matches the Java
 one.
 
  Examples of more speculative work include: proposals for registration
  and dispatch of Obligation and Advice handlers, a scheme called AMF
 to
  tell PIPs how to retrieve attributes and PIP code to implement it,
  discussion of PoC code to demonstrate the use of XACML policies to
  drive OAuth interations and a proposal to use XACML policies to
 express OAuth scope.
 
  ATT has recently contributed their extensive XACML framework to the
  project.
 
  The ATT framework represents the entire XACML 3.0 object set as a
  collection of Java interfaces and standard implementations of those
  interfaces.  The ATT PDP engine is built on top of this framework
 and
  represents a complete implementation of a XACML 3.0 PDP, including
 all
  of the multi-decision profiles. In addition, the framework also
  contains an implementation of the OASIS XACML 3.0 RESTful API v1.0
 and
  XACML JSON Profile v1.0 WD 14. The PEP API includes annotation
  functionality, allowing application developers to simply annotate a
  Java class to provide attributes for a request. The annotation
 support
  removes the need for application developers to learn much of the API.
 
  The ATT framework also includes interfaces and implementations to
  standardize development of PIP engines that are used by the ATT PDP
  implementation, and can be used by other implementations built on top
  of the ATT framework. The framework also includes interfaces and
  implementations for a PAP distributed cloud infrastructure of PDP
  nodes that includes support for policy distribution and pip
  configurations. This PAP infrastructure includes a web application
  administrative console that contains a XACML 3.0 policy editor,
  attribute dictionary support, and management of PDP RESTful node
  instances. In addition, there are tools available for policy
 simulation.
 
  Background
 
  Access Control is in some ways the most basic IT Security service. It
  consists of making a decision about whether a particular request
  should be allowed and enforcing that decision. Aside from schemes
 like
  permission bits and Access Control Lists (ACLs) the most

RE: [PROPOSAL] OpenAZ as new Incubator project

2014-11-13 Thread Hal Lockhart
Did you see the background section? I meant that to provide that information. I 
was unclear on how much to assume the audience already knows about the subject.

Hal

 -Original Message-
 From: Henry Saputra [mailto:henry.sapu...@gmail.com]
 Sent: Thursday, November 13, 2014 4:31 PM
 To: general@incubator.apache.org
 Subject: Re: [PROPOSAL] OpenAZ as new Incubator project
 
 Could you add more description on what is PEP and PDP and other
 acronyms used in the proposal? If it is not directly relevant maybe you
 can rephrase it to more generic analogy.
 
 Thanks,
 
 Henry
 
 On Thu, Nov 13, 2014 at 1:14 PM, Hal Lockhart hal.lockh...@oracle.com
 wrote:
  Abstract
 
  OpenAz is a project to create tools and libraries to enable the
 development of Attribute-based Access Control (ABAC) Systems in a
 variety of languages. In general the work is at least consistent with
 or actually conformant to the OASIS XACML Standard.
 
  Proposal
 
  Generally the work falls into two categories: ready to use tools
 which implement standardized or well understood components of an ABAC
 system and design proposals and proof of concept code relating to less
 well understood or experimental aspects of the problem.
 
  Much of the work to date has revolved around defining interfaces
 enabling a PEP to request an access control decision from a PDP. The
 XACML standard defines an abstract request format in xml and protocol
 wire formats in xaml and json, but it does not specify programmatic
 interfaces in any language. The standard says that the use of XML (or
 JSON) is not required only the semantics equivalent.
 
  The first Interface, AzAPI is modeled closely on the XACML defined
 interface, expressed in Java. One of the goals was to support calls to
 both a PDP local to the same process and a PDP in a remote server.
 AzAPI includes the interface, reference code to handle things like the
 many supported datatypes in XACML and glue code to mate it to the open
 source Sun XACML implementation.
 
  Because of the dependence on Sun XACML (which is XACML 2.0) the
 interface was missing some XACML 3.0 features. More recently this was
 corrected and WSo2 has mated it to their XACML 3.0 PDP. Some work was
 done by the JPMC team to support calling a remote PDP. WSo2 is also
 pursuing this capability.
 
  A second, higher level interface, PEPAPI was also defined. PEPAPI is
 more intended for application developers with little knowledge of
 XACML. It allows Java objects which contain attribute information to be
 passed in. Conversion methods, called mappers extract information from
 the objects and present it in the format expected by XACML. Some
 implementers have chosen to implement PEPAPI directly against their
 PDP, omitting the use of AzAPI. Naomaru Itoi defined a C++ interface
 which closely matches the Java one.
 
  Examples of more speculative work include: proposals for registration
 and dispatch of Obligation and Advice handlers, a scheme called AMF to
 tell PIPs how to retrieve attributes and PIP code to implement it,
 discussion of PoC code to demonstrate the use of XACML policies to
 drive OAuth interations and a proposal to use XACML policies to express
 OAuth scope.
 
  ATT has recently contributed their extensive XACML framework to the
 project.
 
  The ATT framework represents the entire XACML 3.0 object set as a
 collection of Java interfaces and standard implementations of those
 interfaces.  The ATT PDP engine is built on top of this framework and
 represents a complete implementation of a XACML 3.0 PDP, including all
 of the multi-decision profiles. In addition, the framework also
 contains an implementation of the OASIS XACML 3.0 RESTful API v1.0 and
 XACML JSON Profile v1.0 WD 14. The PEP API includes annotation
 functionality, allowing application developers to simply annotate a
 Java class to provide attributes for a request. The annotation support
 removes the need for application developers to learn much of the API.
 
  The ATT framework also includes interfaces and implementations to
 standardize development of PIP engines that are used by the ATT PDP
 implementation, and can be used by other implementations built on top
 of the ATT framework. The framework also includes interfaces and
 implementations for a PAP distributed cloud infrastructure of PDP nodes
 that includes support for policy distribution and pip configurations.
 This PAP infrastructure includes a web application administrative
 console that contains a XACML 3.0 policy editor, attribute dictionary
 support, and management of PDP RESTful node instances. In addition,
 there are tools available for policy simulation.
 
  Background
 
  Access Control is in some ways the most basic IT Security service. It
 consists of making a decision about whether a particular request should
 be allowed and enforcing that decision. Aside from schemes like
 permission bits and Access Control Lists (ACLs) the most common way
 access control is implemented

Re: [PROPOSAL] OpenAZ as new Incubator project

2014-11-13 Thread Henry Saputra
Ah my bad, I usually use abstract section to get main idea of the proposal.

And as per John request, lets start with DISCUSS thread instead.

- Henry

On Thu, Nov 13, 2014 at 2:59 PM, Hal Lockhart hal.lockh...@oracle.com wrote:
 Did you see the background section? I meant that to provide that information. 
 I was unclear on how much to assume the audience already knows about the 
 subject.

 Hal

 -Original Message-
 From: Henry Saputra [mailto:henry.sapu...@gmail.com]
 Sent: Thursday, November 13, 2014 4:31 PM
 To: general@incubator.apache.org
 Subject: Re: [PROPOSAL] OpenAZ as new Incubator project

 Could you add more description on what is PEP and PDP and other
 acronyms used in the proposal? If it is not directly relevant maybe you
 can rephrase it to more generic analogy.

 Thanks,

 Henry

 On Thu, Nov 13, 2014 at 1:14 PM, Hal Lockhart hal.lockh...@oracle.com
 wrote:
  Abstract
 
  OpenAz is a project to create tools and libraries to enable the
 development of Attribute-based Access Control (ABAC) Systems in a
 variety of languages. In general the work is at least consistent with
 or actually conformant to the OASIS XACML Standard.
 
  Proposal
 
  Generally the work falls into two categories: ready to use tools
 which implement standardized or well understood components of an ABAC
 system and design proposals and proof of concept code relating to less
 well understood or experimental aspects of the problem.
 
  Much of the work to date has revolved around defining interfaces
 enabling a PEP to request an access control decision from a PDP. The
 XACML standard defines an abstract request format in xml and protocol
 wire formats in xaml and json, but it does not specify programmatic
 interfaces in any language. The standard says that the use of XML (or
 JSON) is not required only the semantics equivalent.
 
  The first Interface, AzAPI is modeled closely on the XACML defined
 interface, expressed in Java. One of the goals was to support calls to
 both a PDP local to the same process and a PDP in a remote server.
 AzAPI includes the interface, reference code to handle things like the
 many supported datatypes in XACML and glue code to mate it to the open
 source Sun XACML implementation.
 
  Because of the dependence on Sun XACML (which is XACML 2.0) the
 interface was missing some XACML 3.0 features. More recently this was
 corrected and WSo2 has mated it to their XACML 3.0 PDP. Some work was
 done by the JPMC team to support calling a remote PDP. WSo2 is also
 pursuing this capability.
 
  A second, higher level interface, PEPAPI was also defined. PEPAPI is
 more intended for application developers with little knowledge of
 XACML. It allows Java objects which contain attribute information to be
 passed in. Conversion methods, called mappers extract information from
 the objects and present it in the format expected by XACML. Some
 implementers have chosen to implement PEPAPI directly against their
 PDP, omitting the use of AzAPI. Naomaru Itoi defined a C++ interface
 which closely matches the Java one.
 
  Examples of more speculative work include: proposals for registration
 and dispatch of Obligation and Advice handlers, a scheme called AMF to
 tell PIPs how to retrieve attributes and PIP code to implement it,
 discussion of PoC code to demonstrate the use of XACML policies to
 drive OAuth interations and a proposal to use XACML policies to express
 OAuth scope.
 
  ATT has recently contributed their extensive XACML framework to the
 project.
 
  The ATT framework represents the entire XACML 3.0 object set as a
 collection of Java interfaces and standard implementations of those
 interfaces.  The ATT PDP engine is built on top of this framework and
 represents a complete implementation of a XACML 3.0 PDP, including all
 of the multi-decision profiles. In addition, the framework also
 contains an implementation of the OASIS XACML 3.0 RESTful API v1.0 and
 XACML JSON Profile v1.0 WD 14. The PEP API includes annotation
 functionality, allowing application developers to simply annotate a
 Java class to provide attributes for a request. The annotation support
 removes the need for application developers to learn much of the API.
 
  The ATT framework also includes interfaces and implementations to
 standardize development of PIP engines that are used by the ATT PDP
 implementation, and can be used by other implementations built on top
 of the ATT framework. The framework also includes interfaces and
 implementations for a PAP distributed cloud infrastructure of PDP nodes
 that includes support for policy distribution and pip configurations.
 This PAP infrastructure includes a web application administrative
 console that contains a XACML 3.0 policy editor, attribute dictionary
 support, and management of PDP RESTful node instances. In addition,
 there are tools available for policy simulation.
 
  Background
 
  Access Control is in some ways the most basic IT Security service. It
 consists

RE: [PROPOSAL] OpenAZ as new Incubator project

2014-11-13 Thread Hal Lockhart
So you want me to repost the proposal with the Subject changed to start with 
[DISCUSS]? Or should I simply reference the wiki page?

Hal

 -Original Message-
 From: John D. Ament [mailto:john.d.am...@gmail.com]
 Sent: Thursday, November 13, 2014 5:03 PM
 To: general@incubator.apache.org
 Subject: Re: [PROPOSAL] OpenAZ as new Incubator project
 
 Hal,
 
 Per customs, would you mind if we cancel this and start with a
 [DISCUSS] thread about OpenAZ?  It's unclear if you meant this to be a
 vote or something.
 
 John
 
 On Thu, Nov 13, 2014 at 4:14 PM, Hal Lockhart hal.lockh...@oracle.com
 wrote:
 
  Abstract
 
  OpenAz is a project to create tools and libraries to enable the
  development of Attribute-based Access Control (ABAC) Systems in a
  variety of languages. In general the work is at least consistent with
  or actually conformant to the OASIS XACML Standard.
 
  Proposal
 
  Generally the work falls into two categories: ready to use tools
 which
  implement standardized or well understood components of an ABAC
 system
  and design proposals and proof of concept code relating to less well
  understood or experimental aspects of the problem.
 
  Much of the work to date has revolved around defining interfaces
  enabling a PEP to request an access control decision from a PDP. The
  XACML standard defines an abstract request format in xml and protocol
  wire formats in xaml and json, but it does not specify programmatic
 interfaces in any language.
  The standard says that the use of XML (or JSON) is not required only
  the semantics equivalent.
 
  The first Interface, AzAPI is modeled closely on the XACML defined
  interface, expressed in Java. One of the goals was to support calls
 to
  both a PDP local to the same process and a PDP in a remote server.
  AzAPI includes the interface, reference code to handle things like
 the
  many supported datatypes in XACML and glue code to mate it to the
 open
  source Sun XACML implementation.
 
  Because of the dependence on Sun XACML (which is XACML 2.0) the
  interface was missing some XACML 3.0 features. More recently this was
  corrected and
  WSo2 has mated it to their XACML 3.0 PDP. Some work was done by the
  JPMC team to support calling a remote PDP. WSo2 is also pursuing this
 capability.
 
  A second, higher level interface, PEPAPI was also defined. PEPAPI is
  more intended for application developers with little knowledge of
  XACML. It allows Java objects which contain attribute information to
 be passed in.
  Conversion methods, called mappers extract information from the
  objects and present it in the format expected by XACML. Some
  implementers have chosen to implement PEPAPI directly against their
 PDP, omitting the use of AzAPI.
  Naomaru Itoi defined a C++ interface which closely matches the Java
 one.
 
  Examples of more speculative work include: proposals for registration
  and dispatch of Obligation and Advice handlers, a scheme called AMF
 to
  tell PIPs how to retrieve attributes and PIP code to implement it,
  discussion of PoC code to demonstrate the use of XACML policies to
  drive OAuth interations and a proposal to use XACML policies to
 express OAuth scope.
 
  ATT has recently contributed their extensive XACML framework to the
  project.
 
  The ATT framework represents the entire XACML 3.0 object set as a
  collection of Java interfaces and standard implementations of those
  interfaces.  The ATT PDP engine is built on top of this framework
 and
  represents a complete implementation of a XACML 3.0 PDP, including
 all
  of the multi-decision profiles. In addition, the framework also
  contains an implementation of the OASIS XACML 3.0 RESTful API v1.0
 and
  XACML JSON Profile v1.0 WD 14. The PEP API includes annotation
  functionality, allowing application developers to simply annotate a
  Java class to provide attributes for a request. The annotation
 support
  removes the need for application developers to learn much of the API.
 
  The ATT framework also includes interfaces and implementations to
  standardize development of PIP engines that are used by the ATT PDP
  implementation, and can be used by other implementations built on top
  of the ATT framework. The framework also includes interfaces and
  implementations for a PAP distributed cloud infrastructure of PDP
  nodes that includes support for policy distribution and pip
  configurations. This PAP infrastructure includes a web application
  administrative console that contains a XACML 3.0 policy editor,
  attribute dictionary support, and management of PDP RESTful node
  instances. In addition, there are tools available for policy
 simulation.
 
  Background
 
  Access Control is in some ways the most basic IT Security service. It
  consists of making a decision about whether a particular request
  should be allowed and enforcing that decision. Aside from schemes
 like
  permission bits and Access Control Lists (ACLs) the most common way
  access control

Re: [PROPOSAL] OpenAZ as new Incubator project

2014-11-13 Thread John D. Ament
I think so.

There's a few things that you want to iron out first, before people start
voting on this.

- 3 is generally the minimum number of mentors.
- I can't find a Paul Freemantle on the apache committers list.  There's
a Paul Fremantle, minor spelling difference.
- You may want to review this section to get a better understanding of the
goals: http://incubator.apache.org/guides/proposal.html#formulating

the Discuss option just helps everyone look at your proposal a little bit
better and determine if there's any gotchas.  For example, I'm surprised to
see a new incubator project using SVN.

- Can you list out your issue tracking preference (should probably be JIRA
unless you need something else)
- Please also explicitly list the mailing lists your want.

John

On Thu, Nov 13, 2014 at 8:43 PM, Hal Lockhart hal.lockh...@oracle.com
wrote:

 So you want me to repost the proposal with the Subject changed to start
 with [DISCUSS]? Or should I simply reference the wiki page?

 Hal

  -Original Message-
  From: John D. Ament [mailto:john.d.am...@gmail.com]
  Sent: Thursday, November 13, 2014 5:03 PM
  To: general@incubator.apache.org
  Subject: Re: [PROPOSAL] OpenAZ as new Incubator project
 
  Hal,
 
  Per customs, would you mind if we cancel this and start with a
  [DISCUSS] thread about OpenAZ?  It's unclear if you meant this to be a
  vote or something.
 
  John
 
  On Thu, Nov 13, 2014 at 4:14 PM, Hal Lockhart hal.lockh...@oracle.com
  wrote:
 
   Abstract
  
   OpenAz is a project to create tools and libraries to enable the
   development of Attribute-based Access Control (ABAC) Systems in a
   variety of languages. In general the work is at least consistent with
   or actually conformant to the OASIS XACML Standard.
  
   Proposal
  
   Generally the work falls into two categories: ready to use tools
  which
   implement standardized or well understood components of an ABAC
  system
   and design proposals and proof of concept code relating to less well
   understood or experimental aspects of the problem.
  
   Much of the work to date has revolved around defining interfaces
   enabling a PEP to request an access control decision from a PDP. The
   XACML standard defines an abstract request format in xml and protocol
   wire formats in xaml and json, but it does not specify programmatic
  interfaces in any language.
   The standard says that the use of XML (or JSON) is not required only
   the semantics equivalent.
  
   The first Interface, AzAPI is modeled closely on the XACML defined
   interface, expressed in Java. One of the goals was to support calls
  to
   both a PDP local to the same process and a PDP in a remote server.
   AzAPI includes the interface, reference code to handle things like
  the
   many supported datatypes in XACML and glue code to mate it to the
  open
   source Sun XACML implementation.
  
   Because of the dependence on Sun XACML (which is XACML 2.0) the
   interface was missing some XACML 3.0 features. More recently this was
   corrected and
   WSo2 has mated it to their XACML 3.0 PDP. Some work was done by the
   JPMC team to support calling a remote PDP. WSo2 is also pursuing this
  capability.
  
   A second, higher level interface, PEPAPI was also defined. PEPAPI is
   more intended for application developers with little knowledge of
   XACML. It allows Java objects which contain attribute information to
  be passed in.
   Conversion methods, called mappers extract information from the
   objects and present it in the format expected by XACML. Some
   implementers have chosen to implement PEPAPI directly against their
  PDP, omitting the use of AzAPI.
   Naomaru Itoi defined a C++ interface which closely matches the Java
  one.
  
   Examples of more speculative work include: proposals for registration
   and dispatch of Obligation and Advice handlers, a scheme called AMF
  to
   tell PIPs how to retrieve attributes and PIP code to implement it,
   discussion of PoC code to demonstrate the use of XACML policies to
   drive OAuth interations and a proposal to use XACML policies to
  express OAuth scope.
  
   ATT has recently contributed their extensive XACML framework to the
   project.
  
   The ATT framework represents the entire XACML 3.0 object set as a
   collection of Java interfaces and standard implementations of those
   interfaces.  The ATT PDP engine is built on top of this framework
  and
   represents a complete implementation of a XACML 3.0 PDP, including
  all
   of the multi-decision profiles. In addition, the framework also
   contains an implementation of the OASIS XACML 3.0 RESTful API v1.0
  and
   XACML JSON Profile v1.0 WD 14. The PEP API includes annotation
   functionality, allowing application developers to simply annotate a
   Java class to provide attributes for a request. The annotation
  support
   removes the need for application developers to learn much of the API.
  
   The ATT framework also includes interfaces