অধ্যায় ২.১ — ব্যবহারকারী, ভূমিকা ও RBAC
১. উদ্দেশ্য
ভূমিকা-ভিত্তিক অ্যাক্সেস নিয়ন্ত্রণ (RBAC) — কে প্ল্যাটফর্মে কী করতে পারে তা পরিচালনা।
২. কেন এটি গুরুত্বপূর্ণ
ট্রাভেল এজেন্সিগুলোতে বিভিন্ন ভূমিকা: ট্রাভেল এজেন্ট, অ্যাকাউন্ট্যান্ট, ম্যানেজার, অডিটর। প্রত্যেককে সব দেখার বা সব করার অনুমতি দেওয়া নিরাপত্তা ঝুঁকি এবং কমপ্লায়েন্স সমস্যা।
৩. মডেল
ব্যবহারকারী → ভূমিকা → অনুমতি (Permissions)
একজন ব্যবহারকারীর একাধিক ভূমিকা থাকতে পারে। একটি ভূমিকার একাধিক অনুমতি থাকে।
৪. স্ট্যান্ডার্ড ভূমিকা
| ভূমিকা | দায়িত্ব |
|---|---|
| Partner Admin | পার্টনার-স্তরের সবকিছু — ব্যবহারকারী ব্যবস্থাপনা, কনফিগ |
| Mid-Office Supervisor | বুকিং, রিফান্ড অনুমোদন |
| Travel Agent | বুকিং তৈরি, গ্রাহক ব্যবস্থাপনা |
| Accountant | JE পোস্ট, ইনভয়েস, রিকনসিলিয়েশন |
| Senior Accountant | বড় JE অনুমোদন, পিরিয়ড ক্লোজ |
| Controller | পিরিয়ড ক্লোজ অনুমোদন, ফিন্যান্সিয়াল রিপোর্ট |
| Treasurer | পেআউট অনুমোদন, ক্যাশ ব্যবস্থাপনা |
| Auditor | শুধু-পাঠ্য অ্যাক্সেস + অডিট লগ |
| Read-Only | শুধু-পাঠ্য বুকিং দেখা |
৫. অনুমতি ফরম্যাট
<entity>.<action>.<scope> ফরম্যাট:
booking.create.partner— পার্টনার-জুড়ে বুকিং তৈরিbooking.create.branch— শুধু নির্ধারিত শাখায়je.post.partner— যেকোনো JE পোস্টje.post_above_threshold.partner— থ্রেশহোল্ডের উপরে JE পোস্টreport.read_sensitive.partner— PII সহ রিপোর্ট দেখা
৬. স্কোপ
- partner: পুরো পার্টনার জুড়ে
- branch: শুধু নির্ধারিত শাখা/অফিস
- own: শুধু নিজের তৈরি রেকর্ড
৭. Maker-Checker প্যাটার্ন
ক্রিটিক্যাল অপারেশনের জন্য, একই ব্যবহারকারী থ্রেশহোল্ডের উপরে অপারেশন তৈরি এবং অনুমোদন করতে পারে না।
| অপারেশন | থ্রেশহোল্ড (BDT) | অনুমোদনকারী |
|---|---|---|
| একক বুকিং | 200,000 | Supervisor |
| একক রিফান্ড | 100,000 | Supervisor |
| কাস্টমার ক্রেডিট লিমিট | 500,000 | Controller |
| সরবরাহকারী ব্যাঙ্ক পরিবর্তন | (যেকোনো) | Controller |
| ম্যানুয়াল JE | 50,000 | Senior Accountant |
| পেআউট | 1,000,000 | Treasurer |
| পিরিয়ড ক্লোজ | (যেকোনো) | Controller |
৮. অনুমতি অডিট
প্রতিটি অনুমতি পরিবর্তন (grant/revoke) অডিট লগে রেকর্ড। মেকার এবং অ্যাপ্রুভারের identity, সময়, কারণ সংরক্ষিত।
৯. সাধারণ ফাঁদ
- ⚠️ সকল ব্যবহারকারীকে
Partner Adminভূমিকা — দায়িত্ব পৃথকীকরণ ভঙ্গ। - ⚠️ ভূমিকা পরিবর্তন হলে আগের সেশনগুলো অবৈধ না করা।
- ⚠️ একক ব্যবহারকারী যিনি মেকার এবং চেকার উভয় ভূমিকায় — সিস্টেম ধরবে কিন্তু সাংগঠনিক নীতিতেও এড়ানো উচিত।