RBAC
আরবিএসি
Role-Based Access Control — user-কে role, role-কে permission দেওয়া হয়; simple ও auditable, কিন্তু fine-grained context ধরতে পারে না।
also: role-based-access-control
user → role (একাধিক হতে পারে) → permission (একাধিক)
check(user, action, resource):
return any(action in ROLE_PERMS[r] for r in user.roles)
- Decision শুধু role membership-এর ওপর নির্ভর করে — resource-এর নিজস্ব attribute (owner কে, কোন department-এর) বিবেচনায় আসে না
- Auditing সহজ: “কার কী access আছে” প্রশ্নের উত্তর role list দেখেই পাওয়া যায়
- Role explosion সমস্যা: fine-grained distinction দরকার হলে (যেমন “শুধু নিজের department-এর ডেটা”) role সংখ্যা exponentially বাড়ে — তখন ABAC-এর দরকার