Bosh sahifa Wiki Tenant isolation

Tenant isolation

Tenant isolation — ko‘p mijozli tizimda bir tenantga tegishli ma’lumot, hisoblash resursi va boshqaruv vakolatining boshqa tenantlardan ajratilishini ta’minlaydigan arxitektura va xavfsizlik tamoyilidir. Tenant tashkilot, jamoa yoki alohida mijoz bo‘lishi mumkin. Ajratishning maqsadi bir tenantdagi xato, ortiqcha yuk yoki ruxsatsiz harakat boshqasiga ta’sir qilmasligidir.

Ajratish qatlamlari

Izolyatsiya faqat ma’lumotlar bazasidagi bitta ustun bilan cheklanmaydi. So‘rov qabul qilinganda tenant identifikatori ishonchli autentifikatsiya kontekstidan olinadi, avtorizatsiyada tekshiriladi va keyingi xizmatlarga uzatiladi. Kesh kalitlari, navbat xabarlari, obyekt saqlash yo‘llari, jurnal yozuvlari va metrikalar ham shu kontekstni saqlashi zarur.

Qatlam Ajratish vositasi Asosiy xavf
Ilova tenant konteksti va siyosat noto‘g‘ri obyektga murojaat
Ma’lumotlar bazasi satr, sxema yoki alohida baza filtrning unutilishi
Hisoblash kvota, konteyner yoki VM resursni egallab olish
Tarmoq segment, namespace, siyosat yonlama kirish
Shifrlash tenantga xos kalit kalitlar chegarasining buzilishi

Ma’lumotlarni joylashtirish modellari

Umumiy jadval modelida barcha satrlar tenant_id bilan belgilanadi. U tejamkor, biroq har bir so‘rovda to‘g‘ri filtr va noyob indeks talab qiladi. Row-level security kabi baza siyosati ilova xatosiga qarshi qo‘shimcha to‘siq beradi. Alohida sxema kuchliroq mantiqiy chegara yaratadi, lekin migratsiyalar sonini ko‘paytiradi. Har tenant uchun alohida baza eng kuchli ajratish va mustaqil tiklash imkonini beradi, boshqaruv xarajati esa yuqori bo‘ladi.

Model ma’lumot sezgirligi, tenantlar soni, tiklash talabi va xarajatga qarab tanlanadi. Gibrid yondashuvda ko‘pchilik tenant umumiy infratuzilmada, yirik yoki tartibga solinadigan mijozlar alohida muhitda ishlashi mumkin.

Identifikatsiya va vakolat

Tenant identifikatorini URL yoki so‘rov tanasidan ko‘r-ko‘rona qabul qilish xavfli. Foydalanuvchining aynan shu tenantga a’zoligi tasdiqlanadi, keyin ichki kontekst yaratiladi. Xizmatlararo chaqiruvda kontekst imzolangan token yoki ishonchli metadata orqali uzatiladi. Administratorning tenantlararo vakolati oddiy foydalanuvchi yo‘lidan ajratilib, alohida audit qilinadi.

Fon vazifalari ham tenant chegarasiga amal qiladi. Navbat xabarida tenant identifikatori, topshiriq turi va zarur vakolat mavjud bo‘ladi. Xatolik sabab xabar qayta ishlanganda boshqa tenantning sukutdagi kontekstiga tushib qolmasligi kerak.

Resurs va ishlash izolyatsiyasi

Bir mijozning juda ko‘p so‘rovi barcha mijozlar xizmatini sekinlashtirishi noisy neighbor muammosidir. Tenant bo‘yicha tezlik cheklovi, CPU va xotira kvotasi, ulanish havzasi ulushi hamda navbat adolatliligi bu xavfni kamaytiradi. Mutlaq ajratish qimmat bo‘lgani uchun xizmat darajasi va iqtisodiy model o‘rtasida muvozanat tanlanadi.

Tekshiruv va kuzatuv

Testlarda ikki yoki undan ortiq tenant ma’lumotlari ataylab yaratiladi va o‘zaro kirishning barcha yo‘llari rad etilishi tekshiriladi. API, qidiruv, eksport, kesh, fayl yuklash va fon vazifalari alohida sinovdan o‘tadi. Jurnallarda tenant identifikatori bo‘lishi hodisani tekshirishni osonlashtiradi, ammo maxfiy ma’lumotning jurnalga chiqishiga yo‘l qo‘yilmaydi. Zaxira nusxadan bitta tenantni tiklash qobiliyati ham tanlangan saqlash modelining muhim mezonidir.

Migratsiya va operatsion ishlar

Tenant ko‘chirish, birlashtirish yoki o‘chirish jarayoni ham izolyatsiya modeliga amal qiladi. Eksport faqat tanlangan tenant obyektlarini, bog‘langan fayllarini va audit tarixini qamrab olishi kerak. Ko‘chirish paytida yozuvlar davom etsa, ikki nusxa orasidagi farqni jurnal yoki qisqa yozish blokirovkasi bilan boshqarish talab etiladi. O‘chirish so‘rovi asosiy jadvaldan tashqari kesh, qidiruv indeksi, obyekt saqlash va zaxira siyosatini ham hisobga oladi. Qo‘llab-quvvatlash xodimining tenant muhitiga vaqtinchalik kirishi tasdiqlangan, vaqt bilan cheklangan va audit qilinadigan bo‘lishi kerak. Shu operatsiyalar ko‘pincha oddiy so‘rov yo‘lidan ko‘ra ko‘proq tenantlararo xavf tug‘diradi.

Bog‘liq tushunchalar

Multi-tenancy, Row-level security, Authorization, Data partitioning, Resource quota, Noisy neighbor, Fault isolation