I do not understand your work items:
"(a) should the initial request respect the XACML
What does it mean to:
(e.g. in JSON format) or
is a simpler form still acceptable?
(b) should the response be shrunk down to a
boolean true (permit) / false (deny)?
for the sake of simplicity or
should we try to respect the richness of a XACML decision
(status, decision, obligation / advice)?"
I am not aware of any problems with either the XACML request or the
- (a) not "respect the XACML request form"?
- (b) not "respect the richness of a XACML decision"?
XACML decision, so why is the premise of this work based on implying
there is something wrong w XACML that needs to be fixed?
If there is something that needs fixing, please specify what it is.
already agreed (as has been established at least since XACML 2.0 was
published) that the form on the wire does not need to be XML, and
it could be JSON, for example, is this still not good enough to meet
objective? If that is the case, what is the target objective?
On 6/6/2011 3:40 PM, David Brossard wrote:
Apologies for missing last week's call. I was travelling back from
I would now like to proceed with the formal definition of a PEP -
PDP simplified interface.
After quite a bit of discussion on the list, I would like to
clarify a few points:
(a) this does not address the PAP side of things - in other words
(b) this is about developing a simple interface to let developers
consume AuthZ in a more user-friendly way
(c) we have concluded the XACML spec does not mean we have to use
XACML in its XML form
Where there is still room for work / definition is:
(a) should the initial request respect the XACML request form
(e.g. in JSON format) or is a simpler form still acceptable?
(b) should the response be shrunk down to a boolean true (permit)
/ false (deny)? for the sake of simplicity or should we try to
respect the richness of a XACML decision (status, decision,
obligation / advice)?
The end-product should be sthg we could expect in developer
frameworks / languages in the form of a "drag 'n drop" type
component. I am thinking of such frameworks / languages as Google
Apps or Google Web Toolkit, .Net, J2EE, Ruby...
On Wed, May 25, 2011 at 3:22 PM, PRATEEK
David, Anil -
I would like to bring your attention to the OpenAz project
focuses on the creation of XACML PEP's. Currently, the
Java and C++ bindings and we would welcome other bindings to
such as Ruby and Python. Rich Levinson and Hal Lockhart have
published materials to this TC describing the APIs and
pragmatic materials (attribute manifest) needed to easily
PEPs in a variety of contexts.
IMHO, creating yet another protocol for PEP <--> PDP
is helpful but not very important step in making XACML-style
available in a variety of contexts. The PEP <--> PDP
usually requires efficiency and is implemented in a variety
different proprietary ways. There is nothing in the XACML
that suggests that it has to be drawn from the standard.
In our experience with real-world, enterprise class business
applications and their authorization requirements, we find
creating a flexible model for embedding PEPs and obtaining
in a variety of contexts to be much more important.
Some of the issues encounter include:
+ Training of architects and developers so that they
XACML PEP interaction model.
+ How can PEPs be added to specific points in applications,
gateways and devices?
+ How can we efficiently and securely transfer identity
native run-time system (e.g., Java principals) to the
+ How can we expose business objects to the authorization
+ How can we communicate information about attributes
policies to other repositories, including the application at
OpenAz project link -
Regardless of communication / transport protocol and
definition, should we assume that what is being carried is
XACML request as defined in the XACML specification? If
effectively discards JSON (to go to your point re. JACML
:p) and a
simple PEP-PDP HTTP/GET interaction where GET parameters
would be used
as simple key-value pairs.
And again back to my initial thoughts and the reasons
conversation, we should make that interface as easy and
simple as can
be (in addition to standard) to further facilitate XACML
help developers quickly develop PEPs to consume XACML
So do we agree we should define a WSDL 2.0 interface? How
adopted is WSDL 2.0 vs. WSDL 1.1?
On Tue, May 24, 2011 at 5:12 PM,
please don't portray xacml to be a SOAP intensive
tech. I have
heartburn with the words "soap only". We need a
standardized wsdl such
that the soap side of the world can be happy. But
interfaces to the PDP
does not have to be SOAP alone. I will take in any
transport that can
move my xml payload (xacml request/response) from
one point to
another. SOAP (with saml/xacml payloads), REST (xml
architecture) and plain xml over http are all
XACML is a XML language that defines access control
rules. If we want
to use json as one of the authoring means, we have
to rename it to
We are just defining various mechanisms to transport
the xml (xacml)
payload. Whether it is http or soap transport
mechanism, that does not
take away the primary goal of xacml - to define
My thoughts only.
On 05/24/2011 04:20 PM, David Brossard wrote:
To summarize what's been said:
(a) naming the interface "REST" is misleading
- let's drop the name.
(b) there is a need for a standard interface
communication) and not just the XACML
(c) interface standardization could be done in
a profile - it's easier
than touching the XACML core and it keeps
concerns clearly separated.
Today we have the SAML for XACML profile.
Moving to a SOAP-only
interface would be a great step forward.
Independently of the above, would it be
interesting to design /
standardize an easy-to-consume interface,
something easier than what we
have today? Something more in the likes of a
GET request with simple
Is there a common place where we could gather
requirements and ideas or
is this email thread the way to go forward?
I will be a Gluecon 2011 tomorrow and
Thursday. I will try to gather
requirements from the developer community.
On Tue, May 24, 2011
at 7:48 AM, Anil
if you want to take the wsdl
standardization task, I will support
On 05/20/2011 04:55 PM, Craig R
I agree that calling such an API
a "REST" API is a misnomer.
>> So what
is of interest is merely the
protocol indeed and binding
the XACML request / response
to GET or POST
verbs along with a potential
mapping into simple HTTP
parameters or a JSON payload.
If the payload is an XACML
request in it's
currently-defined XML form,
then I don't see any benefit to
using HTTP POST rather than
has better tooling, and only
adds two elements as a wrapper
minimal form (
<soap:Body>). For there
to be any benefit I think the
payload would have to be JSON,
case we'd have to define a
canonical way to represent XACML
and responses in JSON form.
Mapping attributes in an XACML
request to individual HTTP GET
parameters seems cumbersome. I
think the better approach is to
an entire request as a JSON
object and send that via
whatever HTTP verb
is most applicable.
However, I think it'd be more
prudent to first define a
for an XACML PDP web service.
The TC has been reluctant to do
the past, for whatever reason,
and while it doesn't overlap
with a JSON
over HTTP protocol I think that
it's worth standardizing first.
AM---Hi, That's true... This
might be more about
exposing the PDP with the
That's true... This might be
more about exposing the PDP with
lowest possible barrier to entry
- making an authorization
simple as can be.
Since the PDP is stateless by
design, a pure REST approach is
a mismatch since REST is aimed
at providing support for
So what is of interest is merely
the HTTP protocol indeed and
the XACML request / response to
GET or POST verbs along with a
potential mapping into simple
HTTP request parameters or a
On Fri, May 20,
2011 at 5:04 PM, <firstname.lastname@example.org> wrote:
From: David Brossard [mailto:email@example.com]
Sent: Friday, May 20, 2011
Subject: [xacml] PDP REST
Interface - proposal
>> Following the call
yesterday, I would like to
kick start some
discussions around the
possibility around designing a
interface for a PDP. The idea
would be to have a PEP-PDP
using REST. <<
I don't see any
"resources" in your
proposal. So I guess you're
just talking about an HTTP
>> 2 possible methods:
GET and POST
o Input: Send in
a URL e.g. http://foo.bar/AuthZ/?a=value&b=value2&c=value3
o Output: the decision (the
whole XACML decision? simply
string e.g. "Permit"? an HTTP
o Pros: extremely easy to
o Cons: the request sent /
response received are not
requests / responses.
* This means a
layer on the PDP side (in the
REST wrapping) needs to map
from a HTTP GET parameter to a
* In addition, if the response
is merely a status code or a
breaks the XACML standard in
the sense that obligations /
be lost <<
I guess you could
model Decisions as HTTP
Permit - 200 OK
Deny - 403 Forbidden
NotApplicable - 404 Not Found
Indeterminate - 500 Internal
The obligations/ advice could
then be in the response body.
As for the mapping from HTTP
parameters to XACML
attributes, I don't
think this is a big deal. I'm
assuming most implementations
the XML format of the spec
internally, so there has to be
some sort of
mapping anyway. This new
mapping seems like a fairly
>> * POST
o Input: the entire XACML
request in its XML form
o Output: the entire XACML
response in its XML form
o Pros: complies with the
o Cons: what is the benefit
other than performance? It
adoption easier <<
Since an authorization request
is idempotent, I would propose
>> * POST using JSON
o Input: the JSON
representation of a XACML
o Output: the JSON
representation of a XACML
o Pros: all the richness of
XACML. The format is JSON
seems to prefer.
o Cons: perhaps a bit too
A lot of web services these
days support both XML and
JSON. The former
is better for consumption by
server code, while the latter
is easier to
>> What are your
Sounds interesting. Do you
have any (potential) customers
expressed interest in this?
What are the use cases you are
solve with this proposal that
you can't with the current
>> Do you think any
standardization effort /
effort should be driven by a
developer community willing to
authorization and which would
want to sacrifice the richness
for the sake of simplicity?
You won't lose
any richness in the PUT
variant. I'm not sure about
GET either, that depends on
the mapping of
XACML attributes to HTTP
David Brossard, M.Eng, SCEA, CSTP
+46(0)760 25 85 75
S-111 30 Stockholm, Sweden
David Brossard, M.Eng, SCEA, CSTP
+46(0)760 25 85 75
S-111 30 Stockholm, Sweden