Bosh sahifa Wiki Attribute-Based Access Control

Attribute-Based Access Control

Attribute-Based Access Control (ABAC) — kirish haqidagi qarorni foydalanuvchi, resurs, amal va muhit atributlari asosida chiqaradigan avtorizatsiya modelidir. Siyosat “kim qaysi rolga ega” degan bitta belgidan ko‘ra kengroq shartlarni ifodalaydi: bo‘lim, ma’lumot tasnifi, resurs egasi, vaqt, qurilma ishonchliligi yoki tarmoq zonasi bir qarorda birlashtirilishi mumkin.

Atribut turlari

Subject atributlari foydalanuvchi yoki xizmatning bo‘limi, lavozimi, xavfsizlik darajasi va identifikatorini bildiradi. Resource atributlari hujjat egasi, tenant, tasnif va hududni ifodalaydi. Action o‘qish, tahrirlash, tasdiqlash yoki o‘chirish kabi amalni belgilaydi. Environment vaqt, so‘rov manbasi, qurilma holati va favqulodda vaziyat belgilarini qamrab oladi.

Masalan, siyosat moliya bo‘limidagi xodimga faqat o‘z hududiga tegishli, “ichki” tasnifdagi hisobotni korporativ qurilmadan ish vaqtida o‘qishga ruxsat berishi mumkin. Bitta qoida ko‘plab foydalanuvchi va resurslarga tatbiq etiladi.

Siyosat va qaror

ABAC siyosati mantiqiy ifoda ko‘rinishida yoziladi:

allow if
  subject.department == resource.department
  and action == "read"
  and resource.classification <= subject.clearance
  and environment.device_trusted == true

Policy Decision Point atributlarni yig‘ib, siyosatni hisoblaydi. Policy Enforcement Point so‘rovni ushlab, chiqarilgan allow yoki deny qarorini bajaradi. Atribut manbalari ishonchli bo‘lishi shart; mijoz yuborgan department=finance qiymatini tekshirmasdan qabul qilish butun modelni buzadi.

Siyosatlarni birlashtirish

Bir so‘rovga bir nechta qoida mos kelishi mumkin. “Deny overrides” yondashuvida bitta taqiq barcha ruxsatdan ustun turadi. “Permit overrides” maxsus ruxsatni ustun qiladi, “first applicable” esa tartibdagi birinchi mos qoidani oladi. Algoritm ochiq tanlanmasa, qarama-qarshi siyosat kutilmagan natija beradi.

Default deny xavfsiz boshlang‘ich holatdir: hech bir ruxsat qoidasi mos kelmasa, so‘rov rad etiladi. Qaror bilan birga qaysi siyosat va atribut versiyasi ishlatilgani auditga yoziladi. Maxfiy atributning o‘zi jurnalga to‘liq chiqmasligi mumkin.

Afzallik va murakkablik

ABAC ko‘p tenantli, tartibga solinadigan va kontekstga sezgir tizimlarda rollar sonini sun’iy ko‘paytirmasdan nozik nazorat beradi. Shu bilan birga, atributlar sifati, siyosat tili va qarorni tushuntirish murakkablashadi. Noto‘g‘ri yoki eskirgan atribut qonuniy foydalanuvchini bloklashi yoki ortiqcha kirish berishi mumkin.

Siyosatlar kod kabi versiyalanadi, ko‘rib chiqiladi va test qilinadi. Testlar ijobiy misollardan tashqari chegaraviy tasnif, yo‘q atribut, noto‘g‘ri tenant va qarama-qarshi qoida holatlarini qamrab oladi. O‘zgarish avval kuzatuv rejimida hisoblanib, amaldagi qaror bilan solishtirilishi mumkin.

RBAC bilan ishlashi

Amaliy tizimlar ko‘pincha RBAC va ABACni birlashtiradi. Rol foydalanuvchining umumiy vazifasini belgilaydi, atribut esa aynan qaysi resurs va sharoitda amal bajarilishini toraytiradi. Masalan, “shifokor” roli bemor yozuvini ko‘rish imkonini beradi, bemor bilan faol davolash munosabati esa ABAC sharti bo‘ladi. Bu usul boshqaruv qulayligi va kontekst aniqligi o‘rtasida muvozanat yaratadi.

Atributlarni boshqarish

Atribut qiymati o‘zgarganda uning qarorlarga tarqalish muddati belgilanadi. Katalog yangilangan, ammo token yoki policy cache eski bo‘lsa, bekor qilingan ruxsat bir muddat davom etishi mumkin. Yuqori xavfli atribut qisqa token yoki real vaqtdagi introspection bilan tekshiriladi. Atribut sxemasi versiyalanadi; classification qiymatining ma’nosi o‘zgarsa, eski siyosat jim noto‘g‘ri ishlamasligi kerak.

Audit izohi

Qaror jurnalida subject va resource identifikatori, siyosat versiyasi, natija va sabab kodi saqlanadi. “Department mos kelmadi” kabi izoh operatorga yetarli, ammo tashqi mijozga ichki atributlar to‘liq berilmaydi. Maxfiy qiymatlar maskalanadi, audit yozuvining o‘zi esa o‘zgartirishdan himoyalanadi.

Bog‘liq tushunchalar

Role-Based Access Control, Policy engine, Policy Decision Point, Policy Enforcement Point, Authorization, Default deny