Title: Modeling Role Based Access Control in UML
1Modeling Role Based Access Control in UML
- Based on
- Towards A UML based approach to Role Engineering,
by P. Epstein and R. Sandhu - UML-Based representation of RBAC, by Eonsuk Shin
and Gail-Joon Ahn - RBAC Constraints Specification using OCL by
Gail-Joon Ahn and Eonsuk Shin
2A Brief Introduction to RBAC
- Permissions assigned to roles
- Users play roles, and then they are bestowed with
all permissions assigned to roles - Conflict exists between
- Roles
- Users
- Permissions
- Objective is to be able to play roles without
conflicts
3The RBAC Model
4RBAC Continued
- Users belong to groups
- Groups, roles and objects may belong to
hierarchies - Generally (but not always) senior roles have all
permissions assigned to junior roles - Permissions can be or -
- RCL2000 is a language designed for RBAC
specifications
5Towards A UML based approach to Role Engineering
6RBAC for Network Enterprises
- Two groups
- Application developers
- Local system administrator
- Application developer responsible for
- 1. Objects 2. Object Handles
- 2. Application Constraints 4. Application keys
- Local System Administrator responsible for
- 5. Enterprise keys 6. Key chains
- 7. Enterprise constraints
7Layers for Application Developer
- Objects Attributes methods
- Object handles Set of objects
- Application constraints pre-requisite for
granting access permissions - Application keys Associates a role with objects
- Application keys can be a leaf node of the
hierarchy or a non-leaf (considered abstract)
8Layers for System Administrator
- 5. Enterprise Keys
- Each application key is mapped to an
enterprise key or a key chain. - 6. Key Chains
- Sets of enterprise keys
- 7. Enterprise Constraints
- Enterprise key permits user to access methods
of the object, if application constraints are
satisfied
9Layers Continued
- A user can be assigned enterprise keys that are
part of different application key hierarchies - If a key inherits methods more than key, then in
worse case the key contains the same method with
different constraint - FNE Policy constraints are logically ored
10(No Transcript)
11Applying UML
12Layer 2 Object Handle
13Layer 3 Constraints
14Layer 4 Application Keys
15Layer 5 Enterprise Key
16Layer 6 Key Chains
17Layer 7 Enterprise Constraints
18Role Engineering of the 7 Layers
19UML-Based Representation of RBAC
- By
- Eonsuk Shin and Gail-Joon Ahn
20RBAC Model Again
21Details of the RBAC Model
- U set of users, R set of disjoint roles, P set of
disjoint permissions, S set of sessions - UA user-to-role mapping
- PA permission-to-role mapping
- RH role hierarchy
- User S -gt U gives user of session
- Role S -gt 2R gives roles of session
- Constraints about conflicts
22UML Static Model for RBAC
23Attributes of Entity Classes
24Use Cases in RBAC
25RBAC Constraints Specification using OCL
- By
- Gail-Joon Ahn and Eonsuk Shin
26Example Application constraints in OCL
- Context Company inv
- Self.employee-gtsizegt200
- Context Company inv
- Self.employee-gtselect(agegt50)-gtnotEmpty
27RBAC Constraints 1
- Separation of duty constraints
- context User inv
- let M Set accounts_mgr, purchase_mgr,
- in M-gtselectmself.role-gtintersction(m)-gt
- size-gt1)-gtisEmpty
28Prerequisite and Cardinality Constraints
- context User inv
- self.role-gtincludes(tester) implies
- self.role-gtincludes(project_team)
- context Role inv
- self.user-gtselect(uself.namechairman)
- -gtsize 1