340 likes | 732 Views
Modeling 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.
E N D
Modeling 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 UML Security 3
A 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 UML Security 3
The RBAC Model UML Security 3
RBAC 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 UML Security 3
Towards A UML based approach to Role Engineering P. Epstein and R. Sandhu UML Security 3
RBAC 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 UML Security 3
Layers 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) UML Security 3
Layers 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 UML Security 3
Layers 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” UML Security 3
Applying UML • Layer 1 • objects UML Security 3
Layer 2: Object Handle UML Security 3
Layer 3: Constraints UML Security 3
Layer 4: Application Keys UML Security 3
Layer 5: Enterprise Key UML Security 3
Layer 6: Key Chains UML Security 3
Layer 7: Enterprise Constraints UML Security 3
Role Engineering of the 7 Layers UML Security 3
UML-Based Representation of RBAC By Eonsuk Shin and Gail-Joon Ahn UML Security 3
RBAC Model Again UML Security 3
Details 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 -> U gives user of session • Role S -> 2**R gives roles of session • Constraints about conflicts UML Security 3
UML Static Model for RBAC UML Security 3
Attributes of Entity Classes UML Security 3
Use Cases in RBAC UML Security 3
RBAC Constraints Specification using OCL By Gail-Joon Ahn and Eonsuk Shin UML Security 3
Example Application constraints in OCL Context Company inv: Self.employee->size>200 Context Company inv: Self.employee->select(age>50)->notEmpty UML Security 3
RBAC Constraints 1 • Separation of duty constraints context User inv: let M : Set = {{accounts_mgr, purchase_mgr}, } in M->select{m|self.role->intersction(m)-> size->1)->isEmpty UML Security 3
Prerequisite and Cardinality Constraints • context User inv: self.role->includes(“tester”) implies self.role->includes(“project_team”) • context Role inv: self.user->select(u|self.name=“chairman”) ->size =1 UML Security 3