4.10. Zabezpečení
Data obsažená v databázích bývají často cenným majetkem.
Při vytváření databází je tedy potřeba brát zřetel na jejich
zabezpečení. Jedním ze základních požadavků je, aby každý uživatel
měl svůj vlastní účet. V této části si ukážeme, jak nový účet
založit a jak novému uživateli nastavit práva.
- Spusťte Enterprise Manager, otevřete požadovaný server a
rozbalte uzel Security.
- Nyní klepneme pravým tlačítkem myši na položku Logins a
z rozbalené nabídky vybereme New Login.

Obrázek 32 - Enterprise Manager - přidání nového uživatele
- Otevře se dialogové okno pro přidání nového uživatele. Vyplníme
jméno nového uživatele.
- Přepínače Authentication slouží pro navolení způsobu
přihlašování k SQL Serveru. Volbou Windows NT authentication
se můžeme přihlašovat za pomoci domén NT. Pro naši ukázku
zvolíme volbu SQL Server authentication. a vypíšeme heslo dle
vlastního uvážení.

Obrázek 33 - Dialog New Login pro přidání nového uživatele
- Z rozbalovacího seznamu Database vybereme naši databázi
Autoservis, zvolíme OK a v následujícím dialogu potvrdíme heslo.
Tímto jsme vytvořili nový uživatelský účet a nyní přiřadíme tomuto
uživateli práva (role). Existují dvě základní skupiny
rolí - serverové a databázové. Serverové role slouží ke správě
systému a provádění operací nesouvisejících přímo s daty.
Detailně se budeme zabývat databázovými rolemi, jejichž účelem
je přiřadit uživateli práva k jednotlivým databázím:
- db_owner - práva vlastníka databáze. Nejvyšší možný přístup
k databázi.
- db_accessadmin - nemůže vytvářet nové účty SQL Serveru,
ale může přidělovat oprávnění existujícím členům.
- db_datareader - může prohlížet všechny tabulky v databázi.
- db_datawriter - může vkládat nové záznamy, měnit a mazat stávající záznamy v databázi.
- db_ddladmin - může přidávat, měnit a odstraňovat objekty v databázi.
- db_securityadmin - nemůže vytvářet nové účty v databázi,
může však spravovat role a členy databázových rolí a oprávnění k příkazům a objektům v databázi.
- db_backupoperator - může zálohovat databázi.
- db_denydatareader - umožňuje zamezit prohlížení tabulek a pohledů.
- db_denydatawriter - může zamezit oprávnění ke vkládání, změně a mazání dat v databázi.
Role bylo možno nadefinovat už v dialogu New Login (obrázek 28).
My si vyzkoušíme jiný způsob.
- V Enterprise Manageru rozbalte uzel Databases a námi
vytvořenou databázi Autoservis.
- Klepneme pravým tlačítkem myši na položku Users a z nabídky
vybereme New Database User.

Obrázek 34 - Enterprise Manager - přidání práv novému uživateli databáze
- V dialogovém okně New User vybereme z rozbalovacího seznamu
Login name nového uživatele. A v seznamu rolí vybereme práva
pro nového uživatele databáze (obr. 32).
- Potvrzením OK bude přidán nový uživatel databáze. Klepneme-li
nyní levým tlačítkem myši ve stromové struktuře Enterprise
Managera na položku Users, nový uživatel už bude přidán do
seznamu.
Obrázek 35 - Dialog Database User Properties - nastavení práva jen pro čtení
Po nastavení práv, dle obrázku 35, bude povoleno uživateli karel
pouze prohlížení databáze Autoservisu bez možnosti zápisu, mazání
a upravování dat. Tato práva můžeme ještě více specifikovat.
- Klepneme dvakrát levým tlačítkem myši v seznamu uživatelů
na uživatele karel. Otevře se dialogové okno podobné předešlému
obrázku.
- Klepneme myší na tlačítko Permissions… Otevře se
nám dialogové okno pro nastavení práv k jednotlivým tabulkám.
Můžeme nastavit práva pro čtení z tabulek - SELECT, pro vkládání
záznamů - INSERT, pro změnu záznamů - UPDATE, mazání
záznamů - DELETE a možnost spouštění procedur - EXEC.
- Podle obrázku 36 můžeme například uživateli zakázat zobrazovat
data z tabulky Zakaznici, ale ponechat právo vkládat nové
záznamy do této tabulky. U tabulky Opravy zatrhnutím všech
políček můžeme ponechat uživateli veškerá práva. V tabulce
Auta ponecháme pouze právo na vkládání záznamů. Zobrazování a
úpravu dat upřesníme ještě na jednotlivé sloupce tabulky.
- V dialogovém okně označíme myší tabulku Auta a v levé dolní
části klepneme na tlačítko Columns.

Obrázek 36 - Zadávání práv k tabulkám
- Otevře se nám dialog pro nastavení práv k sloupcům tabulky
Auta.

Obrázek 37 - Dialog pro nastavení práv k sloupcům
Nastavíme-li práva podle obrázku 37, uživateli povolíme
prohlížení všech sloupců kromě čísla karosérie (autCislo_kar)
a čísla motoru (aut Cislo_motoru). Uživateli bude rovněž zakázáno
měnit tyto dva sloupce a sloupec autID.
- Klepnutím na tlačítko OK budou práva uložena.
Nastavování práv každému uživateli zvlášť by bylo poměrně
zdlouhavé. SQL Server proto umožňuje vytvořit skupinu uživatelů.
Skupinu vytvoříme klepnutím pravého tlačítka myši ve stromové
struktuře Enterprise Manager v databázi Autoservisu na položku
Roles a vybráním z nabídky New Databases Role. V dialogu pak
zadáme název skupiny, případně klepnutím na tlačítko Add můžeme
přidat nové uživatele. Potvrzením OK se skupina založí a přidá
do seznamu Roles v pravé části Enterprise Manager. Poklepáním
na nově založenou skupinu otevřeme dialog pro nastavení práv.
V dalších krocích pokračujeme stejně jako v případě nastavení
práv jednomu uživateli. Nové uživatele můžeme do skupiny
přidávávat také otevřením dialogu z obrázku 35.
<Předcházející stránka