Foundationপ্রথম নীতি থেকে
LEVEL 10 · Computer Security

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-এর দরকার