Bosh sahifa Wiki Role

Role

Role — axborot tizimida ma’lum vazifa yoki mas’uliyatga mos ruxsatlar to‘plamini ifodalovchi mantiqiy obyekt. Foydalanuvchiga har bir amal uchun alohida ruxsat berish o‘rniga, unga “muharrir”, “operator” yoki “auditor” kabi rol biriktiriladi. Tizim esa rolga tegishli ruxsatlar orqali foydalanuvchi qaysi resursni ko‘rishi, yaratishi, o‘zgartirishi yoki o‘chirishi mumkinligini aniqlaydi. Bu yondashuv role-based access control, ya’ni RBAC modelining asosini tashkil etadi.

RBAC tarkibi

RBAC modelida to‘rtta asosiy unsur mavjud: foydalanuvchi, rol, ruxsat va sessiya. Ruxsat odatda resurs hamda amal juftligi bilan ifodalanadi, masalan invoice:read yoki user:disable. Administrator ruxsatlarni rollarga, rollarni esa foydalanuvchilarga biriktiradi. Foydalanuvchi tizimga kirganda uning sessiyasida tegishli rollarning barchasi yoki xavfsizlik siyosati ruxsat bergan qismi faollashadi.

Rol Namunaviy ruxsatlar Cheklangan amal
Viewer Hisobotlarni o‘qish Ma’lumotni o‘zgartirish
Editor Yozuv yaratish va tahrirlash Hisoblarni boshqarish
Auditor Jurnal va tarixni ko‘rish Operatsion yozuvni o‘chirish
Administrator Tizim sozlamalarini boshqarish Siyosatga qarab cheklanishi mumkin

Rol nomining o‘zi xavfsizlik qarorini to‘liq tushuntirmaydi. Uning aniq ruxsatlari hujjatlashtirilishi va kodda markazlashgan siyosat orqali tekshirilishi kerak. Interfeysdagi tugmani yashirish yetarli emas, chunki foydalanuvchi API manziliga to‘g‘ridan-to‘g‘ri so‘rov yuborishi mumkin. Har bir himoyalangan server operatsiyasi amaldagi sessiya va talab qilinadigan ruxsatni tekshiradi.

Ierarxiya va chegaralar

Ba’zi RBAC tizimlarida rollar ierarxiyasi mavjud. Masalan, katta muharrir oddiy muharrir ruxsatlarini meros qilib, qo‘shimcha tasdiqlash huquqiga ega bo‘lishi mumkin. Meros boshqaruvni soddalashtiradi, ammo chuqur yoki chalkash ierarxiya foydalanuvchining haqiqiy vakolatini aniqlashni qiyinlashtiradi. Shuning uchun rol daraxti kichik, nomlari aniq va o‘zgarishlari audit qilinadigan bo‘lishi maqsadga muvofiq.

Ko‘p tashkilotli dasturda rolning amal doirasi ham muhim. Bir foydalanuvchi A tashkilotida administrator, B tashkilotida esa faqat kuzatuvchi bo‘lishi mumkin. Bunday holatda “foydalanuvchi–rol” bog‘lanishiga tenant yoki loyiha identifikatori ham qo‘shiladi. Global rol bilan muayyan obyekt doirasidagi rolni aralashtirish boshqa tashkilot ma’lumotiga ruxsatsiz kirish xavfini oshiradi.

Vazifalarni ajratish

Separation of duties tamoyili muhim operatsiyani bitta shaxs nazoratida qoldirmaydi. Masalan, to‘lovni yaratgan operator ayni to‘lovni tasdiqlay olmasligi mumkin. Statik ajratishda ikki zid rol bir foydalanuvchiga umuman berilmaydi. Dinamik ajratishda rollar biriktirilishi mumkin, lekin bitta sessiyada yoki bitta obyekt ustida bir vaqtda qo‘llanmaydi.

Least privilege tamoyiliga ko‘ra rol vazifani bajarish uchun zarur eng kichik ruxsatlar bilan tuziladi. “Administrator” rolini qulaylik uchun barcha xodimlarga berish boshqaruvni soddalashtirgandek ko‘rinsa-da, xato va hisob egallanishining ta’sirini keskin kengaytiradi. Vaqtinchalik vazifa uchun muddatli rol yoki just-in-time ruxsat ishlatilishi mumkin.

Boshqaruv va audit

Rol yaratish, ruxsat qo‘shish va foydalanuvchiga rol berish hodisalari audit jurnalida saqlanadi. Davriy access review jarayonida amaldagi biriktirishlar xizmat vazifasiga mosligi tekshiriladi; ish joyi o‘zgargan yoki tashkilotni tark etgan foydalanuvchilarning eski rollari olib tashlanadi. Role explosion deb ataladigan holatda juda ko‘p, bir-biriga yaqin rollar paydo bo‘ladi. Uni kamaytirish uchun umumiy vazifalar asosiy rollarga, kam uchraydigan shartlar esa atribut yoki obyekt siyosatiga ajratiladi.

Rol nomlari dastur kodi, boshqaruv paneli va audit yozuvlarida bir xil ma’noda ishlatilsa, ruxsat tahlili aniqroq bo‘ladi. Nomni almashtirishda uning ichki barqaror identifikatorini saqlash tarixiy audit yozuvlarini tushunishga yordam beradi.

Bog‘liq tushunchalar

RBAC, Permission, Authorization, Least privilege, Access control, Audit log, Separation of duties