I have some doubts about RBAC which I cannot wrap my head around. So I would like to hear what you guys think.
Though I understand the concept of RBAC, I cannot figure out how to apply that to my specific use case:
I have a system that a company uses to audit its Franchises. So the components involved are:
- The actual audit document
- 2 different reports that are generated based on a single audit.
- 4 types of aggregate reports that are generated based on the results, including tables and graphs.
This is how I'm planning to set up the RBAC.
I know how to use RBAC to allow the admin to give access to different user groups to various reports in 2 and 3.
My dilemma comes from point #1.
Suppose I create a role called Auditor and allow them access to perform audits, it wont do much, as each auditor has to be assigned to a Franchise for the audit to become accessible to them. So the question is why bother creating a role in the first place.
On the other hand, I need to designate a specific set of users that are eligible to be assigned audits.
So my question is, keeping in mind that Auditor is a specific type of user that the application depends on to function, unlike the other roles that can be left to the imagination of the admin, is it sensible to make it a part of RBAC, or is there a better solution?
I hope you understand what I am trying to say here.
PS: I also saw some mentions of ABAC but couldn't make heads or tails of it.