RBAC: Role Based Access Control
Service Layer authorization model is based on role based access control. Roles and Policies will be defined for each service and that will determine the access privilege a user or a group of users would have in the system. RBAC is made of four elements:
- Roles - Bring Users, Groups, Policies together. Roles define what users can do with a resource.
- Users - Principal that is requesting access to a resource.
- Policies - List of rules that defines access to a resource.
- Resources - Things you want to grant access to.
Role Definition for Service Layer
The roles defined for Service Layer will be per service rather than per resource. Roles by service means that each service will define roles required to access that particular service. For instance, a Policy Service will define roles that will be used by Segments and Roles with-in that policy. The roles are not defined by resources or entities. Since segments and policy roles can not be accessed outside the context of a policy.
| Role Name | Role Description | Role Privilege | Role Association |
|---|---|---|---|
| SL_ADMIN | Service Layer Administrator | Permit All | All Services |
| POLICY_READ | Policy Read Access | GET | Policy, Segment, Role |
| POLICY_WRITE | Policy Write Access | PUT, POST | Policy, Segment, Role |
| POLICY_DELETE | Policy Delete Access | DELETE | Policy, Segment, Role |
| CLIENT_READ | Client Read Access | GET | Client, Address, Phone |
| CLIENT_WRITE | Client Write Access | PUT, POST | Client, Address, Phone |
| CLIENT_DELETE | Client Delete Access | DELETE | Client, Address, Phone |