role-based access control
DESCRIPTION
SSD. (RH) Role Hierarchy. (UA) User Assign- ment. (PA) Permission Assignment. USERS. ROLES. OPS. OBS. PRMS. user_sessions. session_roles. SESSIONS. DSD. Role-Based Access Control. Overview. Objective. Compatibility with organizational structures Easy administration - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Role-Based Access Control](https://reader030.vdocument.in/reader030/viewer/2022033022/56814afb550346895db80cdb/html5/thumbnails/1.jpg)
Morteza Amini; 2nd Semester 85-86; Database Security; Sharif Univ. of Tech.
Role-Based Access ControlOverview
user_sessions
(RH)Role Hierarchy
session_roles
(UA)User Assign-
ment
(PA)PermissionAssignment
USERS OBSOPS
SESSIONS
ROLES
PRMS
SSD
DSD
![Page 2: Role-Based Access Control](https://reader030.vdocument.in/reader030/viewer/2022033022/56814afb550346895db80cdb/html5/thumbnails/2.jpg)
Morteza Amini; 2nd Semester 85-86; Database Security; Sharif Univ. of Tech.
Objective
Compatibility with organizational structures
Easy administration Expressiveness: DAC or MAC Principle of least privilege Separation of Duty (SoD)
![Page 3: Role-Based Access Control](https://reader030.vdocument.in/reader030/viewer/2022033022/56814afb550346895db80cdb/html5/thumbnails/3.jpg)
Morteza Amini; 2nd Semester 85-86; Database Security; Sharif Univ. of Tech.
Access Controls Types
Discretionary Access Control Mandatory Access Control Role-Based Access Control
![Page 4: Role-Based Access Control](https://reader030.vdocument.in/reader030/viewer/2022033022/56814afb550346895db80cdb/html5/thumbnails/4.jpg)
Morteza Amini; 2nd Semester 85-86; Database Security; Sharif Univ. of Tech.
Discretionary AC
Name AccessTom YesJohn NoCindy Yes
ApplicationAccess List
Restricts access to objects based solely on the identity of users who are trying to access them.
Individuals Resources
Server 1
Server 3
Server 2Legacy Apps
![Page 5: Role-Based Access Control](https://reader030.vdocument.in/reader030/viewer/2022033022/56814afb550346895db80cdb/html5/thumbnails/5.jpg)
Morteza Amini; 2nd Semester 85-86; Database Security; Sharif Univ. of Tech.
Mandatory AC
MAC mechanisms assign a security level to all information, assign a security clearance to each user, and ensure that all users only have access to that data for which they have a clearance.
Principle: Read Down Access equal or less Clearance Write Up Access
equal or higher Clearance
![Page 6: Role-Based Access Control](https://reader030.vdocument.in/reader030/viewer/2022033022/56814afb550346895db80cdb/html5/thumbnails/6.jpg)
Morteza Amini; 2nd Semester 85-86; Database Security; Sharif Univ. of Tech.
Mandatory AC (cont)
Individuals Resources
Server 1“Top Secret”
Server 3“Classified”
Server 2“Secret”
SIPRNET
Legacy Apps
![Page 7: Role-Based Access Control](https://reader030.vdocument.in/reader030/viewer/2022033022/56814afb550346895db80cdb/html5/thumbnails/7.jpg)
Morteza Amini; 2nd Semester 85-86; Database Security; Sharif Univ. of Tech.
Role-Based AC
A user has access to an object based on the assigned role.
Roles are defined based on job functions.
Permissions are defined based on job authority and responsibilities within a job function.
Operations on an object are invocated based on the permissions.
The object is concerned with the user’s role and not the user.
“Ideally, the [RBAC] system is clearly defined and agile, making the addition of new applications, roles, and employees as efficient as possible”
![Page 8: Role-Based Access Control](https://reader030.vdocument.in/reader030/viewer/2022033022/56814afb550346895db80cdb/html5/thumbnails/8.jpg)
Morteza Amini; 2nd Semester 85-86; Database Security; Sharif Univ. of Tech.
Role-Based AC
Individuals Roles Resources
Role 1
Role 2
Role 3
Server 1
Server 3
Server 2
User’s change frequently, Roles don’t
![Page 9: Role-Based Access Control](https://reader030.vdocument.in/reader030/viewer/2022033022/56814afb550346895db80cdb/html5/thumbnails/9.jpg)
Morteza Amini; 2nd Semester 85-86; Database Security; Sharif Univ. of Tech.
Privilege
Roles are engineered based on the principle of least privileged .
A role contains the minimum amount of permissions to instantiate an object.
A user is assigned to a role that allows him or her to perform only what’s required for that role.
No single role is given more permission than the same role for another user.
![Page 10: Role-Based Access Control](https://reader030.vdocument.in/reader030/viewer/2022033022/56814afb550346895db80cdb/html5/thumbnails/10.jpg)
Morteza Amini; 2nd Semester 85-86; Database Security; Sharif Univ. of Tech.
Role-Based AC Framework Core Components Constraining Components
Hierarchical RBAC General Limited
Separation of Duty Relations Static Dynamic
![Page 11: Role-Based Access Control](https://reader030.vdocument.in/reader030/viewer/2022033022/56814afb550346895db80cdb/html5/thumbnails/11.jpg)
Morteza Amini; 2nd Semester 85-86; Database Security; Sharif Univ. of Tech.
Core Components
Defines: USERS ROLES OPERATIONS (ops) OBJECTS (obs) User Assignments (ua)
assigned_users
![Page 12: Role-Based Access Control](https://reader030.vdocument.in/reader030/viewer/2022033022/56814afb550346895db80cdb/html5/thumbnails/12.jpg)
Morteza Amini; 2nd Semester 85-86; Database Security; Sharif Univ. of Tech.
Core Components (cont)
Permissions (prms) Assigned Permissions Object Permissions Operation Permissions
Sessions User Sessions Available Session Permissions Session Roles
![Page 13: Role-Based Access Control](https://reader030.vdocument.in/reader030/viewer/2022033022/56814afb550346895db80cdb/html5/thumbnails/13.jpg)
Morteza Amini; 2nd Semester 85-86; Database Security; Sharif Univ. of Tech.
Constraint Components
Role Hierarchies (rh) General Limited
Separation of Duties Static Dynamic
![Page 14: Role-Based Access Control](https://reader030.vdocument.in/reader030/viewer/2022033022/56814afb550346895db80cdb/html5/thumbnails/14.jpg)
Morteza Amini; 2nd Semester 85-86; Database Security; Sharif Univ. of Tech.
RBAC Transition
Models Hierarchies Constraints
RBAC0 No No
RBAC1 Yes No
RBAC2 No Yes
RBAC3 Yes YesMost Complex
Least PrivilegedSeparation of
Duties
RBAC Model
Effort
RBAC3
![Page 15: Role-Based Access Control](https://reader030.vdocument.in/reader030/viewer/2022033022/56814afb550346895db80cdb/html5/thumbnails/15.jpg)
Morteza Amini; 2nd Semester 85-86; Database Security; Sharif Univ. of Tech.
RBAC System and Administrative Functional Specification Administrative Operations
Create, Delete, Maintain elements and relations
System Level Functions Creation of user sessions Role activation/deactivation Constraint enforcement Access Decision Calculation
![Page 16: Role-Based Access Control](https://reader030.vdocument.in/reader030/viewer/2022033022/56814afb550346895db80cdb/html5/thumbnails/16.jpg)
Morteza Amini; 2nd Semester 85-86; Database Security; Sharif Univ. of Tech.
Core RBAC
user_sessions session_roles
(UA)User Assign-
ment
(PA)PermissionAssignment
USERS OBSOPS
SESSIONS
ROLES
PRMS
![Page 17: Role-Based Access Control](https://reader030.vdocument.in/reader030/viewer/2022033022/56814afb550346895db80cdb/html5/thumbnails/17.jpg)
Morteza Amini; 2nd Semester 85-86; Database Security; Sharif Univ. of Tech.
USERS
Process
Process
Person
Intelligent Agent
![Page 18: Role-Based Access Control](https://reader030.vdocument.in/reader030/viewer/2022033022/56814afb550346895db80cdb/html5/thumbnails/18.jpg)
Morteza Amini; 2nd Semester 85-86; Database Security; Sharif Univ. of Tech.
ROLES
DeveloperBudgetManager
Help Desk Representative
An organizational job function with a clear definition of inherent responsibility and authority (permissions).
Director
![Page 19: Role-Based Access Control](https://reader030.vdocument.in/reader030/viewer/2022033022/56814afb550346895db80cdb/html5/thumbnails/19.jpg)
Morteza Amini; 2nd Semester 85-86; Database Security; Sharif Univ. of Tech.
OPS (operations)
An execution of an a program specific function that’s invocated by a user.
•Database – Update Insert Append Delete •Locks – Open Close•Reports – Create View Print•Applications - Read Write Execute
SQL
![Page 20: Role-Based Access Control](https://reader030.vdocument.in/reader030/viewer/2022033022/56814afb550346895db80cdb/html5/thumbnails/20.jpg)
Morteza Amini; 2nd Semester 85-86; Database Security; Sharif Univ. of Tech.
OBS (objects)An entity that contains or receives information, or has exhaustible system resources.
•OS Files or Directories•DB Columns, Rows, Tables, or Views•Printer•Disk Space•Lock Mechanisms
RBAC will deal with all the objects listed in the permissions assigned to roles.
![Page 21: Role-Based Access Control](https://reader030.vdocument.in/reader030/viewer/2022033022/56814afb550346895db80cdb/html5/thumbnails/21.jpg)
Morteza Amini; 2nd Semester 85-86; Database Security; Sharif Univ. of Tech.
UA (user assignment)
A user can be assigned to one or more roles
Developer
USERS set ROLES set
Help Desk Rep
A role can be assignedto one or more users
UA USERS ROLES
![Page 22: Role-Based Access Control](https://reader030.vdocument.in/reader030/viewer/2022033022/56814afb550346895db80cdb/html5/thumbnails/22.jpg)
Morteza Amini; 2nd Semester 85-86; Database Security; Sharif Univ. of Tech.
UA (user assignment)
SUSERSxROLEUA
usersROLESruserassigned 2):(:_
}),(|{)(_ UAruUSERSuruserassigned
}),(|{)(_ UAruUSERSuruserassigned
Mapping of role r onto a set of users
User.DB1•View•Update•Append
USERS setROLES set
User.DB1
User.DB1
permissions object
User.F1User.F2User.F3
![Page 23: Role-Based Access Control](https://reader030.vdocument.in/reader030/viewer/2022033022/56814afb550346895db80cdb/html5/thumbnails/23.jpg)
Morteza Amini; 2nd Semester 85-86; Database Security; Sharif Univ. of Tech.
PRMS (permissions)The set of permissions that each grant the approval to perform an operation on a protected object.
( )2 OPS OBSPRMS
User.DB1•View•Update•Append
permissions object
User.F1•Read•Write•Execute
permissions object
![Page 24: Role-Based Access Control](https://reader030.vdocument.in/reader030/viewer/2022033022/56814afb550346895db80cdb/html5/thumbnails/24.jpg)
Morteza Amini; 2nd Semester 85-86; Database Security; Sharif Univ. of Tech.
PA (prms assignment)
PA PRMS ROLES
A prms can be assigned to one or more roles
Admin.DB1
PRMS set ROLES set
A role can be assignedto one or more prms
User.DB1
ViewUpdateAppend
CreateDeleteDrop
![Page 25: Role-Based Access Control](https://reader030.vdocument.in/reader030/viewer/2022033022/56814afb550346895db80cdb/html5/thumbnails/25.jpg)
Morteza Amini; 2nd Semester 85-86; Database Security; Sharif Univ. of Tech.
PA (prms assignment)
PRMSROLESrspermissionassigned 2):(_
}),(|{)(_ PArpPRMSprspermissionassigned
SUSERSxROLEUA
PRMS setROLES set
User.F1User.F2User.F3Admin.DB1
Mapping of role r onto a set of permissions
•Read•Write•Execute
•View •Update•Append•Create•Drop
SQL
![Page 26: Role-Based Access Control](https://reader030.vdocument.in/reader030/viewer/2022033022/56814afb550346895db80cdb/html5/thumbnails/26.jpg)
Morteza Amini; 2nd Semester 85-86; Database Security; Sharif Univ. of Tech.
SESSIONSThe set of sessions that each user invokes.
USER
guest
user
admin
invokes SQL
DB1.table1
FIN1.report1
APP1.desktop
SESSION
![Page 27: Role-Based Access Control](https://reader030.vdocument.in/reader030/viewer/2022033022/56814afb550346895db80cdb/html5/thumbnails/27.jpg)
Morteza Amini; 2nd Semester 85-86; Database Security; Sharif Univ. of Tech.
SESSIONS
)),(_(|{)(_
2):(_
UArsuserssessionROLESrsrolessession
SESSIONSsrolessession
ii
ROLES
The mapping of user u onto a set of sessions.
USERS
guest
user
admin
invokes SQL
User2.DB1.table1.session
User2.FIN1.report1.session
User2.APP1.desktop.session
SESSION
USER2
USER1
SESSIONSUSERSusessionsuser 2):(_
![Page 28: Role-Based Access Control](https://reader030.vdocument.in/reader030/viewer/2022033022/56814afb550346895db80cdb/html5/thumbnails/28.jpg)
Morteza Amini; 2nd Semester 85-86; Database Security; Sharif Univ. of Tech.
SESSIONS
PRMSSESSIONSspersmsessionavail 2):(__
ROLESSESSIONSsrolessession 2):(_
_ ( ) { | _ ( ), }i isession roles s r ROLES session user s r UA
)),(_(|{)(_
2):(_
UArsuserssessionROLESrsrolessession
SESSIONSsrolessession
ii
ROLES
The mapping of session s onto a set of roles
SESSION ROLES
•Admin•User•Guest
SQL
DB1.table1.session
![Page 29: Role-Based Access Control](https://reader030.vdocument.in/reader030/viewer/2022033022/56814afb550346895db80cdb/html5/thumbnails/29.jpg)
Morteza Amini; 2nd Semester 85-86; Database Security; Sharif Univ. of Tech.
SESSIONS
_ _ ( : ) 2PRMSavail session perms s SESSIONS
_ ( )
_ ( )r session roles s
assigned permissions r
Permissions available to a user in a session.
DB1.ADMIN
•View •Update•Append•Create•Drop
SQL
DB1.table1.session
PRMSROLE SESSION
![Page 30: Role-Based Access Control](https://reader030.vdocument.in/reader030/viewer/2022033022/56814afb550346895db80cdb/html5/thumbnails/30.jpg)
Morteza Amini; 2nd Semester 85-86; Database Security; Sharif Univ. of Tech.
Hierarchal RBAC
user_sessions
(RH)Role Hierarchy
session_roles
(UA)User Assign-
ment
(PA)PermissionAssignment
USERS OBSOPS
SESSIONS
ROLES
PRMS
![Page 31: Role-Based Access Control](https://reader030.vdocument.in/reader030/viewer/2022033022/56814afb550346895db80cdb/html5/thumbnails/31.jpg)
Morteza Amini; 2nd Semester 85-86; Database Security; Sharif Univ. of Tech.
Tree Hierarchies
ProductionEngineer 1
Engineer 1
Quality Engineer 1
Engineering Dept
ProductionEngineer 2
Engineer 2
Quality Engineer 2
ProductionEngineer 1
Project Lead 1
Quality Engineer 1
Director
ProductionEngineer 2
Project Lead 2
Quality Engineer 2
![Page 32: Role-Based Access Control](https://reader030.vdocument.in/reader030/viewer/2022033022/56814afb550346895db80cdb/html5/thumbnails/32.jpg)
Morteza Amini; 2nd Semester 85-86; Database Security; Sharif Univ. of Tech.
Lattice Hierarchy
ProductionEngineer 1
Engineer 1
Quality Engineer 1
Engineering Dept
ProductionEngineer 2
Engineer 2
Quality Engineer 2
Project Lead 1
Director
Project Lead 2
![Page 33: Role-Based Access Control](https://reader030.vdocument.in/reader030/viewer/2022033022/56814afb550346895db80cdb/html5/thumbnails/33.jpg)
Morteza Amini; 2nd Semester 85-86; Database Security; Sharif Univ. of Tech.
RH (Role Hierarchies)
Natural means of structuring roles to reflect organizational lines of authority and responsibilities
General and Limited Define the inheritance relation among
roles
i.e. r1 inherits r2
Userr-w-h
Guest-r-
RH ROLES ROLES
![Page 34: Role-Based Access Control](https://reader030.vdocument.in/reader030/viewer/2022033022/56814afb550346895db80cdb/html5/thumbnails/34.jpg)
Morteza Amini; 2nd Semester 85-86; Database Security; Sharif Univ. of Tech.
General RH
)(_)(_^
)(_)(_
21
1221
rusersauthorizedrusersauthorized
rspermissionauthorizedrspermissionauthorizedrr
Userr-w-h
Guest-r-
Only if all permissions of r1 are also permissions of r2
Only if all users of r1 are also users of r2
i.e. r1 inherits r2
Guest Role Set
Power User Role Set
User Role Set
Admin Role Set
Support Multiple Inheritance
![Page 35: Role-Based Access Control](https://reader030.vdocument.in/reader030/viewer/2022033022/56814afb550346895db80cdb/html5/thumbnails/35.jpg)
Morteza Amini; 2nd Semester 85-86; Database Security; Sharif Univ. of Tech.
authorized users
_ ( ) { | ' ( , ') }authorized users r u USERS r r u r UA
Mapping of a role onto a set of users in the presence of a role hierarchy
}),(|{)(_ UAruUSERSuruserassigned
User.DB1•View•Update•Append
First Tier USERS setROLES set
User.DB1
User.DB1
permissions object
Admin.DB1User.DB2User.DB3
![Page 36: Role-Based Access Control](https://reader030.vdocument.in/reader030/viewer/2022033022/56814afb550346895db80cdb/html5/thumbnails/36.jpg)
Morteza Amini; 2nd Semester 85-86; Database Security; Sharif Univ. of Tech.
authorized permissions
_ ( ) { | ', ( , ')authorized permissions r p PRMS r r p r PA
Mapping of a role onto a set of permissions in the presence of a role hierarchy
PRMSROLESrspermissionauthorized 2):(_
SUSERSxROLEUA
PRMS setROLES set
User.DB1User.DB2User.DB3Admin.DB1
•View•Update•Append
•Create•Drop
SQL
![Page 37: Role-Based Access Control](https://reader030.vdocument.in/reader030/viewer/2022033022/56814afb550346895db80cdb/html5/thumbnails/37.jpg)
Morteza Amini; 2nd Semester 85-86; Database Security; Sharif Univ. of Tech.
Limited RH
1 2 1 2 1 2, , ,r r r ROLES r r r r r r
A restriction on the immediate descendants of the general role hierarchy
Role1
Role2
Role3Role2 inherits from Role1
Role3 does not inherit from Role1 or Role2
![Page 38: Role-Based Access Control](https://reader030.vdocument.in/reader030/viewer/2022033022/56814afb550346895db80cdb/html5/thumbnails/38.jpg)
Morteza Amini; 2nd Semester 85-86; Database Security; Sharif Univ. of Tech.
Limited RH (cont)
Tom
AcctRec
AcctRecSpv
Accounting
Tammy
Cashier
CashierSpv
Fred
Sally
Auditing
Joe Frank
Billing
BillingSpv
Curt Tuan
Accounting Role
Notice that Frank has two roles: Billing and Cashier
![Page 39: Role-Based Access Control](https://reader030.vdocument.in/reader030/viewer/2022033022/56814afb550346895db80cdb/html5/thumbnails/39.jpg)
Morteza Amini; 2nd Semester 85-86; Database Security; Sharif Univ. of Tech.
Constrained RBAC
user_sessions
(RH)Role Hierarchy
session_roles
(UA)User Assign-
ment
(PA)PermissionAssignment
USERS OBSOPS
SESSIONS
ROLES
PRMS
SSD
DSD
![Page 40: Role-Based Access Control](https://reader030.vdocument.in/reader030/viewer/2022033022/56814afb550346895db80cdb/html5/thumbnails/40.jpg)
Morteza Amini; 2nd Semester 85-86; Database Security; Sharif Univ. of Tech.
Separation of Duties
Enforces conflict of interest policies employed to prevent users from exceeding a reasonable level of authority for their position.
Ensures that failures of omission or commission within an organization can be caused only as a result of collusion among individuals.
Two Types: Static Separation of Duties (SSD) Dynamic Separation of Duties (DSD)
![Page 41: Role-Based Access Control](https://reader030.vdocument.in/reader030/viewer/2022033022/56814afb550346895db80cdb/html5/thumbnails/41.jpg)
Morteza Amini; 2nd Semester 85-86; Database Security; Sharif Univ. of Tech.
SSD (SMER)
(2 )ROLESSSD N
)(_|:|,),( rusersassignedntrstSSDnrs tr
SSD places restrictions on the set of roles and in particular on their ability to form UA relations.
No user is assigned to n or more roles from the same role set, where n or more roles conflict with each other.
A user may be in one role, but not in another—mutually exclusive.
Prevents a person from submitting and approving their own request.
1 2, ,..., ,i kssd r r r n
![Page 42: Role-Based Access Control](https://reader030.vdocument.in/reader030/viewer/2022033022/56814afb550346895db80cdb/html5/thumbnails/42.jpg)
Morteza Amini; 2nd Semester 85-86; Database Security; Sharif Univ. of Tech.
SSD in Presence of RH
A constraint on the authorized users of the roles that have an SSD relation.
Based on the authorized users rather than assigned users.
Ensures that inheritance does not undermine SSD policies.
Reduce the number of potential permissions that can be made available to a user by placing constraints on the users that can be assigned to a set of roles.
)(_|:|,),( rusersauthorizedntrstSSDnrstr
![Page 43: Role-Based Access Control](https://reader030.vdocument.in/reader030/viewer/2022033022/56814afb550346895db80cdb/html5/thumbnails/43.jpg)
Morteza Amini; 2nd Semester 85-86; Database Security; Sharif Univ. of Tech.
DSD (DMER) These constraints limit the number of
roles a user can activate in a single session
Examples of constraints: No user may activate t or more roles from
the roles set in each user session. If a user has used role r1 in a session,
he/she cannot use role r2 in the same session
Enforcement of these roles requires keeping the history of the user access to roles within a session
2 , , ( , ) 2 | | ,ROLESrs n N rs n DSD n rs n and
(2 )ROLES NDSD
nsubsetrolesrolesessionsubsetrolerssubsetroleDSDnrsNnsubsetrolersSESSIONSs ROLESROLES |_|)(__,_,),(,,2_,2,
![Page 44: Role-Based Access Control](https://reader030.vdocument.in/reader030/viewer/2022033022/56814afb550346895db80cdb/html5/thumbnails/44.jpg)
Morteza Amini; 2nd Semester 85-86; Database Security; Sharif Univ. of Tech.
Constraint RBAC
Preparecheck
Approve/Disapprove
check
Summarizedecisions
Issue/avoidcheck
Static SoD(SSD) Dynamic SOD
(DSD)
![Page 45: Role-Based Access Control](https://reader030.vdocument.in/reader030/viewer/2022033022/56814afb550346895db80cdb/html5/thumbnails/45.jpg)
Morteza Amini; 2nd Semester 85-86; Database Security; Sharif Univ. of Tech.
Other Types of Constraints
At least n users are required to have all k permissions.
( {p1,p2,…,pk}, n ) Enforcement
Static Enforcement Dynamic Enforcement
![Page 46: Role-Based Access Control](https://reader030.vdocument.in/reader030/viewer/2022033022/56814afb550346895db80cdb/html5/thumbnails/46.jpg)
Morteza Amini; 2nd Semester 85-86; Database Security; Sharif Univ. of Tech.
SoD Example
Purchase Process1) Order goods and record details of order
2) Receive invoice and check against order
3) Receive goods and check against invoice
4) Authorize payment against invoice
A set of SoD requirements: ssd: No user performs (1) and (3). At least 3 users to perform all 4 steps
![Page 47: Role-Based Access Control](https://reader030.vdocument.in/reader030/viewer/2022033022/56814afb550346895db80cdb/html5/thumbnails/47.jpg)
Morteza Amini; 2nd Semester 85-86; Database Security; Sharif Univ. of Tech.
QUESTIONS…COMMENTS??