GRANT SELECT
ON empview
TO PUBLIC;
empview tasavvurdan foydalanishni
amalga oshiruvchi sub-
yektlar “shoe”dan farqlanuvchi boMimlar xususidagi ma’lumotlami
so‘rashga intilishlari mumkin, masalan:
SELECT *
FROM empview
WHERE dept = 'toy';
ammo javob tariqasida foydalanish huquqlarining buzilganligini
ko‘rsatuvchi javob kodini emas, balki oddiygina nulli qatorli natija-
ni oladilar. Bu juda muhim, chunki niyati buzuqni boMimlar ro‘yxa-
tini javob kodlarini tahlillash orqali bilvosita tarzda olish imko-
niyatidan mahrum etadi.
Foydalanish huquqlarining ierarxiyasi.
GRANT operatori va
MBBTdan foydalanishni boshqaruvchi
boshqa vositalar foydala-
nishning quyidagi cheklashlar turini amalga oshirishga imkon
beradi:
- amaliy cheklashlar (jadvalning barcha yoki faqat ba’zi ustun-
lariga qo‘llaniluvchi SELECT, INSERT, UPDATE, DELETE foy
dalanish huquqlari hisobiga);
- muhimligi bo‘yicha cheklashlar (tasawurlar mexanizmi hiso
biga);
- resurslarga cheklashlar (ma’lumotlar bazasidan foydalanish
imtiyozlari bo‘yicha).
So‘rovlami ishlashda MBBT avval
obyektlardan foydalanish
huquqini tekshiradi. Agar amaliy cheklashlar buzilgan boMsa, so‘rov
mos tashxis chiqarilib, rad etiladi. Muhimligi bo‘yicha cheklashlar-
ning buzilishi faqat natijaviy qatorlaming soniga ta’sir etadi, bunda
hech qanday tashhis chiqarilmaydi. Nihoyat, oldingi ikkita chek
lashlar hisobga olinganidan so‘ng, so‘rov ishlanish uchun optima
zatorga beriladi. Agar optimizator resurslarga
cheklashlar oshi-
rilganini aniqlasa, so‘rov mos tashhis chiqarilib, rad etiladi.
Imtiyozlar ierarxiyasiga boshqa nuqtayi nazardan qarash
mumkin. Har bir foydalanuvchi o‘zinikidan tashqari PUBLIC imti-
yoziga ega. Undan tashqari, u turli guruhlarda boMib, ma’lum rollar
bilan ilovalarni ishga tushirishi mumkin.
Quyida imtiyozlarning
113
nomlangan turli eltuvchilari taqdim etgan huquqlaming o‘zaro mu-
nosabati xususida so‘z ketadi.
INGRES MBBT uchun avtorizatsiya ierarxiyasi quyidagi ko‘-
rinishga ega:
- rol (yuqori ustuvorlik);
- foydalanuvchi;
- guruh;
- PUBLIC (past ustuvorlik).
Har bir foydalanuvchi obyekt uchun INGRES foydalanishning
so‘raluvchi turiga (SELECT, EXECUTE va h.) tegishli ierar-
xiyadagi imtiyozni qidirishga urinadi. Masalan, yangilash
maqsadi-
da jadvaldan foydalanishga urinishda INGRES rolning, foydala-
nuvchining, guruhning va barcha foydalanuvchilaraing imtiyozlarini
tekshiradi. Agar ierarxiyaning bitta sathida UPDATE imtiyozi bo‘l-
sa ham, so‘rov keyingi ishlash uchun uzatiladi. Aks holda, so‘rovni
rad etishni ko‘zda tutuvchi foydalanish huquqi ishlatiladi.
Resurslarga cheklashlarning batafsil talqinini ko‘raylik. Aytay-
lik, ierarxiyaning barcha to‘rtta sathida so‘rovning natijaviy qatori
soniga cheklashlar tasniflangan (QUERY_ROW_LIMIT imtiyozi):
- r o l - 1700;
- foydalanuvchi — 1500;
- guruh - 2000;
. - PUBLIC - 1000.
Agar foydalanuvchi MBBT bilan
ishlash seansining bosh-
lanishida rolni va guruhni bergan bo‘lsa, rol yuklagan cheklash 1700
ishlatiladi. Agar QUERY_ROW_LIMIT imtiyozi rol uchun mavjud
bo‘lmasa yoki foydalanuvchi ish seansi boshlanishida rolni berma-
gan bo‘Isa, foydalanuvchi 1500dan ko‘p bo‘lmagan qatordan nati-
jalami olishi mumkin va h. Agar QUERYROWJLIMIT imtiyozi
ierarxiyaning birorta bir
sathida tasniflangan boMmasa, MBBT
nazarda tutilgan qiymatdan foydalanadi. Nazarda tutilgan qiymat
deganda natijaviy qator soniga cheklashlarning yo‘qligi tushuniladi.
Odatda ishlatiluvchi rol va guruh mos holda ilovani ishga tu-
shiruvchi komanda qatorining -R va -G - opsiyalaming argument-
lari sifatida beriladi. Misol:
QBF -Gaccounting company_db
114
Agar G- opsiya mavjud bo‘lmasa,
foydalanuvchining nazarda
tutuvchi guruhi (agar u mavjud bo‘lsa) ishlatiladi.
Nihoyat, agar sql komanda qatorida -u foydalanuvchi opsiya
berilgan bo‘lsa, tekshiruvchilar qatoriga ko‘rsatilgan foydalanuvchi
ham kiradi.
Dostları ilə paylaş: