Attribute-based access control

Attribute-based access control (ABAC) defines an access control paradigm whereby access rights are granted to users through the use of policies which combine attributes together. The policies can use any type of attributes (user attributes, resource attributes, environment attribute etc.).[1] Attribute values can be set-valued or atomic-valued. Set-valued attributes contain more than one atomic values. Examples are role, project. Atomic-valued attributes contains only one atomic value. Examples are clearance, sensitivity. Attributes can be compared to static values or to one another thus enabling relation-based access control.

Other models

Historically, access control models have included mandatory access control (MAC), discretionary access control (DAC), and more recently role-based access control (RBAC). These access control models are user-centric and do not take into account additional parameters such as resource information, relationship between the user (the requesting entity) and the resource, and dynamic information e.g. time of the day or user IP. ABAC tries to address this by defining access control based on attributes which describe the requesting entity (the user), the targeted object or resource, the desired action (view, edit, delete...), and environmental or contextual information. This is why access control is said to be attribute-based.

Implementations

One standard that implements attribute- and policy-based access control is XACML, the eXtensible Access Control Markup Language. However, XACML only focuses on authorization policy specification. It does not solve attribute management (user attribute assignment, object attribute assignment, environment attribute assignment).

External links

References


This article is issued from Wikipedia - version of the Tuesday, December 08, 2015. The text is available under the Creative Commons Attribution/Share Alike but additional terms may apply for the media files.