DEV Community

Discussion on: Explain RBAC vs ACL Like I'm Five

Collapse
 
brandinchiu profile image
Brandin Chiu

The primary difference between the two is where the permissions are assigned.

In ACL, the permissions are attached to the objects you are managing.
In RBAC, the permissions are attached to the users and the operations they perform.

In ACL, you would say that "this widget requires user level alpha to interact with".

In RBAC, you would say that "only users with user level alpha can create new widgets".

From a purely functional perspective, they're essentially the same.
(en.wikipedia.org/wiki/Access-contr...)

In most cases where you are working with a dynamic set of users (users register and are onboarded frequently, RBAC makes more sense, not because it's better, but because it's what most users are going to be used to experiencing.

Your example above does an excellent job of describing "roles", which is precisely what RBAC is designed for :)

Collapse
 
trendschau profile image
Sebastian Schürmanns

Great explanation, thank you!!!