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, object, environment attributes etc.). This model supports Boolean logic, in which rules contain "IF, THEN" statements about who is making the request, the resource, and the action. For example: IF the requestor is a manager, THEN allow read/write access to sensitive data.[1]
Unlike Role-Based Access Control (RBAC), which employs pre-defined roles that carry a specific set of privileges associated with them and to which subjects are assigned, the key difference with ABAC is the concept of policies that express a complex Boolean rule set that can evaluate many different attributes.[2] Attribute values can be set-valued or atomic-valued. Set-valued attributes contain more than one atomic value. Examples are role and project. Atomic-valued attributes contain only one atomic value. Examples are clearance and sensitivity. Attributes can be compared to static values or to one another, thus enabling relation-based access control.
Although the concept itself existed for many years, ABAC is considered[3] "next generation" authorization model because it provides dynamic, context-aware and risk-intelligent access control to resources allowing access control policies that include specific attributes from many different information systems to be defined to resolve an authorization and achieve an efficient regulatory compliance, allowing enterprises flexibility in their implementations based on their existing infrastructures.
Attributes-Based Access Control is sometimes referred to as Policy Based Access Control (PBAC) or Claims Based Access Control (CBAC),[4] which is a Microsoft specific term. [5]
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. XACML defines an architecture, a policy language, and a request / response scheme. It does not handle attribute management (user attribute assignment, object attribute assignment, environment attribute assignment) which is left to traditional IAM tools, datatabases, and directories.
Applications
API & Micro Services Security
Application Security
Database Security
Big Data Security
See also
References
- ^ "ABAC (Attribute Based Access Control), jerichosystems.com". Retrieved 2016-07-11.
- ^ "SP 800-162, Guide to Attribute Based Access Control (ABAC) Definition and Considerations" (PDF). NIST. 2014. Retrieved 2015-12-08.
- ^ "Attribute Based Access Control (ABAC), axiomatics.com". Retrieved 2016-07-05.
- ^ RBAC first – ABAC next, or what?, 2015, Horst Walther, GenericIAM Blog. Retrieved on 2016-08-30.
- ^ Karp, Alan, Harry Haury, and Michael Davis. "From ABAC to ZBAC: the evolution of access control models." International Conference on Information Warfare and Security. Academic Conferences International Limited, 2010. Retrieved on 2016-08-30.
External links
- What is attribute-based access control?
- ATTRIBUTE BASED ACCESS CONTROL (ABAC) - OVERVIEW
- Unified Attribute Based Access Control Model (ABAC) covering DAC, MAC and RBAC
- Attribute Based Access Control Models (ABAC) and Implementation in Cloud Infrastructure as a Service
- ABAC not RBAC: Welcome to the (IoT) World of Contextual Security, 2015, Lori MacVittie