The Access Control Model
Guards control access to valued resources.
Access Control
DAC - Drawbacks
Does not provide real assurance on the flow of information in a system.
Does not impose any restriction on the usage of information by a User once the User has received it.
Objects are under control of users and can e.g. be passed on to other Users.
Information can be copied from one Object to another, so access to a copy is possible even if the owner of the original does not provide access to it.
Principals and Objects
Principal: an entity making a request
Object: an item to which access is requested.
ACLs
Access control
Access Control Matrices can, for instance, be implemented using Access Control Lists (ACLs) :
allow read,write: Alice,Jim
allow read: John,Jim,Bob
deny read: Eric
Capabilities
Another option instead of an ACL is a „Capability“:
Implementation variants for capabilities:
ACLs vs. Capabilities
Capabilities have benefits in performance
Delegation of rights to other principals :
ACLs vs. Capabilities 2
Revocation of rights:
Often hybrid approaches are used in real life :
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.
Privilege
Roles are engineered based on the principle of least privileged
A role contains the minimum amount of permissions to instantiatean 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.
Further refinements of role-based systems: