O‘ZBEKISTON RESPUBLIKASI OLIY VA O‘RTA MAXSUS TA’LIM VAZIRLIGI
MIRZO ULUG‘BEK NOMIDAGI
O‘ZBEKISTON MILLIY UNIVERSITETI
“AXBOROT XAVFSIZLIGI” KAFEDRASI
«AXBOROT TIZIMLARI VA ULARNING XAVFSIZLIGI »
fanidan
LABORATORIYA ISHI
Topshirdi: Raxmatov Abror
Qabul qildi: Bozorov Obidjon
Toshkent 2022
Ishning maqsadi:
Microsoft SQL Server yordamida o’quv semestri davomida o’tilgan mavzular, olingan bilim va ko’nikmalarni amalda qo’llab ko’rish, xatolar ustida ishlash, tajriba orttirish va yakuniy hisobot tayyorlash.
Bajarilish tartibi:
Ishni bajarish uchun biz ma’lumotlar bazasini yaratib olganmiz.
Biz yaratib olgan Productuz bazasi
Biz darslarimiz davomida ma’lumotlar bazamizga kirishning bir nechta turlarini o’rganib o’tdik. Bulardan
Eng ko’p qo’llaganimiz windows autentifikatsiya usuli:
Bu usul bilan management studioga kirganimizda bizdan ortiqcha ma’lumotlar so’ralmaydi. Faqatgina qaysi windows foydalanuvchi nomidan kirayotganimizni ko’rsatishimiz kifoya.
Operatsion sistemaning autentifikasiyasidan o’tganimiz hisobiga SQL serverga kirishimizda hech qanday parol so’ralmaydi. Faqat aktiv holatdagi windows user nomidan kirgan bo’lishimiz va bu user yoki administratorning SQL serverga kirish huquqi mavjud bo’lishi kerak.
Ma’lumotlar bazasi bilan ishlashni o’rganish jarayonida biz Login va User tushunchalari bilan tanishdik.
Login – Server miqyosida amallarni bajarish uchun huquqni beradi. Userni esa ma’lumotlar bazasining ichida o’z huquqlari bo’yicha ishlaydi.
Yuqoridagi rasmda windows orqali serverga kirgan edik. Endi esa biz o’zimiz yangi Login yaratib, o’sha login orqali serverga kiramiz:
Ushbu oynaga yetib kelganimizdan so’ng login sozdat qilishni boshlaymiz. Bunda Proverka podlinnosti SQL serverni tanlaymiz va yaratmoqchi bo’lgan loginimizga nom va unga kirish uchun parol qo’yamiz. Xohishimizga ko’ra parollar siyosatini talab qilish funksiyasini yoqib yoki o’chirib qo’yishimiz mumkin. Men o’chirib qo’yishni istadim. Shunda juda sodda parollardan ham foydalanishim mumkin bo’ladi va bunda menga hech qanday talab qo’yilmaydi.
Shu tarzda yangi loginni yaratib oldik:
Men o’z ismim bilan Login yaratdim va bu login loginlar qatoriga qo’shildi. Demak to’g’ri yaratilgan.
Ana endi esa yaratib olgan loginimizni huquqlarini bir qator ko’rib o’ttamiz. Men ushbu loginni huquqlarini maksimal darajada qilib berdim.
Biz avvaldan yaratib olgan AX 19-02 bazamizni windowsning adminstratori sifatida serverga kirib yaratgan edik. Endi esa aynan shu baza uchun yangi yaratib olgan loginimizga huquqlar beramiz.
Bu ishni amalga oshirib bo’lganimizdan so’ng, yangi loginimiz bilan SQL serverga kirib ko’ramiz:
Mana yangi yaratilgan loginimiz bilan bazaga kirib oldik.
Endi esa o’zimiz ishlayotgan bazamizda yangi login ostida o’zimiz uchun user yaratamiz:
Mana yangi userni ham qo’shib oldik
Darslar davomida sxemalar bila ishlashni ham o’rgandik. Biz shuni o’rgandikki, sxemalar userga bog’langan holda ishlaydi.
Sxema - bu bitta egasiga ega bo'lgan va bitta nom maydonini tashkil etadigan
ma'lumotlar bazasi ob'ektlari to'plamidir. (Bitta sxemadagi ikkita jadval bir xil nomga
ega bo'lolmaydi.) Database Engine komponenti prinsipial(principal) tushunchasi
yordamida nomlangan sxemalarni qo'llab-quvvatlaydi.
Individual prinsipial bitta foydalanuvchini, masalan, Login yoki Windows
foydalanuvchi Loginini ifodalaydi. Guruh prinsipiali rol yoki Windows guruhi kabi
foydalanuvchilar guruhi bo'lishi mumkin. Prinsipial sxemalarga egalik qiladi, lekin
sxema nomini o'zgartirmasdan sxemaga egalik huquqi boshqa prinsipialga osonlikcha
o'tkazilishi mumkin.
Sxemamiz muvaffaqiyatli yaratildi
Endigi navbatda SQL serverdagi bazamizda saqlanayotgan jadvallardan biridagi ma’lumotlarni shifrlashni ko’rib o’tamiz. Biz bu ishni bir necha marta muvaffaqiyatli bajarganmiz. Jarayon natijasini quyida keltirib o’taman.
Ushbu jarayon amalga oshishi uchun yozilgan so’rovni va uning yakuniy natjasini quyida keltiraman:
SELECT name KeyName,
symmetric_key_id KeyID,
key_length KeyLength,
algorithm_desc KeyAlgorithm
FROM sys.symmetric_keys;
USE productuz;
GO
CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'SQLShack@1';
USE productuz;
GO
CREATE CERTIFICATE Certificate_test_001 WITH SUBJECT = 'Protect my data';
GO
CREATE SYMMETRIC KEY KEY2 WITH
ALGORITHM = AES_256 ENCRYPTION BY CERTIFICATE
Certificate_test_001;
OPEN SYMMETRIC KEY KEY2
DECRYPTION BY CERTIFICATE Certificate_test_001;
UPDATE
Products
SET shifr =
EncryptByKey (Key_GUID('KEY2'), price2)
FROM Products;
GO
CLOSE SYMMETRIC KEY KEY2;
GO
Do'stlaringiz bilan baham: |