Policy Decision Point (PDP) — kirish yoki boshqa boshqaruv so‘roviga nisbatan amaldagi siyosatlarni hisoblab, ruxsat berish yoki rad etish qarorini chiqaradigan mantiqiy komponentdir. PDP so‘rovni o‘zi to‘xtatmaydi; u foydalanuvchi, resurs, amal va muhit haqidagi ma’lumotni baholab, natijani Policy Enforcement Pointga qaytaradi.
Qaror uchun kirish ma’lumoti
PDP odatda subject identifikatori va atributlari, resurs turi va egasi, talab qilingan amal hamda vaqt yoki qurilma holati kabi kontekstni oladi. Bu qiymatlar Policy Information Point deb ataladigan katalog, token tekshiruvchisi, aktiv reyestri yoki boshqa ishonchli manbalardan kelishi mumkin. Atribut qayerdan olingani va qanchalik yangi ekani qaror sifati uchun muhim.
Oddiy so‘rov quyidagicha tasvirlanadi:
{
"subject": {"id": "u42", "department": "finance"},
"action": "read",
"resource": {"type": "report", "department": "finance"},
"context": {"device_trusted": true}
}
PDP siyosatlar to‘plamini qo‘llab, permit, deny, not applicable yoki indeterminate natijasini berishi mumkin. Oxirgi holat atribut yetishmasligi yoki hisoblash xatosini bildiradi va odatda xavfsiz tarzda rad etishga olib keladi.
Siyosatni hisoblash
Bir nechta qoida mos tushganda combining algorithm yakuniy natijani belgilaydi. deny-overrides bitta taqiqni ustun qo‘yadi; permit-overrides maxsus ruxsatga ustuvorlik beradi. Siyosat tartibiga bog‘liq algoritm ishlatilsa, tartib o‘zgarishi xavfsizlik xatti-harakatini ham o‘zgartiradi.
Qaror faqat allow yoki deny bo‘lmasligi mumkin. PDP majburiyat qaytaradi: masalan, ruxsat berilganda audit yozuvi yaratish yoki javobdagi maxfiy ustunlarni maskalash. PEP bu majburiyatni bajara olmasa, so‘rovni rad etishi kerak.
Joylashtirish modeli
PDP ilova ichidagi kutubxona, yon xizmat yoki markaziy avtorizatsiya xizmati sifatida joylashtiriladi. Mahalliy kutubxona past kechikish beradi, lekin siyosat versiyalarini barcha ilovalarda bir xil saqlash qiyin. Markaziy xizmat bir xil boshqaruv va audit beradi, biroq tarmoq bog‘liqligi va mavjudlik talabi paydo bo‘ladi.
Kesh ishlatilganda kalit subject, resurs, amal, kontekst va siyosat versiyasini qamrab oladi. Uzoq kesh ruxsat bekor qilingandan keyin eski qarorni saqlashi mumkin. Yuqori xavfli amallar uchun qisqa TTL yoki real vaqtdagi tekshiruv tanlanadi.
Ishonchlilik va xavfsizlik
PDP ishlamay qolganda fail open xizmatni davom ettiradi, ammo ruxsatsiz kirish xavfini tug‘diradi. Himoyalangan amallarda odatda fail closed qo‘llanadi. Mavjudlik uchun bir nechta nusxa, sog‘liq tekshiruvi va oldindan belgilangan xavfsiz degradatsiya siyosati kerak.
Siyosat o‘zgarishi versiyalanadi, ko‘rib chiqiladi va test qilinadi. Qaror jurnalida maxfiy atributlarni oshkor qilmasdan so‘rov identifikatori, siyosat versiyasi, natija va sabab kodi saqlanadi. Explain rejimi operatorga qaysi qoida mos kelganini ko‘rsatadi, lekin tashqi foydalanuvchiga xavfsizlik tuzilmasini ortiqcha ochmaydi.
Qaror API shartnomasi
PDP va PEP o‘rtasidagi schema versiyalanadi. Yangi atributni majburiy qilish eski enforcement nuqtalarini indeterminate holatiga tushirishi mumkin. Orqaga mos o‘zgarish, feature flag va bosqichli rollout qaror yo‘lini uzmasdan yangilashga yordam beradi. So‘rov identifikatori ikki komponent jurnalini bog‘laydi.
Testlash
Unit test alohida siyosatni, contract test PEP yuborgan so‘rovni, integratsion test esa haqiqiy atribut manbalarini tekshiradi. Yo‘q atribut, noto‘g‘ri tur, qarama-qarshi qoida, kesh eskirishi va timeout majburiy holatlardir. Performance testi eng murakkab policy graphda kechikish va throughputni o‘lchaydi. Siyosat o‘zgarishi oldingi qarorlar korpusiga qarshi regressiya sifatida hisoblanadi.
Maxfiylik
PDP qaror uchun zarur bo‘lmagan profil ma’lumotini olmasligi kerak. Markaziy xizmat ko‘p tizim atributlarini bir joyda ko‘rganligi sabab kuchli kirish nazorati va retention talab qiladi. Diagnostika dumpida token, tibbiy yoki moliyaviy atributlar to‘liq saqlanmaydi.
Bog‘liq tushunchalar
Policy Enforcement Point, Policy engine, Attribute-Based Access Control, Authorization, Policy Information Point, Default deny