13.6.3. Fine Grained Authorization Using XACML

13.6.3.1. About Fine Grained Authorization and XACML

Fine Grained Authorization caters to the changing requirements and multiple variables involved in the decision making process, which becomes the basis of providing authorization for accessing a module. Hence, the process of Fine Grained Authorization is complex in itself.
JBoss uses XACML as a medium to achieve Fine Grained Authorization. XACML provides standards based solution to the complex nature of achieving Fine Grained Authorization. XACML defines a policy language and an architecture for decision making. The XACML architecture includes a Policy Enforcement Point (PEP), which intercepts any requests in a normal program flow, then asks a Policy Decision Point (PDP) to make an access decision based on the policies associated with the PDP. The PDP evaluates the XACML request created by the PEP and runs through the policies to make one of the following access decisions:
  • PERMIT - The access is approved.
  • DENY - The access is denied.
  • INDETERMINATE - There is an error at the PDP.
  • NOTAPPLICABLE - There is some attribute missing in the request or there is no policy match.
The following are the features of the XACML:
  • Oasis XACML v2.0 library
  • JAXB v2.0 based object model
  • ExistDB Integration for storing/retrieving XACML Policies and Attributes