OASIS eXtensible Access Control Markup Language (XACML) TC

Expand all | Collapse all

PDP REST Interface - proposal

  • 1.  PDP REST Interface - proposal

    Posted 05-20-2011 14:20
    Hi all, Following the call yesterday, I would like to kick start some discussions around the possibility around designing a standard REST interface for a PDP. The idea would be to have a PEP-PDP interaction using REST. Original idea: Develop a lightweight, simple PEP capable of sending authorization requests to an authorization service (the PDP). The simpler the PEP, the likelier it will be adopted by a wider crowd of developers. Possible REST interfaces: 2 possible methods: GET and POST GET Input: Send in a URL e.g. http://foo.bar/AuthZ/?a=value&b=value2&c=value3 Output: the decision (the whole XACML decision? simply the decision string e.g. "Permit"? an HTTP status code?) Pros: extremely easy to consume Cons: the request sent / response received are not valid XACML requests / responses. This means a layer on the PDP side (in the REST wrapping) needs to map from a HTTP GET parameter to a XACML attribute In addition, if the response is merely a status code or a String, it breaks the XACML standard in the sense that obligations / advice would be lost POST Input: the entire XACML request in its XML form Output: the entire XACML response in its XML form Pros: complies with the XACML standard Cons: what is the benefit other than performance? It doesn't make adoption easier POST using JSON Input: the JSON representation of a XACML request Output: the JSON representation of a XACML response Pros: all the richness of XACML. The format is JSON which developers seems to prefer. Cons: perhaps a bit too cumbersome. What are your thoughts? Do you think any standardization effort / profile definition effort should be driven by a developer community willing to use authorization and which would want to sacrifice the richness of XACML for the sake of simplicity? Cheers, David. -- David Brossard, M.Eng, SCEA, CSTP Solutions Architect +46(0)760 25 85 75 Axiomatics AB Skeppsbron 40 S-111 30 Stockholm, Sweden http://www.linkedin.com/companies/536082 http://www.axiomatics.com http://twitter.com/axiomatics


  • 2.  RE: [xacml] PDP REST Interface - proposal

    Posted 05-20-2011 15:05
    David, From: David Brossard [ mailto:david.brossard@axiomatics.com ] Sent: Friday, May 20, 2011 4:20 PM To: xacml Subject: [xacml] PDP REST Interface - proposal >> Following the call yesterday, I would like to kick start some discussions around the possibility around designing a standard REST interface for a PDP. The idea would be to have a PEP-PDP interaction using REST. << I don't see any "resources" in your proposal. So I guess you're just talking about an HTTP interface, not REST. >> 2 possible methods: GET and POST * GET 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 the decision string e.g. "Permit"? an HTTP status code?) o Pros: extremely easy to consume o Cons: the request sent / response received are not valid XACML requests / responses. * This means a layer on the PDP side (in the REST wrapping) needs to map from a HTTP GET parameter to a XACML attribute * In addition, if the response is merely a status code or a String, it breaks the XACML standard in the sense that obligations / advice would be lost << I guess you could model Decisions as HTTP status codes: Permit - 200 OK Deny - 403 Forbidden NotApplicable - 404 Not Found Indeterminate - 500 Internal Server Error 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 don't use the XML format of the spec internally, so there has to be some sort of mapping anyway. This new mapping seems like a fairly easy addition. >> * 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 XACML standard o Cons: what is the benefit other than performance? It doesn't make adoption easier << Since an authorization request is idempotent, I would propose PUT instead. >> * POST using JSON o Input: the JSON representation of a XACML request o Output: the JSON representation of a XACML response o Pros: all the richness of XACML. The format is JSON which developers seems to prefer. o Cons: perhaps a bit too cumbersome. << 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 consume by a JavaScript client. >> What are your thoughts? << Sounds interesting. Do you have any (potential) customers that expressed interest in this? What are the use cases you are trying to solve with this proposal that you can't with the current spec? >> Do you think any standardization effort / profile definition effort should be driven by a developer community willing to use authorization and which would want to sacrifice the richness of XACML 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 parameters. Thanks, Ray


  • 3.  Re: [xacml] PDP REST Interface - proposal

    Posted 05-20-2011 15:22
    Hi, That's true... This might be more about exposing the PDP with the lowest possible barrier to entry - making an authorization request as simple as can be. Since the PDP is stateless by design, a pure REST approach is therefore a mismatch since REST is aimed at providing support for stateful web services. So what is of interest is merely the HTTP protocol indeed and binding the XACML request / response to GET or POST verbs along with a potential mapping into simple HTTP request parameters or a JSON payload. Cheers, David. On Fri, May 20, 2011 at 5:04 PM, < remon.sinnema@emc.com > wrote: David, From: David Brossard [mailto: david.brossard@axiomatics.com ] Sent: Friday, May 20, 2011 4:20 PM To: xacml Subject: [xacml] PDP REST Interface - proposal >> Following the call yesterday, I would like to kick start some discussions around the possibility around designing a standard REST interface for a PDP. The idea would be to have a PEP-PDP interaction using REST. << I don't see any "resources" in your proposal. So I guess you're just talking about an HTTP interface, not REST. >> 2 possible methods: GET and POST * GET 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 the decision string e.g. "Permit"? an HTTP status code?) o Pros: extremely easy to consume o Cons: the request sent / response received are not valid XACML requests / responses. * This means a layer on the PDP side (in the REST wrapping) needs to map from a HTTP GET parameter to a XACML attribute * In addition, if the response is merely a status code or a String, it breaks the XACML standard in the sense that obligations / advice would be lost << I guess you could model Decisions as HTTP status codes: Permit - 200 OK Deny - 403 Forbidden NotApplicable - 404 Not Found Indeterminate - 500 Internal Server Error 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 don't use the XML format of the spec internally, so there has to be some sort of mapping anyway. This new mapping seems like a fairly easy addition. >> * 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 XACML standard o Cons: what is the benefit other than performance? It doesn't make adoption easier << Since an authorization request is idempotent, I would propose PUT instead. >> * POST using JSON o Input: the JSON representation of a XACML request o Output: the JSON representation of a XACML response o Pros: all the richness of XACML. The format is JSON which developers seems to prefer. o Cons: perhaps a bit too cumbersome. << 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 consume by a JavaScript client. >> What are your thoughts? << Sounds interesting. Do you have any (potential) customers that expressed interest in this? What are the use cases you are trying to solve with this proposal that you can't with the current spec? >> Do you think any standardization effort / profile definition effort should be driven by a developer community willing to use authorization and which would want to sacrifice the richness of XACML 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 parameters. Thanks, Ray -- David Brossard, M.Eng, SCEA, CSTP Solutions Architect +46(0)760 25 85 75 Axiomatics AB Skeppsbron 40 S-111 30 Stockholm, Sweden http://www.linkedin.com/companies/536082 http://www.axiomatics.com http://twitter.com/axiomatics


  • 4.  Re: [xacml] PDP REST Interface - proposal

    Posted 05-20-2011 16:54
    Hi David,   I like your proposal.  I have to disagree that REST is *aimed* at providing support for stateful ws alone. Regards, Anil On 05/20/2011 10:21 AM, David Brossard wrote: BANLkTinsjNJarKa=snPjThr4dArN1AcY7w@mail.gmail.com type= cite >Hi, That's true... This might be more about exposing the PDP with the lowest possible barrier to entry - making an authorization request as simple as can be. Since the PDP is stateless by design, a pure REST approach is therefore a mismatch since REST is aimed at providing support for stateful web services. So what is of interest is merely the HTTP protocol indeed and binding the XACML request / response to GET or POST verbs along with a potential mapping into simple HTTP request parameters or a JSON payload. Cheers, David. On Fri, May 20, 2011 at 5:04 PM, < remon.sinnema@emc.com > wrote: David, From: David Brossard [mailto: david.brossard@axiomatics.com ] Sent: Friday, May 20, 2011 4:20 PM To: xacml Subject: [xacml] PDP REST Interface - proposal >> Following the call yesterday, I would like to kick start some discussions around the possibility around designing a standard REST interface for a PDP. The idea would be to have a PEP-PDP interaction using REST. << I don't see any resources in your proposal. So I guess you're just talking about an HTTP interface, not REST. >> 2 possible methods: GET and POST * GET 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 the decision string e.g. Permit ? an HTTP status code?) o Pros: extremely easy to consume o Cons: the request sent / response received are not valid XACML requests / responses. * This means a layer on the PDP side (in the REST wrapping) needs to map from a HTTP GET parameter to a XACML attribute * In addition, if the response is merely a status code or a String, it breaks the XACML standard in the sense that obligations / advice would be lost << I guess you could model Decisions as HTTP status codes: Permit - 200 OK Deny - 403 Forbidden NotApplicable - 404 Not Found Indeterminate - 500 Internal Server Error 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 don't use the XML format of the spec internally, so there has to be some sort of mapping anyway. This new mapping seems like a fairly easy addition. >> * 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 XACML standard o Cons: what is the benefit other than performance? It doesn't make adoption easier << Since an authorization request is idempotent, I would propose PUT instead. >> * POST using JSON o Input: the JSON representation of a XACML request o Output: the JSON representation of a XACML response o Pros: all the richness of XACML. The format is JSON which developers seems to prefer. o Cons: perhaps a bit too cumbersome. << 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 consume by a JavaScript client. >> What are your thoughts? << Sounds interesting. Do you have any (potential) customers that expressed interest in this? What are the use cases you are trying to solve with this proposal that you can't with the current spec? >> Do you think any standardization effort / profile definition effort should be driven by a developer community willing to use authorization and which would want to sacrifice the richness of XACML 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 parameters. Thanks, Ray  


  • 5.  RE: [xacml] PDP REST Interface - proposal

    Posted 05-20-2011 17:00
    Oh boy. I see a debate brewing J I agree with Anil on this point..   Doron Grinstein  ¦ CEO  ¦ BiT KOO   ¦ 818-985-4700 Ext. 31 ¦ www.bitkoo.com       From: Anil Saldhana [mailto:Anil.Saldhana@redhat.com] Sent: Friday, May 20, 2011 9:54 AM To: xacml@lists.oasis-open.org Subject: Re: [xacml] PDP REST Interface - proposal   Hi David,   I like your proposal.  I have to disagree that REST is *aimed* at providing support for stateful ws alone. Regards, Anil On 05/20/2011 10:21 AM, David Brossard wrote: Hi, That's true... This might be more about exposing the PDP with the lowest possible barrier to entry - making an authorization request as simple as can be. Since the PDP is stateless by design, a pure REST approach is therefore a mismatch since REST is aimed at providing support for stateful web services. So what is of interest is merely the HTTP protocol indeed and binding the XACML request / response to GET or POST verbs along with a potential mapping into simple HTTP request parameters or a JSON payload. Cheers, David. On Fri, May 20, 2011 at 5:04 PM, < remon.sinnema@emc.com > wrote: David, From: David Brossard [mailto: david.brossard@axiomatics.com ] Sent: Friday, May 20, 2011 4:20 PM To: xacml Subject: [xacml] PDP REST Interface - proposal >> Following the call yesterday, I would like to kick start some discussions around the possibility around designing a standard REST interface for a PDP. The idea would be to have a PEP-PDP interaction using REST. << I don't see any "resources" in your proposal. So I guess you're just talking about an HTTP interface, not REST. >> 2 possible methods: GET and POST * GET 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 the decision string e.g. "Permit"? an HTTP status code?) o Pros: extremely easy to consume o Cons: the request sent / response received are not valid XACML requests / responses. * This means a layer on the PDP side (in the REST wrapping) needs to map from a HTTP GET parameter to a XACML attribute * In addition, if the response is merely a status code or a String, it breaks the XACML standard in the sense that obligations / advice would be lost << I guess you could model Decisions as HTTP status codes: Permit - 200 OK Deny - 403 Forbidden NotApplicable - 404 Not Found Indeterminate - 500 Internal Server Error 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 don't use the XML format of the spec internally, so there has to be some sort of mapping anyway. This new mapping seems like a fairly easy addition. >> * 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 XACML standard o Cons: what is the benefit other than performance? It doesn't make adoption easier << Since an authorization request is idempotent, I would propose PUT instead. >> * POST using JSON o Input: the JSON representation of a XACML request o Output: the JSON representation of a XACML response o Pros: all the richness of XACML. The format is JSON which developers seems to prefer. o Cons: perhaps a bit too cumbersome. << 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 consume by a JavaScript client. >> What are your thoughts? << Sounds interesting. Do you have any (potential) customers that expressed interest in this? What are the use cases you are trying to solve with this proposal that you can't with the current spec? >> Do you think any standardization effort / profile definition effort should be driven by a developer community willing to use authorization and which would want to sacrifice the richness of XACML 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 parameters. Thanks, Ray    


  • 6.  RE: [xacml] PDP REST Interface - proposal

    Posted 05-20-2011 17:33
    Ray made some good technical points against calling this a “REST interface”.? Just the fact that it stirs up any discussion might be a good reason to avoid that label for this initiative.? If it’s not likely to mean the same thing to everyone, it will be a continual point of confusion.   That said, I sympathize with the motivation to standardize a simple HTTP interface for XACML request/response exchanges.   My main concern is that by grabbing some low-hanging fruit in this area we might miss opportunities to put XACML on track to utilize existing and emerging W3C semantic web standards for defining, exchanging, and processing ontologies and rules.   Regards, --Paul   From: Doron Grinstein [mailto:doron@bitkoo.com] Sent: Friday, May 20, 2011 11:59 To: Anil Saldhana; xacml@lists.oasis-open.org Subject: RE: [xacml] PDP REST Interface - proposal   Oh boy. I see a debate brewing J I agree with Anil on this point..   Doron Grinstein   CEO   BiT KOO    818-985-4700 Ext. 31  www.bitkoo.com       From: Anil Saldhana [mailto:Anil.Saldhana@redhat.com] Sent: Friday, May 20, 2011 9:54 AM To: xacml@lists.oasis-open.org Subject: Re: [xacml] PDP REST Interface - proposal   Hi David,   I like your proposal.  I have to disagree that REST is *aimed* at providing support for stateful ws alone. Regards, Anil On 05/20/2011 10:21 AM, David Brossard wrote: Hi, That's true... This might be more about exposing the PDP with the lowest possible barrier to entry - making an authorization request as simple as can be. Since the PDP is stateless by design, a pure REST approach is therefore a mismatch since REST is aimed at providing support for stateful web services. So what is of interest is merely the HTTP protocol indeed and binding the XACML request / response to GET or POST verbs along with a potential mapping into simple HTTP request parameters or a JSON payload. Cheers, David. On Fri, May 20, 2011 at 5:04 PM, < remon.sinnema@emc.com > wrote: David, From: David Brossard [mailto: david.brossard@axiomatics.com ] Sent: Friday, May 20, 2011 4:20 PM To: xacml Subject: [xacml] PDP REST Interface - proposal >> Following the call yesterday, I would like to kick start some discussions around the possibility around designing a standard REST interface for a PDP. The idea would be to have a PEP-PDP interaction using REST. << I don't see any "resources" in your proposal. So I guess you're just talking about an HTTP interface, not REST. >> 2 possible methods: GET and POST * GET 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 the decision string e.g. "Permit"? an HTTP status code?) o Pros: extremely easy to consume o Cons: the request sent / response received are not valid XACML requests / responses. * This means a layer on the PDP side (in the REST wrapping) needs to map from a HTTP GET parameter to a XACML attribute * In addition, if the response is merely a status code or a String, it breaks the XACML standard in the sense that obligations / advice would be lost << I guess you could model Decisions as HTTP status codes: Permit - 200 OK Deny - 403 Forbidden NotApplicable - 404 Not Found Indeterminate - 500 Internal Server Error 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 don't use the XML format of the spec internally, so there has to be some sort of mapping anyway. This new mapping seems like a fairly easy addition. >> * 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 XACML standard o Cons: what is the benefit other than performance? It doesn't make adoption easier << Since an authorization request is idempotent, I would propose PUT instead. >> * POST using JSON o Input: the JSON representation of a XACML request o Output: the JSON representation of a XACML response o Pros: all the richness of XACML. The format is JSON which developers seems to prefer. o Cons: perhaps a bit too cumbersome. << 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 consume by a JavaScript client. >> What are your thoughts? << Sounds interesting. Do you have any (potential) customers that expressed interest in this? What are the use cases you are trying to solve with this proposal that you can't with the current spec? >> Do you think any standardization effort / profile definition effort should be driven by a developer community willing to use authorization and which would want to sacrifice the richness of XACML 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 parameters. Thanks, Ray    


  • 7.  Re: [xacml] PDP REST Interface - proposal

    Posted 05-20-2011 17:58
    Sorry Anil about the mistake. That was my initial understanding. I come from a SOAP background and am still in the process of learning the ropes of REST. Paul, you do raise a valid concern, and it would be nice to fully use semantic technologies to support XACML (and not just in request / response). And I agree about the naming. Let's stay clear of interpretations and misunderstandings. Cheers, David. 2011/5/20 Tyson, Paul H < PTyson@bellhelicopter.textron.com > Ray made some good technical points against calling this a “REST interface”.  Just the fact that it stirs up any discussion might be a good reason to avoid that label for this initiative.  If it’s not likely to mean the same thing to everyone, it will be a continual point of confusion.   That said, I sympathize with the motivation to standardize a simple HTTP interface for XACML request/response exchanges.   My main concern is that by grabbing some low-hanging fruit in this area we might miss opportunities to put XACML on track to utilize existing and emerging W3C semantic web standards for defining, exchanging, and processing ontologies and rules.   Regards, --Paul   From: Doron Grinstein [mailto: doron@bitkoo.com ] Sent: Friday, May 20, 2011 11:59 To: Anil Saldhana; xacml@lists.oasis-open.org Subject: RE: [xacml] PDP REST Interface - proposal   Oh boy. I see a debate brewing J I agree with Anil on this point..   Doron Grinstein   CEO   BiT KOO    818-985-4700 Ext. 31  www.bitkoo.com       From: Anil Saldhana [mailto: Anil.Saldhana@redhat.com ] Sent: Friday, May 20, 2011 9:54 AM To: xacml@lists.oasis-open.org Subject: Re: [xacml] PDP REST Interface - proposal   Hi David,   I like your proposal.  I have to disagree that REST is *aimed* at providing support for stateful ws alone. Regards, Anil On 05/20/2011 10:21 AM, David Brossard wrote: Hi, That's true... This might be more about exposing the PDP with the lowest possible barrier to entry - making an authorization request as simple as can be. Since the PDP is stateless by design, a pure REST approach is therefore a mismatch since REST is aimed at providing support for stateful web services. So what is of interest is merely the HTTP protocol indeed and binding the XACML request / response to GET or POST verbs along with a potential mapping into simple HTTP request parameters or a JSON payload. Cheers, David. On Fri, May 20, 2011 at 5:04 PM, < remon.sinnema@emc.com > wrote: David, From: David Brossard [mailto: david.brossard@axiomatics.com ] Sent: Friday, May 20, 2011 4:20 PM To: xacml Subject: [xacml] PDP REST Interface - proposal >> Following the call yesterday, I would like to kick start some discussions around the possibility around designing a standard REST interface for a PDP. The idea would be to have a PEP-PDP interaction using REST. << I don't see any "resources" in your proposal. So I guess you're just talking about an HTTP interface, not REST. >> 2 possible methods: GET and POST * GET 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 the decision string e.g. "Permit"? an HTTP status code?) o Pros: extremely easy to consume o Cons: the request sent / response received are not valid XACML requests / responses. * This means a layer on the PDP side (in the REST wrapping) needs to map from a HTTP GET parameter to a XACML attribute * In addition, if the response is merely a status code or a String, it breaks the XACML standard in the sense that obligations / advice would be lost << I guess you could model Decisions as HTTP status codes: Permit - 200 OK Deny - 403 Forbidden NotApplicable - 404 Not Found Indeterminate - 500 Internal Server Error 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 don't use the XML format of the spec internally, so there has to be some sort of mapping anyway. This new mapping seems like a fairly easy addition. >> * 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 XACML standard o Cons: what is the benefit other than performance? It doesn't make adoption easier << Since an authorization request is idempotent, I would propose PUT instead. >> * POST using JSON o Input: the JSON representation of a XACML request o Output: the JSON representation of a XACML response o Pros: all the richness of XACML. The format is JSON which developers seems to prefer. o Cons: perhaps a bit too cumbersome. << 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 consume by a JavaScript client. >> What are your thoughts? << Sounds interesting. Do you have any (potential) customers that expressed interest in this? What are the use cases you are trying to solve with this proposal that you can't with the current spec? >> Do you think any standardization effort / profile definition effort should be driven by a developer community willing to use authorization and which would want to sacrifice the richness of XACML 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 parameters. Thanks, Ray     -- David Brossard, M.Eng, SCEA, CSTP Solutions Architect +46(0)760 25 85 75 Axiomatics AB Skeppsbron 40 S-111 30 Stockholm, Sweden http://www.linkedin.com/companies/536082 http://www.axiomatics.com http://twitter.com/axiomatics


  • 8.  Re: [xacml] PDP REST Interface - proposal

    Posted 05-20-2011 21:56
    Hi all, I agree that calling such an API a "REST" API is a misnomer. >> So what is of interest is merely the HTTP protocol indeed and binding the XACML request / response to GET or POST verbs along with a potential mapping into simple HTTP request 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 SOAP. SOAP has better tooling, and only adds two elements as a wrapper in it's minimal form ( <soap:Envelope> and <soap:Body>). For there to be any benefit I think the payload would have to be JSON, in which case we'd have to define a canonical way to represent XACML requests 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 define 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 canonical WSDL for an XACML PDP web service. The TC has been reluctant to do this in 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. Regards, Craig David Brossard ---05/20/2011 10:27:11 AM---Hi, That's true... This might be more about exposing the PDP with the lowest From: David Brossard <david.brossard@axiomatics.com> To: remon.sinnema@emc.com Cc: xacml@lists.oasis-open.org Date: 05/20/2011 10:27 AM Subject: Re: [xacml] PDP REST Interface - proposal Hi, That's true... This might be more about exposing the PDP with the lowest possible barrier to entry - making an authorization request as simple as can be. Since the PDP is stateless by design, a pure REST approach is therefore a mismatch since REST is aimed at providing support for stateful web services. So what is of interest is merely the HTTP protocol indeed and binding the XACML request / response to GET or POST verbs along with a potential mapping into simple HTTP request parameters or a JSON payload. Cheers, David. On Fri, May 20, 2011 at 5:04 PM, < remon.sinnema@emc.com > wrote: David, From: David Brossard [mailto: david.brossard@axiomatics.com ] Sent: Friday, May 20, 2011 4:20 PM To: xacml Subject: [xacml] PDP REST Interface - proposal >> Following the call yesterday, I would like to kick start some discussions around the possibility around designing a standard REST interface for a PDP. The idea would be to have a PEP-PDP interaction using REST. << I don't see any "resources" in your proposal. So I guess you're just talking about an HTTP interface, not REST. >> 2 possible methods: GET and POST * GET 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 the decision string e.g. "Permit"? an HTTP status code?) o Pros: extremely easy to consume o Cons: the request sent / response received are not valid XACML requests / responses. * This means a layer on the PDP side (in the REST wrapping) needs to map from a HTTP GET parameter to a XACML attribute * In addition, if the response is merely a status code or a String, it breaks the XACML standard in the sense that obligations / advice would be lost << I guess you could model Decisions as HTTP status codes: Permit - 200 OK Deny - 403 Forbidden NotApplicable - 404 Not Found Indeterminate - 500 Internal Server Error 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 don't use the XML format of the spec internally, so there has to be some sort of mapping anyway. This new mapping seems like a fairly easy addition. >> * 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 XACML standard o Cons: what is the benefit other than performance? It doesn't make adoption easier << Since an authorization request is idempotent, I would propose PUT instead. >> * POST using JSON o Input: the JSON representation of a XACML request o Output: the JSON representation of a XACML response o Pros: all the richness of XACML. The format is JSON which developers seems to prefer. o Cons: perhaps a bit too cumbersome. << 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 consume by a JavaScript client. >> What are your thoughts? << Sounds interesting. Do you have any (potential) customers that expressed interest in this? What are the use cases you are trying to solve with this proposal that you can't with the current spec? >> Do you think any standardization effort / profile definition effort should be driven by a developer community willing to use authorization and which would want to sacrifice the richness of XACML 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 parameters. Thanks, Ray -- David Brossard, M.Eng, SCEA, CSTP Solutions Architect +46(0)760 25 85 75 Axiomatics AB Skeppsbron 40 S-111 30 Stockholm, Sweden http://www.linkedin.com/companies/536082 http://www.axiomatics.com http://twitter.com/axiomatics


  • 9.  Re: [xacml] PDP REST Interface - proposal

    Posted 05-21-2011 04:11
    Hi All, My initial 2 cents on this is that translating the XACML Request/Response elements, w all their descendants to JSON and sending it over HTTP would be enough to prevent XACML being labeled as a SOAP-based interface, just because we happen to have one in the XACML/SAML profile. i.e. I would support using a XACML JSON/HTTP profile as a starting point. Also, as I am sure most people are aware, the Request (section 5.42) and Response (section 5.47) context elements, are represented as XML documents in spec, however, there is no requirement that these context representations ever exist as XML, as long as whatever representation is used (ex. JSON) will produce the same results. Therefore from the specifications point of view, a JSON/HTTP representation is just as good as an XML representation, or,  a Java RMI representation. This is also mentioned in section 3.2 (line 496 in wd19 (however, not JSON, which we might consider adding)).     Thanks,     Rich On 5/20/2011 5:55 PM, Craig R Forster wrote: OFF6508E36.DBA9022E-ON86257896.007602BC-86257896.00786E3C@us.ibm.com type= cite > Hi all, I agree that calling such an API a REST API is a misnomer. >> So what is of interest is merely the HTTP protocol indeed and binding the XACML request / response to GET or POST verbs along with a potential mapping into simple HTTP request 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 SOAP. SOAP has better tooling, and only adds two elements as a wrapper in it's minimal form ( <soap:Envelope> and <soap:Body>). For there to be any benefit I think the payload would have to be JSON, in which case we'd have to define a canonical way to represent XACML requests 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 define 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 canonical WSDL for an XACML PDP web service. The TC has been reluctant to do this in 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. Regards, Craig David Brossard ---05/20/2011 10:27:11 AM---Hi, That's true... This might be more about exposing the PDP with the lowest From: David Brossard <david.brossard@axiomatics.com> To: remon.sinnema@emc.com Cc: xacml@lists.oasis-open.org Date: 05/20/2011 10:27 AM Subject: Re: [xacml] PDP REST Interface - proposal Hi, That's true... This might be more about exposing the PDP with the lowest possible barrier to entry - making an authorization request as simple as can be. Since the PDP is stateless by design, a pure REST approach is therefore a mismatch since REST is aimed at providing support for stateful web services. So what is of interest is merely the HTTP protocol indeed and binding the XACML request / response to GET or POST verbs along with a potential mapping into simple HTTP request parameters or a JSON payload. Cheers, David. On Fri, May 20, 2011 at 5:04 PM, < remon.sinnema@emc.com > wrote: David, From: David Brossard [mailto: david.brossard@axiomatics.com ] Sent: Friday, May 20, 2011 4:20 PM To: xacml Subject: [xacml] PDP REST Interface - proposal >> Following the call yesterday, I would like to kick start some discussions around the possibility around designing a standard REST interface for a PDP. The idea would be to have a PEP-PDP interaction using REST. << I don't see any resources in your proposal. So I guess you're just talking about an HTTP interface, not REST. >> 2 possible methods: GET and POST * GET 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 the decision string e.g. Permit ? an HTTP status code?) o Pros: extremely easy to consume o Cons: the request sent / response received are not valid XACML requests / responses. * This means a layer on the PDP side (in the REST wrapping) needs to map from a HTTP GET parameter to a XACML attribute * In addition, if the response is merely a status code or a String, it breaks the XACML standard in the sense that obligations / advice would be lost << I guess you could model Decisions as HTTP status codes: Permit - 200 OK Deny - 403 Forbidden NotApplicable - 404 Not Found Indeterminate - 500 Internal Server Error 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 don't use the XML format of the spec internally, so there has to be some sort of mapping anyway. This new mapping seems like a fairly easy addition. >> * 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 XACML standard o Cons: what is the benefit other than performance? It doesn't make adoption easier << Since an authorization request is idempotent, I would propose PUT instead. >> * POST using JSON o Input: the JSON representation of a XACML request o Output: the JSON representation of a XACML response o Pros: all the richness of XACML. The format is JSON which developers seems to prefer. o Cons: perhaps a bit too cumbersome. << 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 consume by a JavaScript client. >> What are your thoughts? << Sounds interesting. Do you have any (potential) customers that expressed interest in this? What are the use cases you are trying to solve with this proposal that you can't with the current spec? >> Do you think any standardization effort / profile definition effort should be driven by a developer community willing to use authorization and which would want to sacrifice the richness of XACML 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 parameters. Thanks, Ray -- David Brossard, M.Eng, SCEA, CSTP Solutions Architect +46(0)760 25 85 75 Axiomatics AB Skeppsbron 40 S-111 30 Stockholm, Sweden http://www.linkedin.com/companies/536082 http://www.axiomatics.com http://twitter.com/axiomatics


  • 10.  Re: [xacml] PDP REST Interface - proposal

    Posted 05-24-2011 12:49
    Craig,   if you want to take the wsdl standardization task, I will support you. Regards, Anil On 05/20/2011 04:55 PM, Craig R Forster wrote: OFF6508E36.DBA9022E-ON86257896.007602BC-86257896.00786E3C@us.ibm.com type= cite > Hi all, I agree that calling such an API a REST API is a misnomer. >> So what is of interest is merely the HTTP protocol indeed and binding the XACML request / response to GET or POST verbs along with a potential mapping into simple HTTP request 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 SOAP. SOAP has better tooling, and only adds two elements as a wrapper in it's minimal form ( <soap:Envelope> and <soap:Body>). For there to be any benefit I think the payload would have to be JSON, in which case we'd have to define a canonical way to represent XACML requests 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 define 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 canonical WSDL for an XACML PDP web service. The TC has been reluctant to do this in 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. Regards, Craig David Brossard ---05/20/2011 10:27:11 AM---Hi, That's true... This might be more about exposing the PDP with the lowest From: David Brossard <david.brossard@axiomatics.com> To: remon.sinnema@emc.com Cc: xacml@lists.oasis-open.org Date: 05/20/2011 10:27 AM Subject: Re: [xacml] PDP REST Interface - proposal Hi, That's true... This might be more about exposing the PDP with the lowest possible barrier to entry - making an authorization request as simple as can be. Since the PDP is stateless by design, a pure REST approach is therefore a mismatch since REST is aimed at providing support for stateful web services. So what is of interest is merely the HTTP protocol indeed and binding the XACML request / response to GET or POST verbs along with a potential mapping into simple HTTP request parameters or a JSON payload. Cheers, David. On Fri, May 20, 2011 at 5:04 PM, < remon.sinnema@emc.com > wrote: David, From: David Brossard [mailto: david.brossard@axiomatics.com ] Sent: Friday, May 20, 2011 4:20 PM To: xacml Subject: [xacml] PDP REST Interface - proposal >> Following the call yesterday, I would like to kick start some discussions around the possibility around designing a standard REST interface for a PDP. The idea would be to have a PEP-PDP interaction using REST. << I don't see any resources in your proposal. So I guess you're just talking about an HTTP interface, not REST. >> 2 possible methods: GET and POST * GET 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 the decision string e.g. Permit ? an HTTP status code?) o Pros: extremely easy to consume o Cons: the request sent / response received are not valid XACML requests / responses. * This means a layer on the PDP side (in the REST wrapping) needs to map from a HTTP GET parameter to a XACML attribute * In addition, if the response is merely a status code or a String, it breaks the XACML standard in the sense that obligations / advice would be lost << I guess you could model Decisions as HTTP status codes: Permit - 200 OK Deny - 403 Forbidden NotApplicable - 404 Not Found Indeterminate - 500 Internal Server Error 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 don't use the XML format of the spec internally, so there has to be some sort of mapping anyway. This new mapping seems like a fairly easy addition. >> * 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 XACML standard o Cons: what is the benefit other than performance? It doesn't make adoption easier << Since an authorization request is idempotent, I would propose PUT instead. >> * POST using JSON o Input: the JSON representation of a XACML request o Output: the JSON representation of a XACML response o Pros: all the richness of XACML. The format is JSON which developers seems to prefer. o Cons: perhaps a bit too cumbersome. << 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 consume by a JavaScript client. >> What are your thoughts? << Sounds interesting. Do you have any (potential) customers that expressed interest in this? What are the use cases you are trying to solve with this proposal that you can't with the current spec? >> Do you think any standardization effort / profile definition effort should be driven by a developer community willing to use authorization and which would want to sacrifice the richness of XACML 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 parameters. Thanks, Ray  


  • 11.  Re: [xacml] PDP REST Interface - proposal

    Posted 05-24-2011 21:21
    Dear all, 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 (transport / communication) and not just the XACML request/response. (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 GET parameters? 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. Cheers, David. On Tue, May 24, 2011 at 7:48 AM, Anil Saldhana < Anil.Saldhana@redhat.com > wrote: Craig,   if you want to take the wsdl standardization task, I will support you. Regards, Anil On 05/20/2011 04:55 PM, Craig R Forster wrote: Hi all, I agree that calling such an API a "REST" API is a misnomer. >> So what is of interest is merely the HTTP protocol indeed and binding the XACML request / response to GET or POST verbs along with a potential mapping into simple HTTP request 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 SOAP. SOAP has better tooling, and only adds two elements as a wrapper in it's minimal form ( <soap:Envelope> and <soap:Body>). For there to be any benefit I think the payload would have to be JSON, in which case we'd have to define a canonical way to represent XACML requests 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 define 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 canonical WSDL for an XACML PDP web service. The TC has been reluctant to do this in 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. Regards, Craig David Brossard ---05/20/2011 10:27:11 AM---Hi, That's true... This might be more about exposing the PDP with the lowest From: David Brossard <david.brossard@axiomatics.com> To: remon.sinnema@emc.com Cc: xacml@lists.oasis-open.org Date: 05/20/2011 10:27 AM Subject: Re: [xacml] PDP REST Interface - proposal Hi, That's true... This might be more about exposing the PDP with the lowest possible barrier to entry - making an authorization request as simple as can be. Since the PDP is stateless by design, a pure REST approach is therefore a mismatch since REST is aimed at providing support for stateful web services. So what is of interest is merely the HTTP protocol indeed and binding the XACML request / response to GET or POST verbs along with a potential mapping into simple HTTP request parameters or a JSON payload. Cheers, David. On Fri, May 20, 2011 at 5:04 PM, < remon.sinnema@emc.com > wrote: David, From: David Brossard [mailto: david.brossard@axiomatics.com ] Sent: Friday, May 20, 2011 4:20 PM To: xacml Subject: [xacml] PDP REST Interface - proposal >> Following the call yesterday, I would like to kick start some discussions around the possibility around designing a standard REST interface for a PDP. The idea would be to have a PEP-PDP interaction using REST. << I don't see any "resources" in your proposal. So I guess you're just talking about an HTTP interface, not REST. >> 2 possible methods: GET and POST * GET 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 the decision string e.g. "Permit"? an HTTP status code?) o Pros: extremely easy to consume o Cons: the request sent / response received are not valid XACML requests / responses. * This means a layer on the PDP side (in the REST wrapping) needs to map from a HTTP GET parameter to a XACML attribute * In addition, if the response is merely a status code or a String, it breaks the XACML standard in the sense that obligations / advice would be lost << I guess you could model Decisions as HTTP status codes: Permit - 200 OK Deny - 403 Forbidden NotApplicable - 404 Not Found Indeterminate - 500 Internal Server Error 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 don't use the XML format of the spec internally, so there has to be some sort of mapping anyway. This new mapping seems like a fairly easy addition. >> * 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 XACML standard o Cons: what is the benefit other than performance? It doesn't make adoption easier << Since an authorization request is idempotent, I would propose PUT instead. >> * POST using JSON o Input: the JSON representation of a XACML request o Output: the JSON representation of a XACML response o Pros: all the richness of XACML. The format is JSON which developers seems to prefer. o Cons: perhaps a bit too cumbersome. << 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 consume by a JavaScript client. >> What are your thoughts? << Sounds interesting. Do you have any (potential) customers that expressed interest in this? What are the use cases you are trying to solve with this proposal that you can't with the current spec? >> Do you think any standardization effort / profile definition effort should be driven by a developer community willing to use authorization and which would want to sacrifice the richness of XACML 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 parameters. Thanks, Ray   -- David Brossard, M.Eng, SCEA, CSTP Solutions Architect +46(0)760 25 85 75 Axiomatics AB Skeppsbron 40 S-111 30 Stockholm, Sweden http://www.linkedin.com/companies/536082 http://www.axiomatics.com http://twitter.com/axiomatics


  • 12.  Re: [xacml] PDP REST Interface - proposal

    Posted 05-24-2011 22:12
    Hi David,   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 over http architecture) and plain xml over http are all possibilities. 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 jacml. ;) 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 access control constructs. My thoughts only. Regards, Anil On 05/24/2011 04:20 PM, David Brossard wrote: BANLkTi=y81-iGE2a87hOM=kX-hbwqFXGRA@mail.gmail.com type= cite >Dear all, 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 (transport / communication) and not just the XACML request/response. (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 GET parameters? 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. Cheers, David. On Tue, May 24, 2011 at 7:48 AM, Anil Saldhana < Anil.Saldhana@redhat.com > wrote: Craig,   if you want to take the wsdl standardization task, I will support you. Regards, Anil On 05/20/2011 04:55 PM, Craig R Forster wrote: Hi all, I agree that calling such an API a REST API is a misnomer. >> So what is of interest is merely the HTTP protocol indeed and binding the XACML request / response to GET or POST verbs along with a potential mapping into simple HTTP request 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 SOAP. SOAP has better tooling, and only adds two elements as a wrapper in it's minimal form ( <soap:Envelope> and <soap:Body>). For there to be any benefit I think the payload would have to be JSON, in which case we'd have to define a canonical way to represent XACML requests 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 define 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 canonical WSDL for an XACML PDP web service. The TC has been reluctant to do this in 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. Regards, Craig David Brossard ---05/20/2011 10:27:11 AM---Hi, That's true... This might be more about exposing the PDP with the lowest From: David Brossard <david.brossard@axiomatics.com> To: remon.sinnema@emc.com Cc: xacml@lists.oasis-open.org Date: 05/20/2011 10:27 AM Subject: Re: [xacml] PDP REST Interface - proposal Hi, That's true... This might be more about exposing the PDP with the lowest possible barrier to entry - making an authorization request as simple as can be. Since the PDP is stateless by design, a pure REST approach is therefore a mismatch since REST is aimed at providing support for stateful web services. So what is of interest is merely the HTTP protocol indeed and binding the XACML request / response to GET or POST verbs along with a potential mapping into simple HTTP request parameters or a JSON payload. Cheers, David. On Fri, May 20, 2011 at 5:04 PM, < remon.sinnema@emc.com > wrote: David, From: David Brossard [mailto: david.brossard@axiomatics.com ] Sent: Friday, May 20, 2011 4:20 PM To: xacml Subject: [xacml] PDP REST Interface - proposal >> Following the call yesterday, I would like to kick start some discussions around the possibility around designing a standard REST interface for a PDP. The idea would be to have a PEP-PDP interaction using REST. << I don't see any resources in your proposal. So I guess you're just talking about an HTTP interface, not REST. >> 2 possible methods: GET and POST * GET 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 the decision string e.g. Permit ? an HTTP status code?) o Pros: extremely easy to consume o Cons: the request sent / response received are not valid XACML requests / responses. * This means a layer on the PDP side (in the REST wrapping) needs to map from a HTTP GET parameter to a XACML attribute * In addition, if the response is merely a status code or a String, it breaks the XACML standard in the sense that obligations / advice would be lost << I guess you could model Decisions as HTTP status codes: Permit - 200 OK Deny - 403 Forbidden NotApplicable - 404 Not Found Indeterminate - 500 Internal Server Error 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 don't use the XML format of the spec internally, so there has to be some sort of mapping anyway. This new mapping seems like a fairly easy addition. >> * 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 XACML standard o Cons: what is the benefit other than performance? It doesn't make adoption easier << Since an authorization request is idempotent, I would propose PUT instead. >> * POST using JSON o Input: the JSON representation of a XACML request o Output: the JSON representation of a XACML response o Pros: all the richness of XACML. The format is JSON which developers seems to prefer. o Cons: perhaps a bit too cumbersome. << 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 consume by a JavaScript client. >> What are your thoughts? << Sounds interesting. Do you have any (potential) customers that expressed interest in this? What are the use cases you are trying to solve with this proposal that you can't with the current spec? >> Do you think any standardization effort / profile definition effort should be driven by a developer community willing to use authorization and which would want to sacrifice the richness of XACML 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 parameters. Thanks, Ray    


  • 13.  Re: [xacml] PDP REST Interface - proposal

    Posted 05-24-2011 22:39
    Hi Anil, Sorry, I did not mean to give you heartburn with the words "soap only". I do agree with your point. I wrongly applied the shortcut SOAP == WSDL which of course is not true. Our new goal should be to define a standard interface using WSDL, possibly WSDL 2.0. That interface could then be used for SOAP-based communication, HTTP/GET-based communication or even JSON-based at the implementation's discretion. Those details could potentially be standardized w/in the very same profile. Regardless of communication / transport protocol and interface definition, should we assume that what is being carried is always the XACML request as defined in the XACML specification? If so, it 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 behind this conversation, we should make that interface as easy and simple as can be (in addition to standard) to further facilitate XACML adoption and help developers quickly develop PEPs to consume XACML authorizations. So do we agree we should define a WSDL 2.0 interface? How widely adopted is WSDL 2.0 vs. WSDL 1.1? Cheers, David. On Tue, May 24, 2011 at 5:12 PM, Anil Saldhana < Anil.Saldhana@redhat.com > wrote: Hi David,   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 over http architecture) and plain xml over http are all possibilities. 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 jacml. ;) 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 access control constructs. My thoughts only. Regards, Anil On 05/24/2011 04:20 PM, David Brossard wrote: Dear all, 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 (transport / communication) and not just the XACML request/response. (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 GET parameters? 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. Cheers, David. On Tue, May 24, 2011 at 7:48 AM, Anil Saldhana < Anil.Saldhana@redhat.com > wrote: Craig,   if you want to take the wsdl standardization task, I will support you. Regards, Anil On 05/20/2011 04:55 PM, Craig R Forster wrote: Hi all, I agree that calling such an API a "REST" API is a misnomer. >> So what is of interest is merely the HTTP protocol indeed and binding the XACML request / response to GET or POST verbs along with a potential mapping into simple HTTP request 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 SOAP. SOAP has better tooling, and only adds two elements as a wrapper in it's minimal form ( <soap:Envelope> and <soap:Body>). For there to be any benefit I think the payload would have to be JSON, in which case we'd have to define a canonical way to represent XACML requests 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 define 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 canonical WSDL for an XACML PDP web service. The TC has been reluctant to do this in 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. Regards, Craig David Brossard ---05/20/2011 10:27:11 AM---Hi, That's true... This might be more about exposing the PDP with the lowest From: David Brossard <david.brossard@axiomatics.com> To: remon.sinnema@emc.com Cc: xacml@lists.oasis-open.org Date: 05/20/2011 10:27 AM Subject: Re: [xacml] PDP REST Interface - proposal Hi, That's true... This might be more about exposing the PDP with the lowest possible barrier to entry - making an authorization request as simple as can be. Since the PDP is stateless by design, a pure REST approach is therefore a mismatch since REST is aimed at providing support for stateful web services. So what is of interest is merely the HTTP protocol indeed and binding the XACML request / response to GET or POST verbs along with a potential mapping into simple HTTP request parameters or a JSON payload. Cheers, David. On Fri, May 20, 2011 at 5:04 PM, < remon.sinnema@emc.com > wrote: David, From: David Brossard [mailto: david.brossard@axiomatics.com ] Sent: Friday, May 20, 2011 4:20 PM To: xacml Subject: [xacml] PDP REST Interface - proposal >> Following the call yesterday, I would like to kick start some discussions around the possibility around designing a standard REST interface for a PDP. The idea would be to have a PEP-PDP interaction using REST. << I don't see any "resources" in your proposal. So I guess you're just talking about an HTTP interface, not REST. >> 2 possible methods: GET and POST * GET 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 the decision string e.g. "Permit"? an HTTP status code?) o Pros: extremely easy to consume o Cons: the request sent / response received are not valid XACML requests / responses. * This means a layer on the PDP side (in the REST wrapping) needs to map from a HTTP GET parameter to a XACML attribute * In addition, if the response is merely a status code or a String, it breaks the XACML standard in the sense that obligations / advice would be lost << I guess you could model Decisions as HTTP status codes: Permit - 200 OK Deny - 403 Forbidden NotApplicable - 404 Not Found Indeterminate - 500 Internal Server Error 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 don't use the XML format of the spec internally, so there has to be some sort of mapping anyway. This new mapping seems like a fairly easy addition. >> * 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 XACML standard o Cons: what is the benefit other than performance? It doesn't make adoption easier << Since an authorization request is idempotent, I would propose PUT instead. >> * POST using JSON o Input: the JSON representation of a XACML request o Output: the JSON representation of a XACML response o Pros: all the richness of XACML. The format is JSON which developers seems to prefer. o Cons: perhaps a bit too cumbersome. << 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 consume by a JavaScript client. >> What are your thoughts? << Sounds interesting. Do you have any (potential) customers that expressed interest in this? What are the use cases you are trying to solve with this proposal that you can't with the current spec? >> Do you think any standardization effort / profile definition effort should be driven by a developer community willing to use authorization and which would want to sacrifice the richness of XACML 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 parameters. Thanks, Ray     -- David Brossard, M.Eng, SCEA, CSTP Solutions Architect +46(0)760 25 85 75 Axiomatics AB Skeppsbron 40 S-111 30 Stockholm, Sweden http://www.linkedin.com/companies/536082 http://www.axiomatics.com http://twitter.com/axiomatics


  • 14.  Re: [xacml] PDP REST Interface - proposal

    Posted 05-25-2011 00:38
    Hi David,   from queries from the field, I have primarily seen demand for SOAP based PDP services at this time. Hence my support for standardizing the wsdl. The challenge has been easy authorship of the xacml policies. In recent times, I have seen an uptake on xacml related queries coming to my blog (that has xacml entries). So I can tell that people are dealing with xacml around the world compared to what was 2 years ago. Regards, Anil On 05/24/2011 05:38 PM, David Brossard wrote: BANLkTinfsWAWZuq6QRM7gWjTpWebkoT0Kw@mail.gmail.com type= cite >Hi Anil, Sorry, I did not mean to give you heartburn with the words soap only . I do agree with your point. I wrongly applied the shortcut SOAP == WSDL which of course is not true. Our new goal should be to define a standard interface using WSDL, possibly WSDL 2.0. That interface could then be used for SOAP-based communication, HTTP/GET-based communication or even JSON-based at the implementation's discretion. Those details could potentially be standardized w/in the very same profile. Regardless of communication / transport protocol and interface definition, should we assume that what is being carried is always the XACML request as defined in the XACML specification? If so, it 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 behind this conversation, we should make that interface as easy and simple as can be (in addition to standard) to further facilitate XACML adoption and help developers quickly develop PEPs to consume XACML authorizations. So do we agree we should define a WSDL 2.0 interface? How widely adopted is WSDL 2.0 vs. WSDL 1.1? Cheers, David. On Tue, May 24, 2011 at 5:12 PM, Anil Saldhana < Anil.Saldhana@redhat.com > wrote: Hi David,   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 over http architecture) and plain xml over http are all possibilities. 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 jacml. ;) 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 access control constructs. My thoughts only. Regards, Anil On 05/24/2011 04:20 PM, David Brossard wrote: Dear all, 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 (transport / communication) and not just the XACML request/response. (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 GET parameters? 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. Cheers, David. On Tue, May 24, 2011 at 7:48 AM, Anil Saldhana < Anil.Saldhana@redhat.com > wrote: Craig,   if you want to take the wsdl standardization task, I will support you. Regards, Anil On 05/20/2011 04:55 PM, Craig R Forster wrote: Hi all, I agree that calling such an API a REST API is a misnomer. >> So what is of interest is merely the HTTP protocol indeed and binding the XACML request / response to GET or POST verbs along with a potential mapping into simple HTTP request 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 SOAP. SOAP has better tooling, and only adds two elements as a wrapper in it's minimal form ( <soap:Envelope> and <soap:Body>). For there to be any benefit I think the payload would have to be JSON, in which case we'd have to define a canonical way to represent XACML requests 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 define 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 canonical WSDL for an XACML PDP web service. The TC has been reluctant to do this in 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. Regards, Craig David Brossard ---05/20/2011 10:27:11 AM---Hi, That's true... This might be more about exposing the PDP with the lowest From: David Brossard <david.brossard@axiomatics.com> To: remon.sinnema@emc.com Cc: xacml@lists.oasis-open.org Date: 05/20/2011 10:27 AM Subject: Re: [xacml] PDP REST Interface - proposal Hi, That's true... This might be more about exposing the PDP with the lowest possible barrier to entry - making an authorization request as simple as can be. Since the PDP is stateless by design, a pure REST approach is therefore a mismatch since REST is aimed at providing support for stateful web services. So what is of interest is merely the HTTP protocol indeed and binding the XACML request / response to GET or POST verbs along with a potential mapping into simple HTTP request parameters or a JSON payload. Cheers, David. On Fri, May 20, 2011 at 5:04 PM, < remon.sinnema@emc.com > wrote: David, From: David Brossard [mailto: david.brossard@axiomatics.com ] Sent: Friday, May 20, 2011 4:20 PM To: xacml Subject: [xacml] PDP REST Interface - proposal >> Following the call yesterday, I would like to kick start some discussions around the possibility around designing a standard REST interface for a PDP. The idea would be to have a PEP-PDP interaction using REST. << I don't see any resources in your proposal. So I guess you're just talking about an HTTP interface, not REST. >> 2 possible methods: GET and POST * GET 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 the decision string e.g. Permit ? an HTTP status code?) o Pros: extremely easy to consume o Cons: the request sent / response received are not valid XACML requests / responses. * This means a layer on the PDP side (in the REST wrapping) needs to map from a HTTP GET parameter to a XACML attribute * In addition, if the response is merely a status code or a String, it breaks the XACML standard in the sense that obligations / advice would be lost << I guess you could model Decisions as HTTP status codes: Permit - 200 OK Deny - 403 Forbidden NotApplicable - 404 Not Found Indeterminate - 500 Internal Server Error 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 don't use the XML format of the spec internally, so there has to be some sort of mapping anyway. This new mapping seems like a fairly easy addition. >> * 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 XACML standard o Cons: what is the benefit other than performance? It doesn't make adoption easier << Since an authorization request is idempotent, I would propose PUT instead. >> * POST using JSON o Input: the JSON representation of a XACML request o Output: the JSON representation of a XACML response o Pros: all the richness of XACML. The format is JSON which developers seems to prefer. o Cons: perhaps a bit too cumbersome. << 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 consume by a JavaScript client. >> What are your thoughts? << Sounds interesting. Do you have any (potential) customers that expressed interest in this? What are the use cases you are trying to solve with this proposal that you can't with the current spec? >> Do you think any standardization effort / profile definition effort should be driven by a developer community willing to use authorization and which would want to sacrifice the richness of XACML 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 parameters. Thanks, Ray


  • 15.  RE: [xacml] PDP REST Interface - proposal

    Posted 05-25-2011 07:55
    Anil, David, From: Anil Saldhana [ mailto:Anil.Saldhana@redhat.com ] Sent: Wednesday, May 25, 2011 2:38 AM To: David Brossard Cc: xacml@lists.oasis-open.org Subject: Re: [xacml] PDP REST Interface - proposal > The challenge has been easy authorship of the xacml policies. I guess this means you're interested in an interface for the PAP. My understanding of David's proposal was that he wanted an interface for the PDP. David, are you interested in expanding your original proposal to include the PAP? Thanks, Ray


  • 16.  AW: [xacml] PDP REST Interface - proposal --> standardised PAP interface

    Posted 05-25-2011 08:23
    Hi Ray,all, I am not much interested in the PDP http interface topic. However(as mentioned in the last mail) I see a need for a standardised PAP interface. Within the GeoXACML SWG of the OGC we are currently investigation the signatures of commonly used PAP operations. How about starting work towards a profile that standardises a Policy Administration Web Service for XACML v3.0 policies? If there is interest, I would be happy to provide a first draft of such a spec to get discussions started in this direction. Best regards Jan -- Jan Herrmann Dipl.-Inform., Dipl.-Geogr. Scientific Assistant Chair for Applied Informatics / Cooperative Systems Technische Universität München Boltzmannstr. 3 85748 Garching Germany T: +49 89 289 18692 F: +49 89 289 18657 W: www11.in.tum.de > -----Ursprüngliche Nachricht----- > Von: remon.sinnema@emc.com [ mailto:remon.sinnema@emc.com ] > Gesendet: Mittwoch, 25. Mai 2011 09:54 > An: Anil.Saldhana@redhat.com; david.brossard@axiomatics.com > Cc: xacml@lists.oasis-open.org > Betreff: RE: [xacml] PDP REST Interface - proposal > > Anil, David, > > > From: Anil Saldhana [ mailto:Anil.Saldhana@redhat.com ] > Sent: Wednesday, May 25, 2011 2:38 AM > To: David Brossard > Cc: xacml@lists.oasis-open.org > Subject: Re: [xacml] PDP REST Interface - proposal > > > The challenge has been easy authorship of the xacml policies. > > I guess this means you're interested in an interface for the PAP. My > understanding of David's proposal was that he wanted an interface for the > PDP. David, are you interested in expanding your original proposal to > include the PAP? > > Thanks, > Ray > > > --------------------------------------------------------------------- > To unsubscribe from this mail list, you must leave the OASIS TC that > generates this mail. Follow this link to all your TCs in OASIS at: > https://www.oasis-open.org/apps/org/workgroup/portal/my_workgroups.php


  • 17.  RE: [xacml] PDP REST Interface - proposal --> standardised PAPinterface

    Posted 05-25-2011 08:44
    Jan, >


  • 18.  AW: [xacml] PDP REST Interface - proposal --> standardised PAP interface

    Posted 05-25-2011 09:04
    Hi Ray, great to hear... So far we have a XML based request/response language in mind. The transport protocol used to submit these messages could either be soap or http/post. Using http/Get is not very suitable. E.g. the resulting kvp encoded requests to a PAWS (Policy Administration Web Service) will contain xml code. Best regards Jan -- Jan Herrmann Dipl.-Inform., Dipl.-Geogr. Scientific Assistant Chair for Applied Informatics / Cooperative Systems Technische Universität München Boltzmannstr. 3 85748 Garching Germany T: +49 89 289 18692 F: +49 89 289 18657 W: www11.in.tum.de > -----Ursprüngliche Nachricht----- > Von: remon.sinnema@emc.com [ mailto:remon.sinnema@emc.com ] > Gesendet: Mittwoch, 25. Mai 2011 10:43 > An: herrmanj@in.tum.de > Cc: xacml@lists.oasis-open.org > Betreff: RE: [xacml] PDP REST Interface - proposal --> standardised PAP > interface > > Jan, > > > >


  • 19.  RE: [xacml] PDP REST Interface - proposal --> standardised PAPinterface

    Posted 05-25-2011 09:23
    Jan, >


  • 20.  AW: [xacml] PDP REST Interface - proposal --> standardised PAP interface

    Posted 05-25-2011 10:40
    Hi Ray, see comments inline...   > -----Ursprüngliche Nachricht----- > Von: remon.sinnema@emc.com [mailto:remon.sinnema@emc.com] > Gesendet: Mittwoch, 25. Mai 2011 11:22 > An: herrmanj@in.tum.de > Cc: xacml@lists.oasis-open.org > Betreff: RE: [xacml] PDP REST Interface - proposal --> standardised PAP > interface > > Jan, > > > >


  • 21.  Towards the creation of XACML PEPs (WAS Re: [xacml] PDP REST Interface- proposal)

    Posted 05-25-2011 13:23
    David, Anil - I would like to bring your attention to the OpenAz project which focuses on the creation of XACML PEP's. Currently, the project includes Java and C++ bindings and we would welcome other bindings to languages such as Ruby and Python. Rich Levinson and Hal Lockhart have previously published materials  to this TC describing the APIs and other essential pragmatic materials (attribute manifest) needed to easily create XACML PEPs in a variety of contexts. IMHO, creating yet another protocol for PEP <--> PDP interaction is helpful but not very important step in making XACML-style PEP available in a variety of contexts. The PEP <--> PDP interaction usually requires efficiency and is implemented in a variety of different proprietary ways. There is nothing in the XACML specification 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 that creating a flexible model for embedding PEPs  and obtaining attributes in a variety of contexts to be much more important. Some of the issues encounter include: + Training of architects and developers so that they understand the XACML PEP interaction model. + How can PEPs be added to specific points in applications, middleware, gateways and devices? + How can we efficiently and securely transfer identity attributes from native run-time system (e.g., Java principals) to the authorization system? + How can we expose business objects to the authorization system? + How can we communicate information about attributes required in policies to other repositories, including the application at run-time? Thanks, prateek OpenAz project link - http://www.openliberty.org/wiki/index.php/Main_Page#OpenAz BANLkTinfsWAWZuq6QRM7gWjTpWebkoT0Kw@mail.gmail.com type= cite > Regardless of communication / transport protocol and interface definition, should we assume that what is being carried is always the XACML request as defined in the XACML specification? If so, it 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 behind this conversation, we should make that interface as easy and simple as can be (in addition to standard) to further facilitate XACML adoption and help developers quickly develop PEPs to consume XACML authorizations. So do we agree we should define a WSDL 2.0 interface? How widely adopted is WSDL 2.0 vs. WSDL 1.1? Cheers, David. On Tue, May 24, 2011 at 5:12 PM, Anil Saldhana < Anil.Saldhana@redhat.com > wrote: Hi David,   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 over http architecture) and plain xml over http are all possibilities. 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 jacml. ;) 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 access control constructs. My thoughts only. Regards, Anil On 05/24/2011 04:20 PM, David Brossard wrote: Dear all, 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 (transport / communication) and not just the XACML request/response. (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 GET parameters? 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. Cheers, David. On Tue, May 24, 2011 at 7:48 AM, Anil Saldhana < Anil.Saldhana@redhat.com > wrote: Craig,   if you want to take the wsdl standardization task, I will support you. Regards, Anil On 05/20/2011 04:55 PM, Craig R Forster wrote: Hi all, I agree that calling such an API a REST API is a misnomer. >> So what is of interest is merely the HTTP protocol indeed and binding the XACML request / response to GET or POST verbs along with a potential mapping into simple HTTP request 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 SOAP. SOAP has better tooling, and only adds two elements as a wrapper in it's minimal form ( <soap:Envelope> and <soap:Body>). For there to be any benefit I think the payload would have to be JSON, in which case we'd have to define a canonical way to represent XACML requests 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 define 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 canonical WSDL for an XACML PDP web service. The TC has been reluctant to do this in 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. Regards, Craig David Brossard ---05/20/2011 10:27:11 AM---Hi, That's true... This might be more about exposing the PDP with the lowest From: David Brossard <david.brossard@axiomatics.com> To: remon.sinnema@emc.com Cc: xacml@lists.oasis-open.org Date: 05/20/2011 10:27 AM Subject: Re: [xacml] PDP REST Interface - proposal Hi, That's true... This might be more about exposing the PDP with the lowest possible barrier to entry - making an authorization request as simple as can be. Since the PDP is stateless by design, a pure REST approach is therefore a mismatch since REST is aimed at providing support for stateful web services. So what is of interest is merely the HTTP protocol indeed and binding the XACML request / response to GET or POST verbs along with a potential mapping into simple HTTP request parameters or a JSON payload. Cheers, David. On Fri, May 20, 2011 at 5:04 PM, < remon.sinnema@emc.com > wrote: David, From: David Brossard [mailto: david.brossard@axiomatics.com ] Sent: Friday, May 20, 2011 4:20 PM To: xacml Subject: [xacml] PDP REST Interface - proposal >> Following the call yesterday, I would like to kick start some discussions around the possibility around designing a standard REST interface for a PDP. The idea would be to have a PEP-PDP interaction using REST. << I don't see any resources in your proposal. So I guess you're just talking about an HTTP interface, not REST. >> 2 possible methods: GET and POST * GET 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 the decision string e.g. Permit ? an HTTP status code?) o Pros: extremely easy to consume o Cons: the request sent / response received are not valid XACML requests / responses. * This means a layer on the PDP side (in the REST wrapping) needs to map from a HTTP GET parameter to a XACML attribute * In addition, if the response is merely a status code or a String, it breaks the XACML standard in the sense that obligations / advice would be lost << I guess you could model Decisions as HTTP status codes: Permit - 200 OK Deny - 403 Forbidden NotApplicable - 404 Not Found Indeterminate - 500 Internal Server Error 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 don't use the XML format of the spec internally, so there has to be some sort of mapping anyway. This new mapping seems like a fairly easy addition. >> * 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 XACML standard o Cons: what is the benefit other than performance? It doesn't make adoption easier << Since an authorization request is idempotent, I would propose PUT instead. >> * POST using JSON o Input: the JSON representation of a XACML request o Output: the JSON representation of a XACML response o Pros: all the richness of XACML. The format is JSON which developers seems to prefer. o Cons: perhaps a bit too cumbersome. << 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 consume by a JavaScript client. >> What are your thoughts? << Sounds interesting. Do you have any (potential) customers that expressed interest in this? What are the use cases you are trying to solve with this proposal that you can't with the current spec? >> Do you think any standardization effort / profile definition effort should be driven by a developer community willing to use authorization and which would want to sacrifice the richness of XACML 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 parameters. Thanks, Ray     -- David Brossard, M.Eng, SCEA, CSTP Solutions Architect +46(0)760 25 85 75 Axiomatics AB Skeppsbron 40 S-111 30 Stockholm, Sweden http://www.linkedin.com/companies/536082 http://www.axiomatics.com http://twitter.com/axiomatics


  • 22.  Re: Towards the creation of XACML PEPs (WAS Re: [xacml] PDP RESTInterface - proposal)

    Posted 06-06-2011 19:41
    Hi all, Apologies for missing last week's call. I was travelling back from the US. 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  the management (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 MISHRA < prateek.mishra@oracle.com > wrote: David, Anil - I would like to bring your attention to the OpenAz project which focuses on the creation of XACML PEP's. Currently, the project includes Java and C++ bindings and we would welcome other bindings to languages such as Ruby and Python. Rich Levinson and Hal Lockhart have previously published materials  to this TC describing the APIs and other essential pragmatic materials (attribute manifest) needed to easily create XACML PEPs in a variety of contexts. IMHO, creating yet another protocol for PEP <--> PDP interaction is helpful but not very important step in making XACML-style PEP available in a variety of contexts. The PEP <--> PDP interaction usually requires efficiency and is implemented in a variety of different proprietary ways. There is nothing in the XACML specification 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 that creating a flexible model for embedding PEPs  and obtaining attributes in a variety of contexts to be much more important. Some of the issues encounter include: + Training of architects and developers so that they understand the XACML PEP interaction model. + How can PEPs be added to specific points in applications, middleware, gateways and devices? + How can we efficiently and securely transfer identity attributes from native run-time system (e.g., Java principals) to the authorization system? + How can we expose business objects to the authorization system? + How can we communicate information about attributes required in policies to other repositories, including the application at run-time? Thanks, prateek OpenAz project link - http://www.openliberty.org/wiki/index.php/Main_Page#OpenAz Regardless of communication / transport protocol and interface definition, should we assume that what is being carried is always the XACML request as defined in the XACML specification? If so, it 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 behind this conversation, we should make that interface as easy and simple as can be (in addition to standard) to further facilitate XACML adoption and help developers quickly develop PEPs to consume XACML authorizations. So do we agree we should define a WSDL 2.0 interface? How widely adopted is WSDL 2.0 vs. WSDL 1.1? Cheers, David. On Tue, May 24, 2011 at 5:12 PM, Anil Saldhana < Anil.Saldhana@redhat.com > wrote: Hi David,   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 over http architecture) and plain xml over http are all possibilities. 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 jacml. ;) 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 access control constructs. My thoughts only. Regards, Anil On 05/24/2011 04:20 PM, David Brossard wrote: Dear all, 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 (transport / communication) and not just the XACML request/response. (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 GET parameters? 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. Cheers, David. On Tue, May 24, 2011 at 7:48 AM, Anil Saldhana < Anil.Saldhana@redhat.com > wrote: Craig,   if you want to take the wsdl standardization task, I will support you. Regards, Anil On 05/20/2011 04:55 PM, Craig R Forster wrote: Hi all, I agree that calling such an API a "REST" API is a misnomer. >> So what is of interest is merely the HTTP protocol indeed and binding the XACML request / response to GET or POST verbs along with a potential mapping into simple HTTP request 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 SOAP. SOAP has better tooling, and only adds two elements as a wrapper in it's minimal form ( <soap:Envelope> and <soap:Body>). For there to be any benefit I think the payload would have to be JSON, in which case we'd have to define a canonical way to represent XACML requests 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 define 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 canonical WSDL for an XACML PDP web service. The TC has been reluctant to do this in 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. Regards, Craig David Brossard ---05/20/2011 10:27:11 AM---Hi, That's true... This might be more about exposing the PDP with the lowest From: David Brossard <david.brossard@axiomatics.com> To: remon.sinnema@emc.com Cc: xacml@lists.oasis-open.org Date: 05/20/2011 10:27 AM Subject: Re: [xacml] PDP REST Interface - proposal Hi, That's true... This might be more about exposing the PDP with the lowest possible barrier to entry - making an authorization request as simple as can be. Since the PDP is stateless by design, a pure REST approach is therefore a mismatch since REST is aimed at providing support for stateful web services. So what is of interest is merely the HTTP protocol indeed and binding the XACML request / response to GET or POST verbs along with a potential mapping into simple HTTP request parameters or a JSON payload. Cheers, David. On Fri, May 20, 2011 at 5:04 PM, < remon.sinnema@emc.com > wrote: David, From: David Brossard [mailto: david.brossard@axiomatics.com ] Sent: Friday, May 20, 2011 4:20 PM To: xacml Subject: [xacml] PDP REST Interface - proposal >> Following the call yesterday, I would like to kick start some discussions around the possibility around designing a standard REST interface for a PDP. The idea would be to have a PEP-PDP interaction using REST. << I don't see any "resources" in your proposal. So I guess you're just talking about an HTTP interface, not REST. >> 2 possible methods: GET and POST * GET 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 the decision string e.g. "Permit"? an HTTP status code?) o Pros: extremely easy to consume o Cons: the request sent / response received are not valid XACML requests / responses. * This means a layer on the PDP side (in the REST wrapping) needs to map from a HTTP GET parameter to a XACML attribute * In addition, if the response is merely a status code or a String, it breaks the XACML standard in the sense that obligations / advice would be lost << I guess you could model Decisions as HTTP status codes: Permit - 200 OK Deny - 403 Forbidden NotApplicable - 404 Not Found Indeterminate - 500 Internal Server Error 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 don't use the XML format of the spec internally, so there has to be some sort of mapping anyway. This new mapping seems like a fairly easy addition. >> * 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 XACML standard o Cons: what is the benefit other than performance? It doesn't make adoption easier << Since an authorization request is idempotent, I would propose PUT instead. >> * POST using JSON o Input: the JSON representation of a XACML request o Output: the JSON representation of a XACML response o Pros: all the richness of XACML. The format is JSON which developers seems to prefer. o Cons: perhaps a bit too cumbersome. << 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 consume by a JavaScript client. >> What are your thoughts? << Sounds interesting. Do you have any (potential) customers that expressed interest in this? What are the use cases you are trying to solve with this proposal that you can't with the current spec? >> Do you think any standardization effort / profile definition effort should be driven by a developer community willing to use authorization and which would want to sacrifice the richness of XACML 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 parameters. Thanks, Ray     -- David Brossard, M.Eng, SCEA, CSTP Solutions Architect +46(0)760 25 85 75 Axiomatics AB Skeppsbron 40 S-111 30 Stockholm, Sweden http://www.linkedin.com/companies/536082 http://www.axiomatics.com http://twitter.com/axiomatics -- David Brossard, M.Eng, SCEA, CSTP Solutions Architect +46(0)760 25 85 75 Axiomatics AB Skeppsbron 40 S-111 30 Stockholm, Sweden http://www.linkedin.com/companies/536082 http://www.axiomatics.com http://twitter.com/axiomatics


  • 23.  Re: [xacml] Re: Towards the creation of XACML PEPs (WAS Re: [xacml]PDP REST Interface - proposal)

    Posted 06-07-2011 01:46
    Hi David, I do not understand your work items: (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)? What does it mean to: (a) not respect the XACML request form ? (b) not respect the richness of a XACML decision ? I am not aware of any problems with either the XACML request or the 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. Since we 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 that it could be JSON, for example, is this still not good enough to meet some objective? If that is the case, what is the target objective?     Thanks,     Rich On 6/6/2011 3:40 PM, David Brossard wrote: BANLkTikUhJa7yk8V9GPOjZfhVF1-S=CHKg@mail.gmail.com type= cite >Hi all, Apologies for missing last week's call. I was travelling back from the US. 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  the management (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 MISHRA < prateek.mishra@oracle.com > wrote: David, Anil - I would like to bring your attention to the OpenAz project which focuses on the creation of XACML PEP's. Currently, the project includes Java and C++ bindings and we would welcome other bindings to languages such as Ruby and Python. Rich Levinson and Hal Lockhart have previously published materials  to this TC describing the APIs and other essential pragmatic materials (attribute manifest) needed to easily create XACML PEPs in a variety of contexts. IMHO, creating yet another protocol for PEP <--> PDP interaction is helpful but not very important step in making XACML-style PEP available in a variety of contexts. The PEP <--> PDP interaction usually requires efficiency and is implemented in a variety of different proprietary ways. There is nothing in the XACML specification 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 that creating a flexible model for embedding PEPs  and obtaining attributes in a variety of contexts to be much more important. Some of the issues encounter include: + Training of architects and developers so that they understand the XACML PEP interaction model. + How can PEPs be added to specific points in applications, middleware, gateways and devices? + How can we efficiently and securely transfer identity attributes from native run-time system (e.g., Java principals) to the authorization system? + How can we expose business objects to the authorization system? + How can we communicate information about attributes required in policies to other repositories, including the application at run-time? Thanks, prateek OpenAz project link - http://www.openliberty.org/wiki/index.php/Main_Page#OpenAz Regardless of communication / transport protocol and interface definition, should we assume that what is being carried is always the XACML request as defined in the XACML specification? If so, it 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 behind this conversation, we should make that interface as easy and simple as can be (in addition to standard) to further facilitate XACML adoption and help developers quickly develop PEPs to consume XACML authorizations. So do we agree we should define a WSDL 2.0 interface? How widely adopted is WSDL 2.0 vs. WSDL 1.1? Cheers, David. On Tue, May 24, 2011 at 5:12 PM, Anil Saldhana < Anil.Saldhana@redhat.com > wrote: Hi David,   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 over http architecture) and plain xml over http are all possibilities. 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 jacml. ;) 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 access control constructs. My thoughts only. Regards, Anil On 05/24/2011 04:20 PM, David Brossard wrote: Dear all, 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 (transport / communication) and not just the XACML request/response. (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 GET parameters? 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. Cheers, David. On Tue, May 24, 2011 at 7:48 AM, Anil Saldhana < Anil.Saldhana@redhat.com > wrote: Craig,   if you want to take the wsdl standardization task, I will support you. Regards, Anil On 05/20/2011 04:55 PM, Craig R Forster wrote: Hi all, I agree that calling such an API a REST API is a misnomer. >> So what is of interest is merely the HTTP protocol indeed and binding the XACML request / response to GET or POST verbs along with a potential mapping into simple HTTP request 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 SOAP. SOAP has better tooling, and only adds two elements as a wrapper in it's minimal form ( <soap:Envelope> and <soap:Body>). For there to be any benefit I think the payload would have to be JSON, in which case we'd have to define a canonical way to represent XACML requests 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 define 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 canonical WSDL for an XACML PDP web service. The TC has been reluctant to do this in 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. Regards, Craig David Brossard ---05/20/2011 10:27:11 AM---Hi, That's true... This might be more about exposing the PDP with the lowest From: David Brossard <david.brossard@axiomatics.com> To: remon.sinnema@emc.com Cc: xacml@lists.oasis-open.org Date: 05/20/2011 10:27 AM Subject: Re: [xacml] PDP REST Interface - proposal Hi, That's true... This might be more about exposing the PDP with the lowest possible barrier to entry - making an authorization request as simple as can be. Since the PDP is stateless by design, a pure REST approach is therefore a mismatch since REST is aimed at providing support for stateful web services. So what is of interest is merely the HTTP protocol indeed and binding the XACML request / response to GET or POST verbs along with a potential mapping into simple HTTP request parameters or a JSON payload. Cheers, David. On Fri, May 20, 2011 at 5:04 PM, < remon.sinnema@emc.com > wrote: David, From: David Brossard [mailto: david.brossard@axiomatics.com ] Sent: Friday, May 20, 2011 4:20 PM To: xacml Subject: [xacml] PDP REST Interface - proposal >> Following the call yesterday, I would like to kick start some discussions around the possibility around designing a standard REST interface for a PDP. The idea would be to have a PEP-PDP interaction using REST. << I don't see any resources in your proposal. So I guess you're just talking about an HTTP interface, not REST. >> 2 possible methods: GET and POST * GET 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 the decision string e.g. Permit ? an HTTP status code?) o Pros: extremely easy to consume o Cons: the request sent / response received are not valid XACML requests / responses. * This means a layer on the PDP side (in the REST wrapping) needs to map from a HTTP GET parameter to a XACML attribute * In addition, if the response is merely a status code or a String, it breaks the XACML standard in the sense that obligations / advice would be lost << I guess you could model Decisions as HTTP status codes: Permit - 200 OK Deny - 403 Forbidden NotApplicable - 404 Not Found Indeterminate - 500 Internal Server Error 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 don't use the XML format of the spec internally, so there has to be some sort of mapping anyway. This new mapping seems like a fairly easy addition. >> * 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 XACML standard o Cons: what is the benefit other than performance? It doesn't make adoption easier << Since an authorization request is idempotent, I would propose PUT instead. >> * POST using JSON o Input: the JSON representation of a XACML request o Output: the JSON representation of a XACML response o Pros: all the richness of XACML. The format is JSON which developers seems to prefer. o Cons: perhaps a bit too cumbersome. << 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 consume by a JavaScript client. >> What are your thoughts? << Sounds interesting. Do you have any (potential) customers that expressed interest in this? What are the use cases you are trying to solve with this proposal that you can't with the current spec? >> Do you think any standardization effort / profile definition effort should be driven by a developer community willing to use authorization and which would want to sacrifice the richness of XACML 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 parameters. Thanks, Ray     -- David Brossard, M.Eng, SCEA, CSTP Solutions Architect +46(0)760 25 85 75 Axiomatics AB Skeppsbron 40 S-111 30 Stockholm, Sweden http://www.linkedin.com/companies/536082 http://www.axiomatics.com http://twitter.com/axiomatics -- David Brossard, M.Eng, SCEA, CSTP Solutions Architect +46(0)760 25 85 75 Axiomatics AB Skeppsbron 40 S-111 30 Stockholm, Sweden http://www.linkedin.com/companies/536082 http://www.axiomatics.com http://twitter.com/axiomatics


  • 24.  RE: [xacml] PDP REST Interface - proposal

    Posted 05-25-2011 07:51
    Anil/TC, From: Anil Saldhana [ mailto:Anil.Saldhana@redhat.com ] Sent: Wednesday, May 25, 2011 12:12 AM To: David Brossard Cc: xacml@lists.oasis-open.org Subject: Re: [xacml] PDP REST Interface - proposal >> 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 jacml. ;) << The X in XACML stands for eXtensible, not for XML. The spec makes it clear that an implementation is not required to use XML at all. For instance, Section 3.2 states that "The PDP is not required to operate directly on the XACML representation of a policy. It may operate directly on an alternative representation". Having said that, Section 2 mentions that "XML is a natural choice as the basis for the common security-policy language, due to the ease with which its syntax and semantics can be extended to accommodate the unique requirements of this application, and the widespread support that it enjoys from all the main platform and tool vendors." So I don't think there is anything that prevents us to look at alternatives to XML. JSON makes a lot of sense for a web client perspective, and it shouldn't be too hard to define a XML -> JSON mapping for the XACML requests and responses. Thanks, Ray


  • 25.  Re: [xacml] PDP REST Interface - proposal

    Posted 05-25-2011 16:50
    Hi Ray, XML -> Extensible Markup Language XACML -> Extensible Access Control Markup Language. I think json libraries have mechanisms to translate to xml and vice versa. If that is the case, then it may be faster to come up with json bindings. Regards, Anil On 05/25/2011 02:48 AM, remon.sinnema@emc.com wrote: > Anil/TC, > > > From: Anil Saldhana [ mailto:Anil.Saldhana@redhat.com ] > Sent: Wednesday, May 25, 2011 12:12 AM > To: David Brossard > Cc: xacml@lists.oasis-open.org > Subject: Re: [xacml] PDP REST Interface - proposal > >>> 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 jacml. ;)<< > The X in XACML stands for eXtensible, not for XML. The spec makes it clear that an implementation is not required to use XML at all. For instance, Section 3.2 states that > "The PDP is not required to operate directly on the XACML representation of a policy. It may operate directly on an alternative representation". > > Having said that, Section 2 mentions that > "XML is a natural choice as the basis for the common security-policy language, due to the ease with which its syntax and semantics can be extended to accommodate the unique requirements of this application, and the widespread support that it enjoys from all the main platform and tool vendors." > > So I don't think there is anything that prevents us to look at alternatives to XML. JSON makes a lot of sense for a web client perspective, and it shouldn't be too hard to define a XML -> JSON mapping for the XACML requests and responses. > > Thanks, > Ray >


  • 26.  RE: [xacml] PDP REST Interface - proposal

    Posted 05-26-2011 15:58
    I think we should first decide if we want to do a naked http protocol for decision requests. It seems to me that this is the target to aim for as the existing decision request protocol is the most widely implemented part of XACML and it is needed by every PEP, of which are there will always be many more than PDPs, PAPs, etc. Assuming this is accepted as a goal, I suggest one principle. The protocol should support most or all of the functionality of the existing protocol. At least it should allow the transmission of all the flavors of attributes and categories and the return of obligations and advice. If we want to limit the functionality, we could omit things like multiple requests and signed responses. I am happy with making the most common type of request, access subject only, plus resource and action as easy as possible. But I don't want to create a situation that if you want more power than say ACLs give, you have to use a totally different approach (e.g.. the SAML/SOAP) one. This will have the result of promoting the use of non-XACML policy models, since the power will in practice not be accessible anyway. In summary, my corollary to Bill Joys old maxim is: Easy stuff should be easy, hard stuff should be possible, and only more difficult in proportion to its complexity. Hal >


  • 27.  Re: [xacml] PDP REST Interface - proposal

    Posted 05-25-2011 03:58
    On May 24, 2011, at 2:20 PM, David Brossard wrote: > Is there a common place where we could gather requirements and ideas or is this email thread the way to go forward? I suggest here: http://wiki.oasis-open.org/xacml b