statnice:vyvoj:otazka12
Differences
This shows you the differences between two versions of the page.
| Next revision | Previous revision | ||
| statnice:vyvoj:otazka12 [06.05.2008 14:41] – vytvořeno xvalo07 | statnice:vyvoj:otazka12 [18.05.2008 10:40] (current) – xvalo07 | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | Ochrana, zabezpečení a integrita dat | + | ====== 12. Ochrana, zabezpečení a integrita dat ====== |
| Ochrana před neautorizovaným přístupem. Ochrana před chybnými vstupními daty. Ochrana před kolizemi, vyplývajícími ze současného přístupu více uživatelů k datům. Způsoby zajištění obnovy dat. Zajištění integrity datové základny. | Ochrana před neautorizovaným přístupem. Ochrana před chybnými vstupními daty. Ochrana před kolizemi, vyplývajícími ze současného přístupu více uživatelů k datům. Způsoby zajištění obnovy dat. Zajištění integrity datové základny. | ||
| - | Úloha | + | ===== Úloha |
| + | **Předpoklady: | ||
| Jste asistentem vedoucího informatiky a řešíte kooperaci pracovníků na zajištění bezpečnosti dat | Jste asistentem vedoucího informatiky a řešíte kooperaci pracovníků na zajištění bezpečnosti dat | ||
| - | Zadání: | + | |
| - | Jaké ICT role by se měly na zabezpečení dat podílet, jak a jaké nástroje by mohly pro svou činnost využívat? | + | **Zadání: |
| - | ICT manažer – bezpečnostní politika | + | |
| - | analytik – návrhář – návrh logických a fyzických struktur dat včetně specifikace integritních omezení | + | |
| - | správce DB – definice přístupových práv k funkcím SŘBD a databázovým objektům, řešení kolizních stavů | + | |
| - | programátor – tvorba víceuživatelských aplikací (zajištění současného přístupu uživatelů ke zdrojům) | + | |
| + | | ||
| + | |||
| + | ===== Teorie ===== | ||
| + | |||
| + | Vycházíme z toho, že řešíme problematiku ochrany dat v SŘBD. Obecně ochrana dat a bezpečnost v jiné otázce. | ||
| + | |||
| + | Ochrana před neautorizovaným přístupem – primárně pomocí hesel. Vychází se z toho, že pouze administrátor může měnit strukturu databáze a přidělovat přístupová práva jednotlivým uživatelům, | ||
| + | |||
| + | Nastavení hesel lze provést zvlášť pro jednotlivé příkazy: select, update, insert, delete | ||
| + | GRANT select ON tabulka | ||
| + | |||
| + | Taky není špatné používat nějaká „bezpečná“ hesla. | ||
| + | |||
| + | Ochrana před chybnými vstupními daty se děje na dodržováním integrity: | ||
| + | * doménová integrita – data budou odpovídat formátu – číslo do čísla, jinak je vyhozena chyba | ||
| + | * entitní integrita – žádná položka primárního klíče nemůže být prázdná | ||
| + | * referenční integrita – cizí klíč se nemůže odkazovat do tabulky, kde by neexistovala patřičná položka (třeba odkaz do tabulky DPH na neexistující sazbu) | ||
| + | |||
| + | I velmi komplikovaná integritní omezení a implementaci business logiky lze dosáhnout pomocí triggerů. | ||
| + | |||
| + | Záleží hodně na návrhu databáze, co databázový stroj zbaští. Dobře provedeným nastavením integritních omezení lze implementovat i velmi složitou business logiku už na úrovni serveru. Maximální relačnost by měla být dosažena tak, aby vůbec veškerá integritní omezení byla na straně serveru, tozn. aby se při jejich aktualizaci nemusely upravovali klienti. Ve skutečnosti je rozumné s ohledem na zátěž aplikace a uživatelskou přívětivost zejména u webových aplikací ověřovat alespoň doménovou integritu už na prezentační vrstvě. | ||
| + | |||
| + | Ochrana před kolizemi vyplývajícími ze současného přístupu více uživatelů: | ||
| + | Řešení – jejich vyhledávání – cykly a timeouty a pokud se najdou, tak rollback. | ||
| + | |||
| + | Obnova dat vyplývá z principu transakčního zpracování, | ||
| + | |||
| + | Obecně lze ochrany a obnovy dat dosáhnout pravidelným zálohováním a to může být nepřetržité – mirroring, úplné – pravidelné zálohy kompletní databáze a inkrementální – zálohy celé databáze občas, pořád zálohovat změny. Obnovení – vycouvání UNDO, dokončení – REDO. | ||
| + | |||
| + | Zajištění integrity transakcemi, | ||
| + | ===== Praxe ===== | ||
| + | |||
| + | Otázka si podle mě odpovídá sama. Podílet by se měli např: | ||
| + | * IT manažer – bezpečnostní politika | ||
| + | * analytik – zakomponování bezpečnosti do návrhu a vytyčení integritních omezení | ||
| + | * vývojář – napsání bezpečného programu, implementace souběžného přístupu ke zdrojům ve víceuživatelské aplikaci | ||
| + | * správce DB – nastavení přístupových práv, řešení kolizních stavů, zálohování DB | ||
statnice/vyvoj/otazka12.1210077687.txt.gz · Last modified: 06.05.2008 00:00 (external edit)
