XACML based Authorization

This section explains the authentication based on Extensible Access Control Markup Language (XACML), which is an open standard XML-based language designed to configure security policies and access rights to information for web services.

It supports

  • Attributes based access control definitions
  • Composing of policies by re-using those low-level definitions

XACML policy model is shown below.

Where,

  • Target is set of simplified conditions for the subject, resource and action that must be met for a policy set, policy or rule to apply to a given request
  • Obligation is a directive from the Policy Decision Point (PDP) to the Policy Enforcement Point (PEP) on what must be carried out before or after access is approved.

Policy Authoring

Temenos Microservices adopted XACML implementation to allow you to define authorization policies for intended microservices. Policy Editor (Design time) is used to author XAML policies for microservices and can be deployed on the policy store.

Policy Authoring is carried out using Policy Editor and final reviewed policies are uploaded into a centralized policy store.

XACML – Policy Attributes

From Microservices perspectives, the following are the attributes used to the author authorization policy.

S.No

XACML Attribute Type

  Information Data available for policy enforcement

1

RESOURCE

The resource element is a data, service or system component

Data parameters available in HTTP Request Headers &  Payload and

“Data Entity”. Example “Balance”, “Transaction”

2

SUBJECT

A subject element is an entity requesting access.

User attributes available in HTTP Header.

3

ACTION

Action id of the API

4

ENVIRONMENT

Environmental parameters existing in the Business Function context.

AWS – Lambda, AZURE – Function, Docker – Web container Context (Tomcat)

Authorisation

Policy Decision Policy (PDP) engine provides infrastructure to evaluate applicable policy and returns an authorization decision to the application to enforce the decision at right enforcement point.

Out of existing options in the market, AuthzForce (OW2 https://www.ow2.org/) is identified as PDP engine for out of the box support. An adapter gets developed for AuthzForce and used for implementing policies in microservices.

Apart from the adaptor, the below component’s generic implementations are provided as a part of common library:

  • Information Point
  • Decision Point & Obligations

Policy Enforcement

Microservice Framework supports XACML-based authorization enforcement in all microservices.  By designing the policies in individual microservices, you can restrict the access to a resource managed through microservice APIs.

To execute the XACML policies defined, the resource attribute values should be available as a part of information point in microservices. In many scenarios, these attribute values may not be available as part of respective.

The Holding Microservices have XACML Policy supported along with obligations apply restrictions on the accounts, which current query operations Holding Service support.

Samples

This section provides you the policy configuration for applying filters on the accounts.

If your role is either retailuser or relationshipmgr, then you can execute getBalancesForEntitledAccounts API function and only have access to one of the accounts provided in "allowed accounts" list.

Policy gets applied only for request wose operation ID is getBalancesForEntitledAccounts.
Policy validates whether user belongs to one of the role defined (that is, retailuser or relationshipmgr)
The policy applies "filter" condition through obligations configured, which restricts the balanced database query to return only for the accounts listed in "allowed accounts" header parameter.

Bookmark Name Actions
Feedback
x