XACML is dead. Or so writes Forrester’s Andras Cser.
Before I take a critical look at the reasons underlying this claim, let me disclose that I’m a member of the OASIS committee that defines the XACML specification. So I may be a little biased.
Lack of broad adoption
The first reason for claiming XACML dead is the lack of adoption. Being a techie, I don’t see a lot of customers, so I have to assume Forrester knows better than me.
At last year’s XACML Seminar in the Netherlands, there were indeed not many people who actually used XACML, but the room was filled with people who were at least interested enough to pay to hear about practical experiences with XACML.
I also know that XACML is in use at large enterprises like Bank of America, Bell Helicopter, and Boeing, to name just some Bs. And the supplier side is certainly not the problem.
So there is some adoption, buI grant that it’s not broad.
Inability to serve the federated, extended enterprise
XACML was designed to meet the authorization needs of the monolithic enterprise where all users are managed centrally in AD.
I don’t understand this statement at all, as there is nothing in the XACML spec that depends on centrally managed users.
Especially in combination with SAML, XACML can handle federated scenarios perfectly fine.
In my current project, we’re using XACML in a multi-tenant environment where each tenant uses their own identity provider. No problem.
PDP does a lot of complex things that it does not inform the PEP about
The PDP is apparently supposed to tell the PEP why access is denied. I don’t get that: I’ve never seen an application that greyed out a button and included the text “You need the admin role to perform this operation”.
Maybe this is about testing access control policies. Or maybe I just don’t understand the problem. I’d love to learn more about this.
Not suitable for cloud and distributed deployment
I guess what they mean is that fine-grained access control doesn’t work well in high latency environments. If so, sure.
XACML doesn’t prescribe how fine-grained your policies have to be, however, so I can’t see how this could be XACML’s fault. That’s like blaming my keyboard for allowing me to type more characters than fit in a tweet.
Actually, I’d say that XACML works very well in the cloud. And with the recently approved REST profile and the upcoming JSON profile, XACML will be even better suited for cloud solutions.
Commercial support is non-existent
This is lack of adoption again.
BTW, absolute claims like “there is no software library with PEP support” turn you into an easy target. All it takes is one counter example to prove you wrong.
Refactoring and rebuilding existing in-house applications is not an option
This, I think, is the main reason for slow adoption: legacy applications create inertia. We see the same thing with SSO. Even today, there are EMC internal applications that require me to maintain separate credentials.
The problem is worse for authorization. Authentication is a one-time thing at the start of a session, but authorization happens all the time. There are simply more places in an application that require modification.
There may be some light at the end of the tunnel, however.
History shows that inertia can be overcome by a large enough force.
That force might be the changing threat landscape. We’ll see.
OAuth supports the mobile application endpoint in a lightweight manner
OAuth does well in the mobile space. One reason is that mobile apps usually provide focused functionality that doesn’t require fine-grained access control decisions. It remains to be seen whether that continues to be true as mobile apps get more advanced.
Of course, if all your access control needs can be implemented with one yes/no question, then using XACML is overkill. That doesn’t, however, mean there is no place for XACML is the many, many places where life is not that simple.
What do you think?
All in all, I’m certainly not convinced by Forrester’s claim that XACML is dead. Are you? If XACML were buried, what would you use instead?
Update: Others have joined in the discussion and confirmed that XACML is not dead:
- Gary from XACML vendor Axiomatics
- Danny from XACML vendor Dell
- Anil from open source XACML implementation JBoss PicketBox
- Ian from analyst Gartner
Update 2: More people joined the discussion. One is confused, one is confusing, and Forrester’s Eva Mahler (of SGML and UMA fame) backs her colleague.
Update 3: Another analyst joins the discussion: KuppingerCole doesn’t think XACML is dead either.
Update 4: CA keeps supporting XACML in their SiteMinder product.
4 thoughts on “Is XACML Dead?”
I’ve realised that it’s dead shortly after I’ve inmplemented XACMLight 5 yers ago. The major reason is that policy language lacks flexibility and dynamics needed in real world’s authentication and authorization engines. It also adds a lot of complexity and requires a lot of “plumbing” before it can be practically used.