Bosh sahifa Wiki ABAC

ABAC

ABAC — access qarorini user role’iga emas, subject, object, action va environmentga tegishli atributlarni policy qoidalari orqali baholash asosida beradigan access control modeli. To‘liq nomi Attribute-Based Access Control.

ABAC dinamik, kontekstga bog‘liq va nozik permissionlarni ifodalashga yordam beradi.

Asosiy elementlar

ABAC qarorida odatda to‘rtta element ishlatiladi:

  • Subject — request qilayotgan principal;
  • Object — murojaat qilinayotgan resource;
  • Action — bajariladigan operation;
  • Environment — vaqt, joy, qurilma va boshqa kontekst.

Policy shu atributlar kombinatsiyasini baholaydi.

Subject atributlari

Subject atributlari:

Atribut identity provider, HR tizimi yoki sessiondan olinishi mumkin.

Object atributlari

Resource xususiyatlari:

Masalan, classification=confidential bo‘lgan document uchun yuqori clearance talab qilinadi.

Action

Action faqat read va write bilan cheklanmaydi.

Masalan:

  • approve;
  • export;
  • share;
  • decrypt;
  • print;
  • delete;
  • transfer;
  • administer.

Bir resource’ni ko‘rishga ruxsat bo‘lib, export qilish taqiqlanishi mumkin.

Environment atributlari

Qaror tashqi kontekstga bog‘liq bo‘lishi mumkin:

  • vaqt;
  • location;
  • network;
  • device posture;
  • risk score;
  • emergency mode;
  • request channel.

Masalan, confidential data faqat managed qurilma va korporativ networkdan ochiladi.

Policy

Policy logical qoida sifatida yoziladi.

Masalan:

subject.department = Finance
AND object.classification <= subject.clearance
AND action = read
AND device.managed = true

Barcha shart bajarilsa access beriladi.

Policy Decision Point

PDP request atributlarini va policy’ni baholab allow yoki deny qarorini chiqaradi.

PDP:

bo‘lishi mumkin.

Qaror bilan reason yoki obligation qaytarilishi mumkin.

Policy Enforcement Point

PEP requestni ushlab, PDP qarorini amalda bajaradi.

Masalan:

PEP qarorni chetlab o‘tib resource’ga to‘g‘ridan-to‘g‘ri access bermasligi kerak.

Policy Information Point

PIP kerakli atributlarni taqdim etadi.

Manbalar:

Atribut eskirgan yoki unavailable bo‘lsa qaror siyosati aniq bo‘ladi.

Policy Administration Point

Policy’ni yaratish, tasdiqlash va versionlash uchun boshqaruv qatlami.

Policy o‘zgarishi:

bilan boshqariladi.

Security qoidasi oddiy code change kabi nazoratsiz o‘zgarmaydi.

Deny by default

Kerakli atribut yetishmasa access odatda rad etiladi.

Masalan, device trust ma’lum bo‘lmasa trusted deb qabul qilinmaydi.

Bu fail-closed model.

Availability talabi bilan muvozanat policy’da belgilanadi.

Policy conflict

Bir policy allow, boshqasi deny berishi mumkin.

Combining algorithm:

  • deny-overrides;
  • permit-overrides;
  • first-applicable;
  • priority

kabi qoidani belgilaydi.

Conflict yashirin qolmasligi uchun policy test qilinadi.

RBAC bilan farqi

RBAC:

role → permission

ABAC:

atributlar + policy → qaror

RBAC tashkilot vazifalari barqaror bo‘lsa sodda.

ABAC ko‘p tenant, region, data classification va dynamic risk uchun moslashuvchan.

Hybrid model

Role subject atributlaridan biri sifatida ABAC policy’da ishlatilishi mumkin.

Masalan:

role = Doctor
AND object.patient_region = subject.region
AND device.managed = true

Bu RBACning tushunarliligini ABAC konteksti bilan birlashtiradi.

Attribute lifecycle

Noto‘g‘ri atribut noto‘g‘ri access qarorini beradi.

Shuning uchun:

aniq bo‘ladi.

Xodim bo‘limdan ketganda department atributi tez yangilanadi.

Performance

Har requestda ko‘p tashqi tizimdan atribut olish latency yaratadi.

Yondashuvlar:

Cache freshness security talabiga mos bo‘ladi.

Explainability

Nega access rad etilganini administrator tushuna olishi kerak.

Ammo clientga sensitive policy detail chiqarilmaydi.

Ichki audit:

  • qaysi policy;
  • qaysi atribut;
  • qaysi version;
  • allow yoki deny

ni saqlaydi.

Test

Policy testlari:

  • allow holat;
  • deny holat;
  • missing attribute;
  • conflict;
  • vaqt chegarasi;
  • tenant farqi;
  • device risk;
  • attribute yangilanishi;
  • policy version

ni qamrab oladi.

Policy as Code

ABAC policy version control’da code kabi saqlanishi mumkin. Pull request, test, approval va staged deployment orqali o‘zgaradi. Har qaror qaysi policy version bilan chiqarilgani auditda ko‘rsatiladi. Noto‘g‘ri policy tez rollback qilinadi.

Relationship atributi

Access faqat oddiy fieldlarga emas, subject va object orasidagi relationshipga bog‘liq bo‘lishi mumkin. Masalan, user project a’zosi yoki patientning assigned doctori ekanini tekshirish. Relationship manbasi trusted va yangilanadigan bo‘lishi kerak.

Policy simulation

Yangi policy productionga qo‘llanishidan oldin tarixiy requestlar yoki test dataset ustida simulate qilinadi. Qaysi qonuniy access bloklanishi va qaysi yangi access ochilishi ko‘riladi. Shadow mode qarorni log qilib, hali enforce qilmasligi mumkin.

Data classification

ABAC object atributlari to‘g‘ri classificationga tayanadi. Sensitive document noto‘g‘ri public deb belgilansa policy texnik jihatdan to‘g‘ri ishlasa ham access xato bo‘ladi. Classification automation, owner review va default restricted model bilan boshqariladi.

Emergency policy

Favqulodda vaziyatda ayrim accesslar vaqtincha kengaytirilishi mumkin. Emergency atributi, sabab, qisqa expiration va kuchli audit talab qilinadi. Emergency mode doimiy bypassga aylanib qolmasligi kerak.

Bog‘liq tushunchalar

Attribute-Based Access Control, Subject, Object, Action, Environment, Policy Decision Point, Policy Enforcement Point, RBAC, Authorization, Policy engine, IAM