Bosh sahifa Wiki Role-Based Access Control

Role-Based Access Control

Role-Based Access Control (RBAC) — tizimdagi ruxsatlarni alohida foydalanuvchiga bevosita berish o‘rniga, vazifa yoki lavozimni ifodalovchi rollarga biriktirish modelidir. Foydalanuvchi bir yoki bir nechta rolga a’zo qilinadi va shu rollar orqali amallarni bajarish huquqini oladi. Model ko‘p foydalanuvchili tizimlarda ruxsatlarni bir xil, tushunarli va audit qilinadigan tarzda boshqarishga yordam beradi.

Asosiy elementlar

RBAC uchta asosiy munosabatga tayangan: foydalanuvchi–rol, rol–ruxsat va ayrim tizimlarda rol–rol iyerarxiyasi. Ruxsat odatda obyekt va amal juftligi bilan ifodalanadi, masalan invoice:read yoki user:disable. Rol esa biznes vazifasiga mos ruxsatlar to‘plamidir: “hisobchi”, “muharrir” yoki “tizim administratori”.

Element Mazmuni Namuna
Subject amal qiluvchi shaxs yoki xizmat foydalanuvchi 42
Role vazifa bo‘yicha ruxsatlar guruhi muharrir
Permission resurs ustidagi aniq amal maqolani nashr qilish
Session faol rollarning joriy to‘plami muharrir roli yoqilgan

Rol nomi texnik bo‘limga emas, barqaror ish vazifasiga mos bo‘lsa, tashkilot tuzilmasi o‘zgarganda boshqarish osonroq bo‘ladi.

Iyerarxiya va cheklovlar

Iyerarxik RBACda yuqori rol quyi rol ruxsatlarini meros oladi. Masalan, katta muharrir oddiy muharrir imkoniyatlarini ham olishi mumkin. Chuqur va yashirin iyerarxiya amaldagi vakolatni tushunishni qiyinlashtiradi, shuning uchun meros zanjiri cheklangan va hujjatlashtirilgan bo‘ladi.

Vazifalarni ajratish cheklovi bir shaxsga xavfli kombinatsiyadagi rollarni bermaslikka xizmat qiladi. To‘lovni yaratish va uni tasdiqlash vakolati bitta hisobda jamlanmasligi mumkin. Statik ajratish rollarni birga tayinlashni taqiqlaydi; dinamik ajratish esa bir sessiyada ikkisini birdan faollashtirishga yo‘l qo‘ymaydi.

Ruxsat berish jarayoni

So‘rov kelganda tizim foydalanuvchini autentifikatsiya qiladi, uning rollarini ishonchli katalogdan oladi va talab qilingan amal ruxsatlar ichida borligini tekshiradi. Tekshiruv faqat interfeysdagi tugmani yashirish bilan cheklanmaydi; server har bir himoyalangan operatsiyada qaror chiqaradi. Token ichidagi rollar uzoq muddat amal qilsa, rol bekor qilingandan keyin eski vakolat saqlanib qolishi mumkin. Qisqa sessiya, tokenni yangilash yoki markaziy tekshiruv bu oynani qisqartiradi.

Rol dizayni va boshqaruvi

Juda keng rollar ortiqcha vakolat, har bir foydalanuvchi uchun alohida rol yaratish esa “role explosion” muammosini tug‘diradi. Avval tipik vazifalar aniqlanadi, keyin minimal zarur ruxsatlar ularga biriktiriladi. Kam uchraydigan yuqori vakolat doimiy rolga emas, vaqtinchalik tasdiqlanadigan kirishga berilishi mumkin.

Rol tayinlash egasi, asos va tugash sanasiga ega bo‘ladi. Ish o‘zgarganda yoki xodim ketganda vakolatlar avtomatik qayta ko‘rib chiqiladi. Davriy access review foydalanuvchining amaldagi rollarini menejer yoki resurs egasiga tasdiqlatadi. Audit yozuvi rolni kim bergani, qachon ishlatilgani va qaysi qaror qabul qilinganini ko‘rsatadi.

Model chegarasi

RBAC resurs atributi, vaqt, joylashuv yoki qurilma holatiga asoslangan murakkab qarorlarni o‘zi yaxshi ifodalamaydi. “Hisobchi” roli barcha hisoblarni emas, faqat o‘z filialidagi yozuvlarni ko‘rishi kerak bo‘lsa, rol bilan birga obyekt filtri yoki ABAC siyosati qo‘llanadi. Shunday gibrid yondashuv rolni asosiy boshqaruv vositasi, kontekstni esa qo‘shimcha cheklov sifatida saqlaydi.

Testlash

Avtorizatsiya testlari har rol uchun ruxsat etilgan va taqiqlangan amallarni qamrab oladi. Ayniqsa rolsiz foydalanuvchi, bekor qilingan sessiya, bir nechta rol kombinatsiyasi va tenantlararo resurs tekshiriladi. Role matrix hujjati test holatlariga aylantirilsa, siyosat o‘zgarishi bilan kutilmagan vakolat kengayishi aniqlanadi. Server qarori auditdagi effective role bilan solishtiriladi.

Bog‘liq tushunchalar

Attribute-Based Access Control, Authorization, Role, Least privilege, Separation of duties, Access review