Uploaded by Marat Qo'chqorov

FOYDLANUVCHILARNI BOSHQARISH

advertisement
FOYDLANUVCHILARNI BOSHQARISH
Olimboyeva Nilufar va Qo’chqorov Marat
Reja:
1.
2.
3.
4.
5.
6.
7.
8.
Sql Server Autentifikasiya
Autentifikasiya rejimlari
Sxema
Management Studio bilan xavfsizlikni
boshqarish
Transact-SQL instruksiyalari orqali
xavfsizlikni boshqarish
Ma`lumotlar bazasi
foydalanuvchilarini qo'shish
Sql Server Rollar
Foydalanuvchi avtorizatsiyasi
Sql Server Autentifikasiya
• Database Engine komponentining xavfsizligi tizimi ikki xil xavfsizlik tizim
ostisidan iborat:
 Windows xavfsizlik tizimlari;
 SQL Server xavfsizlik tizimlari.
• Windows xavfsizlik tizimi operatsion tizim darajasida xavfsizlikni
belgilaydi, ya'ni. foydalanuvchilarning Windows logini yordamida Windowsga kirish usuli.
• SQL Server xavfsizlik tizimi ma`lumotlar bazasi tizimi darajasida talab
qilinadigan qo'shimcha xavfsizlikni belgilaydi. Ya'ni SQL Server ma`lumotlar
bazasiga SQL Server logini bilan ulanish usuli.
Autentifikasiya rejimlari
• Windows rejimida foydalanuvchilardan faqat Windows loginlari bilan
ma`lumotlar bazalariga ulanishni talab qilinadi.
•
Aralash rejimda foydalanuvchilarga Windows autentifikatsiyasi yoki
SQL Server autentifikatsiyasi yordamida ma`lumotlar bazasi tizimiga ulanish
imkoni beriladi.
Sxema
• Sxema - bu bitta egasiga ega bo'lgan va bitta nom maydonini tashkil
etadigan ma`lumotlar bazasi ob`yektlari to'plamidir. (Bitta sxemadagi
ikkita jadval bir xil nomga ega bo'lolmaydi.) Database Engine
komponenti prinsipial(principal) tushunchasi yordamida nomlangan
sxemalarni qo`llab-quvvatlaydi.
CREATE SCHEMA instruksiyasi
• USE SampleDb;
• GO
•
• CREATE VIEW view_Product
• GO
•
AS SELECT Number, Name
• CREATE SCHEMA poco AUTHORIZATION
Vasya
•
FROM Product;
•
• GO
• GO
• GRANT SELECT TO Alex;
• CREATE TABLE Product (
•
Number CHAR(10) NOT NULL
UNIQUE,
•
Name CHAR(20) NULL,
•
Price MONEY NULL);
•
• DENY UPDATE TO Alex;
ALTER SCHEMA instruksiyasi
• ALTER SCHEMA obyektlarni sxemalarini
o`zgartiradi. ALTER SCHEMA instruksiyasi
quyidagi sintaksisga ega:
• ALTER SCHEMA schema_name
TRANSFER object_name
•
• ALTER SCHEMA instruksiyasidan
foydalanish quyidagi misolda keltirilgan:
• USE AdventureWorks2012;
•
• ALTER SCHEMA HumanResources
TRANSFER Person.ContactType;
DROP SCHEMA instruksiyasi
• DROP SCHEMA instruksiyasi ma`lumotlar
bazasidan sxemani o’chirib tashlash uchun
ishlatiladi. Sxemada biron bir ob`yekt
bo'lmasa, shunda uni o'chirish mumkin.
Agar sxemada ob`yektlar bo'lsa, DROP
SCHEMA instruksiyasini bajarishga urinish
muvaffaqiyatsizlikka uchraydi.
Management Studio bilan xavfsizlikni boshqarish
• Management Studio-dan foydalangan holda yangi loginni yaratish uchun Object Explorer-dagi
Server  Security bandini oching, so’ng “Logins” ustida sichqonchani o’ng tugmasini bosing,
kontekst menyusidan New Login-ni tanlang. Login – New dialog oynasi ochiladi: ………
Transact-SQL instruksiyalari orqali
xavfsizlikni boshqarish
• Database Engine komponenti xavfsizligini boshqarish uchun uchta
Transact-SQL operatorlari ishlatiladi: CREATE LOGIN, ALTER LOGIN va
DROP LOGIN. CREATE LOGIN operatori SQL Serverda yangi Login
nomini yaratadi. Ushbu operator uchun sintaksis quyidagicha:
• CREATE LOGIN login_name
•
{ WITH option_list1 |
•
FROM {WINDOWS [ WITH option_list2 [,...] ]
•
| CERTIFICATE certname | ASYMMETRIC KEY
key_name }}
• login_name parametri yaratish uchun Login nomini belgilaydi.
Ushbu operator sintaksisida ko`rib turganingizdek, WITH bandi
Login uchun bir yoki bir nechta parametrlarni sozlashni taqdim
etishi mumkin, yoki siz FROM bandida tegishli Login bilan bog'liq
sertifikat, assimetrik kalit yoki Windows foydalanuvchi logini
ko`rsatishingiz mumkin.
• Option_list1 ro`yxati bir nechta parametrlarni o`z ichiga oladi,
ulardan eng muhimi, ushbu Login uchun parolni ko`rsatadigan parol
parametri. (Boshqa mumkin bo'lgan variantlar:
DEFAULT_DATABASE, DEFAULT_LANGUAGE va CHECK_EXPIRATION.)
• FROM bandi quyidagi parametrlardan birini o`z ichiga olishi
mumkin:
 WINDOWS parametri
• Ushbu Login mavjud Window foydalanuvchi logini bilan
bog'liqligini bildiradi.
 Sertifikat parametri
• Ushbu tizimga ulanish uchun sertifikat nomini bildiradi.
 ASIMMETRIC KEY parametri
• Ushbu tizimga ulanish uchun asimmetrik kalit nomini belgilaydi.
• Quyidagi misol "12345!" Paroli bilan "appUser" loginini yaratadi:
• USE SampleDb;
•
• CREATE LOGIN appUser WITH PASSWORD = '12345!';
• Quyidagi misol "appUser" loginini yaratadi va uni xuddi shu
foydalanuvchi nomi bilan mavjud Windows foydalanuvchi logini
bog’laydi:
• USE SampleDb;
•
• CREATE LOGIN [otm\appUser] FROM WINDOWS;
• ALTER LOGIN Transact-SQL operatori - ma`lum bir Login-ni
o`zgartiradi. Ushbu operatoridan foydalanib siz joriy parolni va uning
amal qilish muddatini, kirish parametrlarini, asosiy ma`lumotlar
bazasini va asosiy tilni o`zgartirishingiz mumkin. Bundan tashqari,
ma`lum bir Login-ni yoqishingiz yoki to’xtatib qo'yishingiz mumkin.
• Mavjud loginni o’chirisb tashlash uchun DROP LOGIN operatori
ishlatiladi.
Management Studio-dan foydalanib ma`lumotlar bazasi
foydalanuvchilarini boshqarish
•
Management Studio-dan foydalanib ma`lumotlar bazasi foydalanuvchisini qo'shish
uchun Object Explorer oynasidagi Server bandi va unda Ma`lumotlar bazalari papkasini ochib,
ushbu papkada kerakli ma`lumotlar bazasini ochib va undan keyin Security papkasini oching.
Users bandi ustida sichqonchaning o'ng tugmasini bosing va kontekst menyusidan Yangi
foydalanuvchi(New User)-ni tanlang. Ma`lumotlar bazasi foydalanuvchisi – yangi(Database
User - New) dialog oynasi ochiladi, unda siz foydalanuvchi nomini kiritasiz va tegishli Login
nomini tanlaysiz:
Transact-SQL operatorlari yordamida ma`lumotlar
bazasi foydalanuvchilarini boshqarish
• CREATE USER operatori foydalanuvchini joriy ma`lumotlar bazasiga
qo'shish uchun ishlatiladi. Ushbu operator uchun sintaksis quyidagicha:
• CREATE USER user_name
•
[FOR {LOGIN login |CERTIFICATE cert_name |
ASYMMETRIC KEY key_name}]
•
[WITH DEFAULT_SCHEMA = schema_name] …
• ALTER USER operatori bilan ma`lumotlar bazasi foydalanuvchi nomini
o`zgartirishingiz, foydalanuvchi asosiy sxemasini o`zgartirishingiz yoki boshqa
Login nomi bilan bog’lashingiz mumkin.
• DROP USER operatori foydalanuvchini joriy ma`lumotlar bazasidan o’chirib
tashlash uchun ishlatiladi.
Sql Server Rollar
• Ma`lumotlar bazasi rolining a'zolari quyidagilardan biri bo'lishi
mumkin:
 Windows guruhlari va loginlari;
 SQL Server loginlari
 boshqa rollar.
• Database Engine komponenti xavfsizligi arxitekturasi maxsus
ma`lum huquqlarga ega bo'lgan bir nechta tizim rollarini taqdim
etadi. Foydalanuvchi tomonidan belgilangan rollardan tashqari,
oldindan aniqlangan rollarning ikki turi mavjud: server rollari va
ma`lumotlar bazasi rollari.
Mavjud server rollari
Mavjud server roli
Tavsif
Sysadmin
Ma`lumotlar bazasi tizimida xohlagan amalni bajara oladi.
Serveradmin
Server parametrlarini sozlaydi
Setupadmin
Replikatsiyani o'rnatadi va murakkab protseduralarni boshqaradi
securityadmin
Log jurnallarini o`qish, login va foydalnauvchilarni, huquqlarni boshqaradi
processadmin
Tizim jarayonlarini boshqaradi
Dbcreator
Ma`lumotlar bazasini yaratadi va o`zgartiradi
Diskadmin
Ma`lumotlar bazasi fayllarini boshqaradi
• Mavjud server rollariga ikki usul bilan a’zo bo’lish va olib
tashlanishi mumkin:
 Management Studio muhitidan foydalanish;
 Transact-SQL operatorlaridan foydalanish.
Sa logini
•
Sa login - tizim ma'murining logini. SQL Server 2005 dan oldingi
versiyalarida rollar bo'lmagan, sa login tizim administrator vazifalari
uchun barcha mumkin bo'lgan huquqlarni taqdim etadi. SQL Serverning
yangi versiyalarida Login faqat teskari muvofiqlik(ya’ni oldingi versiyalar
bilan ishlay olish) uchun kiritilgan. Ushbu Login har doim sysadmin
mavjud server rolining a'zosi bo'lib, uni ushbu roldan o'chirib bo'lmaydi.
• Sa logini ma`lumotlar bazasiga kirishning boshqa usuli bo'lmagan
taqdirda ishlatilishi kerak.
Mavjud ma`lumotlar bazasi rollari
Mavjud ma`lumotlar bazasi roli
Tavsif
db_owner
Ma`lumotlar bazasida deyarli barcha amallarni bajara oladigan foydalanuvchilar
db_accessadmin
Boshqa foydalanuvchilarni qo'shishi va o’chirib tashlashi mumkin bo'lgan foydalanuvchilar
db_datareader
Ma`lumotlar bazasidagi barcha foydalanuvchi jadvallaridagi ma`lumotlarni ko`rish imkoniyatiga ega bo'lgan
foydalanuvchilar
db_datawriter
Ma`lumotlar bazasidagi barcha foydalanuvchi jadvallarga ma`lumotlarni qo'shish, o`zgartirish yoki o'chirishga
huquqiga ega foydalanuvchilar
db_ddladmin
Ma`lumotlar bazasida DDL operatorlarini bajara oladigan foydalanuvchilar
db_securityadmin
Xavfsizlik huquqlari bilan bog'liq ma`lumotlar bazasidagi barcha amallarni boshqarishi mumkin bo'lgan
foydalanuvchilar
db_backupoperator
Ma`lumotlar bazasini zaxira nusxasini yaratadigan foydalanuvchilar
db_denydatareader
Ma`lumotlar bazasida bironta ma`lumotni ham ko`ra olmaydigan foydalanuvchilar
db_denydatawriter
Ma`lumotlar bazasidagi bironta ma`lumotni ham o`zgartira olmaydigan foydalanuvchilar
Ma`lumotlar bazasining public roli
• Yuqoridagi jadvalda keltirilgan mavjud ma`lumotlar bazasi rollaridan
tashqari, public mavjud ma`lumotlar bazasi roli ham mavjud.
Ma`lumotlar bazasining public roli - bu barcha ma`lumotlar bazasi
foydalanuvchilari a'zo bo'lgan alohida rol. Bu ma`lumotlar bazasi
foydalanuvchilari uchun barcha standart huquqlarni o`z ichiga oladi.
Public roli ma`lumotlar bazasi foydalanuvchilari uchun barcha standart
huquqlarni beradi va ularni o'chirib bo'lmaydi. Foydalanuvchilar,
guruhlar yoki rollarga ushbu rolga a'zolik tayinlanishi mumkin emas,
chunki ular boshlang’ich holda uusbu rolga ega.
Foydalanuvchi avtorizatsiyasi
• Ma`lumotlar bazasi ob`yektlarida faqat vakolatli foydalanuvchilar
instruksiyalarini bajarishi yoki operasiyalarni bajarishi mumkin.
Ruxsatsiz foydalanuvchining ushbu vazifalardan birini bajarishga
urinishi muvaffaqiyatsizlikka uchraydi. Avtorizatsiya vazifalarini
bajarish uchun quyidagi uchta Transact-SQL operatorlaridan
foydalaniladi: GRANT, DENY va REVOKE.
• Himoyalanadigan ob`yektlar - bu avtorizatsiya tizim ostisi tomonidan
tartibga solinadigan resurslar. Himoyalanadigan ob`yektlarning uchta
asosiy klassi mavjud: server, ma`lumotlar bazasi va sxema. Ular o`z
navbatida Login, ma`lumotlar bazasi foydalanuvchilari, jadvallar va
saqlangan protseduralar kabi boshqa himoyalangan ob`yektlarni o`z
ichiga oladi.
Huquq
Qo`llanilishi
Tavsif
SELECT
Jadvallar va ularning ustunlari, sinonimlari, ko`rinishlar va ularning ustunlari,
jadval qaytaruvchi funksiyalar
Qatorlarni olish (o`qish) huquqini ta'minlaydi. Ushbu huquqni kerakli ustunlarni ro`yxatlash orqali bir yoki bir nechta
ustunlarni o`qishni cheklash mumkin. (Agar ustunlar ro`yxati bo'lmasa, huquq jadvalning barcha ustunlariga
qo`llaniladi)
INSERT
Jadvallar va ularning ustunlari, sinonimlari, ko`rinishlar va ularning ustunlari
Ustunlarga qiymat qo’shish huquqini belgilaydi
UPDATE
Jadvallar va ularning ustunlari, sinonimlari, ko`rinishlar va ularning ustunlari
Qatorlarni o`zgartirish huquqini ta'minlaydi. Ushbu huquqni kerakli ustunlarni ro`yxatlash orqali bir yoki bir nechta
ustunlarni o`qishni cheklash mumkin. (Agar ustunlar ro`yxati bo'lmasa, huquq jadvalning barcha ustunlariga
qo`llaniladi)
DELETE
Jadvallar va ularning ustunlari, sinonimlari, ko`rinishlar va ularning ustunlari
Ustunlardagi qiymatlarni o’chirish huquqini ta’minlaydi
REFERENCES
Foydalanuvchi tomonidan aniqlangan funksiyalar (SQL va CLR funksiyalar),
jadvallar va ularning ustunlari, sinonimlari, ko`rinishlar va ularning ustunlari
Agar foydalanuvchi ushbu jadvalda SELECT huquqiga ega bo'lmasa, asosiy jadvaldagi tashqi kalitlari ustunlariga
murojaat qilish imkoniyatini beradi
EXECUTE
Saqlangan protseduralar (SQL va CLR), UDF (SQL va CLR), sinonimlari
Saqlangan protsedurani yoki foydalanuvchi tomonidan aniqlangan funksiyani(UDF) bajarish huquqini
ta'minlaydi
CONTROL
Saqlangan protseduralar (SQL va CLR), UDF (SQL va CLR), sinonimlari
Obyekt egasining huquqlariga o'xshash huquqlarni taqdim etadi; huquqni qabul qiluvchida himoyalangan
ob`yekt nisbatan deyarli barcha huquqlari bor. CONTROL huquqi berilgan prinsipal ushbu himoyalangan
ob`yektga huquqni boshqalarga berish berish huquqiga ega.
ALTER
Saqlangan protseduralar (SQL va CLR), foydalanuvchi tomonidan
niaqlangan funksiyalar (SQL va CLR), jadvallar, ko`rinishlar
Himoyalangan ob`yektlarning xususiyatlarini (egalikdan tashqari) o`zgartirish huquqini ta'minlaydi.
TAKE OWNERSHIP
Saqlangan protseduralar (SQL va CLR), foydalanuvchi tomonidan
niaqlangan funksiyalar (SQL va CLR), jadvallar, ko`rinishlar
U himoyalangan ob`yekt egasi bo'lishi huquqini ta'minlaydi
DENY instruksiyasi
•
DENY instruksiyasi foydalanuvchini belgilangan ob`yektlarda
ko`rsatilgan amallarni bajarishiga yo'l qo'ymaydi. Boshqacha qilib
aytganda, ushbu operator foydalanuvchi Logini uchun mavjud bo'lgan
huquqlarni olib tashlaydi, shuningdek foydalanuvchini kelajakda olishi
mumkin bo'lgan guruh yoki rol a'zoligi orqali huquqni olishiga
to'sqinlik qiladi. Ushbu operator quyidagi sintaksisga ega:
• DENY {ALL [PRIVILEGES] } | permission_list
•
[ON [class::] securable] TO principal_list
•
[CASCADE] [ AS principal ]
REVOKE instruksiyasi
•
REVOKE instruksiyasi ilgari berilgan yoki rad etilgan huquqni olib
tashlaydi. Ushbu instruksiya quyidagi sintaksisga ega:
• REVOKE [GRANT OPTION FOR]
•
{ [ALL [PRIVILEGES] ] | permission_list ]}
•
[ON [class:: ] securable ]
•
FROM principal_list [CASCADE] [ AS principal ]
Management Studio yordamida huquqlarni
boshqarish
ETIBORINGIZ UCHUN RAXMAT!
Download