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
- 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
References
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
<templatestyles src="Asbox/styles.css"></templatestyles>