Working with XACML
XACML is an XML-based language for access control that has been standardized by the Technical Committee of the OASIS consortium. XACML is very popular as a fine grained authorization method among the community. Fine-grained authorization specifies the requirements and variables in an access control policy that is used to authorize access to a resource. However, there are plenty of other aspects of XACML other than it being just a fine grained authorization mechanism.
For more information about XACML, see Access Control and Entitlement Management.
We generally uses the HTTPS transport for calling the Web Service API that has been exposed by the PDP. With WSO2 Identity Server, we can also use Thrift protocal to communicate with PDP. It is said that thrift is more faster than the HTTP. Therefore we hope that we can get more performance and less response time by using thrift protocol with WSO2 Identity Server.
Using thrift in XACML calls
In order to use thrift in XACML calls, you must first enable the thrift service in the <IS_HOME>/repository/conf/identity/identity.xml
file. Set this to true
.
<Server xmlns="http://wso2.org/projects/carbon/carbon.xml"> ... <EntitlementSettings> ... <ThirftBasedEntitlementConfig> <EnableThriftService>true</EnableThriftService> ... </ThirftBasedEntitlementConfig> </EntitlementSettings> </Server>
The following topics provide information and instructions on how to use XACML to perform various access control related functions.
- Configuring WSO2 EI Entitlement Mediator with Identity Server
- Enabling REST Notifications For XACML Policy Updates
- Identity Server as an XACML Engine
- Working with XACML Multiple Decision Profile Requests
- Fine-grained Authorization using XACML Requests in JSON Format
- Improving XACML PDP Performance with Caching Techniques
- Integrating WSO2 Identity Server with Liferay
- Writing XACML2.0 Policies in WSO2 Identity Server
- Writing XACML3 Policies in WSO2 Identity Server
- Sending Notifications to External PEP Endpoints
- Writing an XACML 3.0 Policy Using XPath