role based access control role based access control
play

Role-based access control Role-based access control 1 RBAC: - PowerPoint PPT Presentation

Role-based access control Role-based access control 1 RBAC: Motivations Complexity of security administration p y y For large number of subjects and objects, the number of authorizations can become extremely large For dynamic


  1. Role-based access control Role-based access control 1

  2. RBAC: Motivations • Complexity of security administration p y y – For large number of subjects and objects, the number of authorizations can become extremely large – For dynamic user population, the number of grant and revoke y p p g operations to be performed can become very difficult to manage Alice Ali B b Bob Carl C l D Dave E Eva Users: DB2 WebSphere p Windows Linux Permissions: Permissions: Account Account Account Account 2

  3. RBAC: Motivations • Organizations operate based on roles – Roles add a useful level of abstraction • RBAC assigns permissions to roles in the organization, rather than directly to users • With roles, there are fewer relationships to manage With roles there are fewer relationships to manage – possibly from O(mn) to O(m+n), where m is the number of users and n is the number of permissions Alice Bob Carl Dave Eva Users: DB Admin Web Admin Software Developer Roles: DB2 DB2 WebSphere WebSphere Windows Windows Linux Linux Permissions: Account Account Account Account 3

  4. RBAC: Motivations RBAC: Motivations • Roles is more stable – Users can be easily reassigned from one role to another. Users can be easily reassigned from one role to another – Roles can be granted new permissions as new applications and systems are incorporated, and permissions can be revoked from roles as needed – Permissions assigned to roles tend to change relatively slowly • Let administrators confer and revoke user membership in existing roles without authorizing membership in existing roles without authorizing them to create new roles or change role- permission – Assigning users to roles requires less technical skill than Assigning users to roles requires less technical skill than assigning permissions to roles. 4

  5. Groups vs Roles Groups vs. Roles • Some differences – Sets of users vs. sets of users as well as permissions – Roles can be activated and deactivated, groups cannot • Groups can be used to prevent access with negative Groups can be used to prevent access with negative authorization. • Roles can be deactivated for least privilege – Can easily enumerate permissions that a role has, but not for Can easily enumerate permissions that a role has, but not for groups • Roles are associated with a function, groups not necessarily – Roles form a hierarchy, groups don’t 5

  6. Role-Based Access Control - RBAC • Simplify authorization management – Subject-role-object (role-object is persistent) rather than subject- object – Roles are created for various job functions – Users are assigned roles based on responsibility • Express organizational policies – Separation of duties (SoD) • Define conflicting roles that cannot be executed by the same user – Delegation of authority • Supports pp – Least-privilege – SoD – Data abstraction Data abstraction 6

  7. RBAC – Basic Concepts RBAC Basic Concepts • User – a human being, a machine, a process, or an intelligent autonomous agent, etc. g g , • Permission: Approval of particular mode of access to an object – Access modes and objects are domain dependent j p • OS objects: Files, directories, devices, ports; Access: Read, Write, Execute • DB objects: Relation, tuple, attribute, views; Access: Insert, Delete, Update • Role – job function within the context of an organization with an associated semantics regarding its authority and with an associated semantics regarding its authority and responsibility – mediator between collection of users and collection of permissions pe ss o s • Permission assignment (PA): role-permission • User assignment (UA): user-role • Session: Dynamically activate subset of roles that user is • Session: Dynamically activate subset of roles that user is a member of 7

  8. RBAC Models RBAC Models R.S. Sandhu, E.J. Coyne, H.L. Feinstein, and C.E. Youman. Role-based Access Control Models. 8 IEEE Computer , 29(2):38--47, February 1996

  9. RBAC RBAC RBAC 3 consolidated model RBAC 1 RBAC 2 2 role hierarchy constraints RBAC 0 base model 9

  10. RBAC 0 RBAC 0 U UA User PA Permission R P Users Users assignment assignment assignment assignment Roles Roles P Permissions i i . . S . Sessions Sessions Permissions are sets of (action, object) pairs, e.g., (read, Table1), (write, Table2), etc. 10

  11. RBAC 0 RBAC 0 • UA: user assignments g – Many-to-many • PA: Permission assignment – Many-to-many mapping • Session: mapping of a user to possibly many roles roles – Multiple roles can be activated simultaneously – Permissions: union of permissions from all roles e ss o s u o o pe ss o s o a o es – Each session is associated with a single user – User may have multiple sessions at the same time 11

  12. RBAC 0 Components RBAC 0 Components • U sers, R oles, P ermissions, S essions U sers, R oles, P ermissions, S essions • PA  P x R (many-to-many) • UA  U x R (many-to-many) UA  U x R (many-to-many) • user: S  U, mapping each session s i to a single user user(s i ) single user user(s i ) • roles: S  2 R , mapping each session s i to a set of roles roles(s i )  {r | ( user(s i ), r)  UA} and s i o es o es(s i )  { | ( use (s i ), ) o U } a d s i has permissions  r  roles(si) {p | (p,r)  PA} 12

  13. RBAC 0 RBAC 0 • Permissions apply to data and resource objects Permissions apply to data and resource objects only – Do NOT apply to RBAC components • Administrative permissions: modify U,R,S,P • Session: under the control of user to – Activate any subset of permitted roles – Change roles within a session 13

  14. RBAC RBAC 1 – RBAC 0 + Role Hierarchy RBAC + Role Hierarchy Role Hierarchy Role Hierarchy U User Permission R P Users assignment assignment Roles Permissions . . S . Sessions 14

  15. RBAC 1 RBAC 1 • Role hierarchies for structuring roles to Role hierarchies for structuring roles to reflect an organization’s line of authority and responsibility p y • Inheritance of permission from junior role (bottom) to senior role (top) ( ) ( p) • Partial order – Reflexive – Transitive – Anti-symmetric 15

  16. RBAC C RBAC 1 Components t • Same as RBAC 0 : U sers, R oles, P ermissions, S essions, PA  P x R, UA  U x R, user: S  U, mapping each session s i to a single user user(s i ) i h i t i l ( ) • RH  R x R, partial order (  dominance) • roles: S  2 R , mapping each session s i to a set of  R roles roles(s i )  {r | (  r’  r) [(user(s i ),r’)  UA]} and s has permissions  and s i has permissions  r  roles(si) {p | (  r  r) {p | (  r”  r) [(p,r”)  PA]} 16

  17. RBAC 1 : Role Hierarchy RBAC 1 : Role Hierarchy Cardiologist Cardiologist Oncologist Oncologist Primary-care Specialist (Connector) Physician Inheritance of privileges privileges Physician Physician Health-care provider 17

  18. How to limit the scope of inheritance? p • E.g. do not let boss see incomplete work in E.g. do not let boss see incomplete work in progress? Project Supervisor Test Programmer Engineer Project Member 18

  19. RBAC 1 – Limit Scope of Inheritance p 1 Private Roles Test Project Programmer’ Engineer’ Supervisor Test Programmer Engineer Engineer Project M Member b 19

  20. Role Hierarchies with Private Roles Role Hierarchies with Private Roles S S S3 S3 T4 T3 T1 T1 T2 T2 P3 P 20

  21. Role Hierarchies with Private Roles Role Hierarchies with Private Roles S S S3’ T1’ S3 S3 T4’ T3’ T4 T3 T1 T1 T2 T2 P3 P3’ P3 P 21

  22. RBAC 2 RBAC 2 – RBAC 0 + Constraints RBAC 0 + Constraints U User Permission R P Users assignment assignment Roles Permissions . . S . Sessions Constraints 22

  23. RBAC 2 – RBAC 0 + Constraints RBAC 2 RBAC 0 + Constraints • Enforce high-level organizational policies g g p – Mutually disjoint roles: Separation of duties • UA: Same user cannot be both accounts manager and purchasing manager • Violation is caused only as a result of collusion – Dual constraint of permission assignment Dual constraint of permission assignment • PA: Permission to issue checks cannot be assigned to both accounts & purchasing managers ( limit distribution of powerful permissions ) – Cardinality: • A role can have maximum number of members • Maximum number of roles to each user • Any problem in enforcing minimum number? • Can also apply to PA – Others: Limit number of roles at runtime (per session) or based on Others: Limit number of roles at runtime (per session) or based on history or pre-requisite (e.g., user can only be assigned to the testing role if assigned to project role already; permission to read a file is assigned to a role if permission has been granted to read the directory) • Any problem if one user has multiple user ids? y p p 23

  24. RBAC – Static SoD Constraints RBAC Static SoD Constraints • SSoD places restrictions on the set of roles • SSoD places restrictions on the set of roles • No user is assigned to t or more roles in a set of m roles set of m roles • Prevents a person being authorized to use too many roles too many roles • These constraints can be enforced based on the users assigned to each role g 24

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend