Маърузалар матни 1-маъруза. Маълумотлар базасини бошқариш тизимининг турлари ва уларни яхлитлигини таъминлаш


Download 0.63 Mb.
bet27/33
Sana18.06.2023
Hajmi0.63 Mb.
#1590916
1   ...   23   24   25   26   27   28   29   30   ...   33
Bog'liq
3 Ma\'lumotlarni himoyalash modellari ma\'ruzalar 1

Фойдаланишни бошқаришда тасаввурлардан фойдаланиш. МББТ фойдаланишни бошқарувчи ўзига хос восита – тасаввурларни тақдим этади. Тасаввурлар субъектлар учун базавий жадвалларнинг маълум қаторларининг кўринарли бўлишига (проекцияни амалга оширишга) ёки маълум қаторларни танлашга (селекцияни амалга оширишга) имкон беради. Маълумотлар базасининг маъмури субъектларга базавий жадваллардан фойдаланиш хуқуқини бермасдан ва муносиб тасаввурларни тузиб жадвалларни рухсатсиз фойдаланишдан ҳимоялайди ва ҳар бир фойдаланувчини ўзининг маълумотлар базасига қараши билан таъминлайди.
Қуйида таркибида дастлабки жадвалнинг иккита устуни бўлган ва ўз ичига фақат устунларнинг бирининг маълум қийматли қаторини қамраб олувчи тасаввурни яратиш мисоли келтирилган:
CREATE VIEW empview AS
SELECT name, dept
FROM employee
WHERE dept = 'shoe';
Ушбу тасаввурдан танлаш хуқуқи барчага берилганида:
GRANT SELECT
ON empview
TO PUBLIC;
empview тасаввурдан фойдаланишни амалга оширувчи субъектлар shoeдан фарқланувчи бўлимлар хусусидаги маълумотларни сўрашга интилишлари мумкин, масалан:
SELECT *
FROM empview
WHERE dept = 'toy';
аммо жавоб тариқасида фойдаланиш хуқуқларининг бузилганлигини кўрсатувчи жавоб кодини эмас, балки оддийгина нулли қаторли натижани оладилар. Бу жуда муҳим, чунки нияти бузуқни бўлимлар рўйхатини жавоб кодларини тахлиллаш орқали билвосита тарзда олиш имкониятидан маҳрум этади.
Фойдаланиш хуқуқларининг иерархияси. GRANT оператори ва МББТдан фойдаланишни бошқарувчи бошқа воситалар фойдаланишнинг қуйидаги чеклашлар турини амалга оширишга имкон беради:

  • амалий чеклашлар (жадвалнинг барча ёки фақат баъзи устунларига қўлланилувчи SELECT, INSERT, UPDATE, DELETE фойдаланиш хуқуқлари ҳисобига);

  • муҳимлиги бўйича чеклашлар (тасаввурлар механизми ҳисобига);

  • ресурсларга чеклашлар (маълумотлар базасидан фойдаланиш имтиёзлари бўйича).

Сўровларни ишлашда МББТ аввал объектлардан фойдаланиш хуқуқини текширади. Агар амалий чеклашлар бузилган бўлса сўров, мос ташхис чиқарилиб, рад этилади. Муҳимлиги бўйича чеклашларнинг бузилиши фақат натижавий қаторларнинг сонига таъсир этади; бунда ҳеч қандай ташҳис чиқарилмайди. Ниҳоят, олдинги иккита чеклашлар ҳисобга олинганидан сўнг, сўров ишланиш учун оптимизаторга берилади. Агар оптимизатор ресурсларга чеклашлар оширилганини аниқласа, сўров мос ташҳис чиқарилиб, рад этилади.
Имтиёзлар иерархиясига бошқа нуқтаи назардан қараш мумкин. Ҳар бир фойдаланувчи, ўзиникидан ташқари, PUBLIC имтиёзига эга. Ундан ташқари, у турли гуруҳларда бўлиб, маълум роллар билан иловаларни ишга тушириши мумкин. Қуйида имтиёзларнинг номланган турли элтувчилари тақдим этган хуқуқларнинг ўзаро муносабати хусусида сўз кетади.
INGRES МББТ учун авторизация иерархияси қуйидаги кўринишга эга:

  • роль (юқори устуворлик);

  • фойдаланувчи;

  • гуруҳ;

  • PUBLIC (паст устуворлик).

Ҳар бир фойдаланувчи объект учун INGRES фойдаланишнинг сўралувчи турига (SELECT, EXECUTE ва ҳ.) тегишли иерархиядаги имтиёзни қидиришга уринади. Масалан, янгилаш мақсадида жадвалдан фойдаланишга уринишда INGRES ролнинг, фойдаланувчининг, гуруҳнинг ва барча фойдаланувчиларнинг имтиёзларини текширади. Агар иерархиянинг битта сатҳида UPDATE имтиёзи бўлса ҳам, сўров кейинги ишлаш учун узатилади. Акс ҳолда сўровни рад этишни кўза тутувчи фойдаланиш хуқуқи ишлатилади.
Ресурсларга чеклашларнинг батафсил талқинини кўрайлик. Айтайлик, иерархиянинг барча тўртта сатҳида сўровнинг натижавий қатори сонига чеклашлар таснифланган (QUERY_ROW_LIMIT имтиёзи):

  • роль – 1700;

  • фойдаланувчи – 1500;

  • гуруҳ – 2000;

  • PUBLIC – 1000.

Агар фойдаланувчи МББТ билан ишлаш сеансининг бошланишида ролни ва гуруҳни берган бўлса, роль юклаган чеклаш 1700 ишлатилади. Агар QUERY_ROW_LIMIT имтиёзи роль учун мавжуд бўлмаса ёки фойдаланувчи иш сеанси бошланишида ролни бермаган бўлса, фойдаланувчи 1500дан кўп бўлмаган қатордан натижаларни олиши мумкин ва ҳ. Агар QUERY_ROW_LIMIT имтиёзи иерархиянинг бирорта бир сатҳида таснифланган бўлмаса, МББТ назарда тутилган қийматдан фойдаланади. Назарда тутилган қиймат деганда натижавий қатор сонига чеклашларнинг йўқлиги тушунилади.
Одатда ишлатилувчи роль ва гуруҳ мос ҳолда иловани ишга туширувчи команда қаторининг -R ва -G – опцияларнинг аргументлари сифатида берилади. Мисол:
QBF -Gaccounting company_db
Агар G- опция мавжуд бўлмаса, фойдаланувчининг назарда тутувчи гуруҳи (агар у мавжуд бўлса) ишлатилади.
Ниҳоят агар sql команда қаторида –u фойдаланувчи опция берилган бўлса, текширувчилар қаторига кўрсатилган фойдаланувчи ҳам киради.

Download 0.63 Mb.

Do'stlaringiz bilan baham:
1   ...   23   24   25   26   27   28   29   30   ...   33




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling