Google Site Search

Google
 

Tuesday, October 12, 2010

XACML Policy Editors - Domain driven or language driven

The Authorization process is extremely cumbersome and prone to errors. Typically it is rules based. Decisions based on combination of rules can lead to errors or holes. Because of errors, if the access check returns in a "denial", then the damage is minimal. Someone can verify why that particular access check got turned down.  On the contrary, if the errors lead to a successful unauthorized access, then you know the answer. :)

One of the challenges associated with configuring security is not contempt towards the field of security but the perception of complexity. Administrators/architects/developers are turned down by the number of possible combination associated in configuring ACLs/Rules.

In the Java EE world, web.xml acts as the bedrock of container driven security for web applications.  Long ago, I wrote an article on this that highlighted the permutations and combinations available to admins/devs. Ok, I am a big supporter of container based security because the opposite (custom security) is prone to errors and unmaintainable over the long run.

Coming back to configuring rules,  probably 10% of devs/architects/admins are fully versed in the XACML language and clearly understand the language. So for them a pure XACML policy editor makes sense.  The rest of the crowd just wants to configure their access control system using plain language as follows:
  • This web application can be accessed by an user in the group "employee".
  • This part of the web application is restricted to managers alone.
  • This part of the web application is accessible under normal business hours.
Now the domain based editor for the web applications needs to have UI elements that are simple to understand. The person configuring the system will be able to look at the requirements and check/select the appropriate boxes.

While I am not denying the usefulness of a full fledged XACML policy editor, I am seriously not in agreement that they are the norm. If XACML is to see ubiquitous adoption, there is a need for configurable domain based editors. The infrastructure for access control can be driven by XACML policies and evaluation, but the policy configuration has to be driven by simple domain based editors.

References to Read:

Friday, September 17, 2010

PicketLink 1.0.4.final Released

Official Wiki Page: http://community.jboss.org/wiki/PicketLink104final

New Stuff:
Documentation Update:

Tuesday, August 31, 2010

PicketBox XACML v2.0.5.final from JBoss released

It took some extra time (other priorities took precedence). In the end, it all worked out fine.

LGPL licensed free open source project, PicketBox has released the XACML component v2.0.5.final.   Please download it from PicketBox downloads.


Main Wiki Page


PicketBox XACML Dashboard Wiki Page


Main Features Added (compared to v2.0.4)


JIRA
PicketBox JIRA




JBoss Integration

PicketBox XACML is integrated into JBoss Application Server v5.0 and beyond.  Additionally, it is available as part of the JBoss Enterprise Application Platform (EAP) v5.0 and beyond and JBoss SOA Platform v5.0 and beyond.


Release Notes

** Bug
  •     * [SECURITY-452] - Don't use Xalan classes directly. Use Java API instead
  •     * [SECURITY-461] - AttributeFinder:findAttribute method can throw an NPE if any of the attribute finder modules return null
  •     * [SECURITY-462] - JBossRequestContext should throw IllegalArgumentException for null inputstream
  •     * [SECURITY-507] - JBossXACML: anyURI mismatch
  •     * [SECURITY-518] - JBossPDP should be serializable


** Feature Request
  •     * [SECURITY-454] - Database Attribute Locator
  •     * [SECURITY-463] - AttributeValue.getValue abstract method * [SECURITY-455] - LDAP based attribute locator
  •     * [SECURITY-456] - File based Attribute Locator
  •     * [SECURITY-492] - JBossPolicySetLocator should gracefully handle policies
  •     * [SECURITY-516] - Create a LDAP policy provider for JBoss XACML
  •     * [SECURITY-521] - Decision Cache for constant XACML Requests
  •     * [SECURITY-522] - XACML add hashcode and equals to RequestCtx, Attribute
  •     * [SECURITY-525] - XACML Attribute Locator should support comma separated list of attributeSupportedIds