Week 7 - RBAC and ABAC Flashcards
RBAC
Role Based Access Control
RBAC model governs the access of a user to information through the roles to which the user is assigned
RBAC three primary entities
users, roles, permissions
Users are assigned roles, which have permissions consisting of operations and objects
Permissions consist of
Operations and objects
User-Role Relation
This type of relation is created due to assignment of users to roles
For example, usually a user is assigned only a single role while a role could be assigned to multiple users ….
Role-Permission Relation
This is the second primary relation in RBAC. Typically a role is assigned multiple permissions. Also a permission could be assigned to multiple roles. Hence theoretically, Role-Permission assignment relation is a many-to-many relation.
Permission in RBAC
one can see that that a permission entity itself is composed of a combination of operations on objects
Operate-CustomerAcct Permission
Oper-Object (Read, CustomerAcct)
Oper-Object (AddTrans, CustomerAcct)
Oper-Object (DeleteTrans, CustomerAcct)
Role Hierarchy
Roles can be organized as a hierarchy instead of a flat data.
By organizing the roles as a hierarchy, a role higher in the hierarchy can automatically inherit all permissions of the roles beneath it.
RBAC Model Relations
User-Role (, )
Role-Perm (, )
Inherited-Role (, )
RBAC Create Command
Create-User (Lee)
Create-Role (LoanOfficer)
Create-Permission (Operate-LoanAcct)
RBAC Add Role Command
Add-UserRole (Mike, Teller)
Drop-UserRole (Mike, Teller)
Would result in the following relation added to RBAC model
User-Role (Mike, Teller)
RBAC to add/drop role hierarchies
Add-InheritedRole (Customer-Rep, Teller)
Will result in
Inherited-Role (Customer-Rep, Teller)
RBAC add role permission
Add-RolePerm (Teller, Read-LoanAcct)
Drop-RolePerm(Customer-Rep, Operate-LoanAcct)
will result in
Role-Perm (Teller, Read-LoanAcct)
RBAC Advantages
Eliminates the need to assign permissions directly to the user
If a user’s job description or position changes, it is enough that the user is deleted from certain roles and assigned new roles that is appropriate to his/her new position.
If the permissions required for a given role changes, it is enough that permissions are added to or deleted from the corresponding role.
RBAC Disadvantages
In some instances, there may be too many roles defined to enable users to do some one-time or emergency operations with the result it results in a situation called role proliferation.
When there are too many roles, the administrators may not update the permission set properly with the result some users may have more permissions than what is needed to perform their role.
In some instances, when a user changes job, the role assignments may not be properly changed.
Attribute-based Access Control (ABAC)
In an ABAC model, as the name denotes, the access rights for a user or subject is based on the current values of attributes associated with subject, object and optionally environment as well.
ABAC model variables
there are logical expressions called rules built using the combination of attributes of a subject, object and environment.
The outcome of evaluating these logical expressions using the values of attributes current at the time decides whether the subject’s access request can be allowed or not.
ABAC Subject Attribute Examples
Assigned Identity (e.g., SSNO, Driver’s License number, Passport No)
Role (e.g., Accountant)
Age
Organization affiliation
Rank
Security Clearance etc
ABAC Object Attribute Examples
Based on the type of project (e.g., Capital Project, Maintenance Project)
Based on the type of application (e.g., Purchase-Order Application, Budgeting Application)
Security Classification (Top Secret, Secret etc)
Owning Department (e.g., Manufacturing, Marketing etc)
ABAC Environmental Attribute Examples
Time of the Day
Day of the Week
Threat Level
Network Segment (e.g., DMZ)
Components of a logical expression
Entity, Attribute, Value
Ex. Entity = Subject, Attribute = Role, Value = Teller
Distinguishing features of ABAC
The permissions are dynamic
The permissions have to be computed
Most widely deployed means of defining ABAC model
platform-neutral XML-based language called XACML.
XACML Specification primary sub-specifications
Structural and Syntax rules for encoding policies and rules – XACML Policy Language Structure
A functional architecture that presents the data flow for the entire authorization process.
XACML Policy Language Structure
An ABAC Model definition using XACML contains at the topmost level a definition of a single PolicySet.
A PolicySet in turn consists of one or more Policy elements.
A Policy element in turn consists of one or more Rules.