TIETOKANTOJEN PERUSTEET OSIO 14 MARKKU SUNI
Tavoite: Suunnitella käyttäjien tarvitsemat turvallisuusmekanismit ja säännöt. Toisin sanoen: tehdä tietokannasta turvallinen ja luotettava.
Muistutus: Tietokanta on yrityksen omaisuutta ja tärkeä sellaisena. Pahimmassa tapauksessa sen tuhoutuminen voi johtaa yrityksen tuhoutumiseen. Tietokannassa olevien tietojen täytyy säilyä turvassa oikeina riittävän kauan.
1. Suunnittele käyttäjänäkymät 2. Suunnittele saantisäännöt
Suunnittele käyttäjänäkymät Tavoite: Suunnittele käyttäjänäkymät, jotka tunnistettiin tietokantojen suunnittelun analyysivaiheessa.
Suunnittele käyttäjänäkymät Tietokannan suunnittelumetodi alkoi lokaalisten loogisten tietomallien rakentamisella jokaista tunnistettua käyttäjänäkymää kohti. Esimerkkitapauksessa tunnistimme kaksi käyttäjänäkymää Branch: Manager, Superviser, Assistant näkymät Business: Director, Buyer näkymät Vaiheessa 3 nämä yhdistettiin globaaliksi tietomalliksi Tässä vaiheessa toteutamme nämä käyttäjänäkymät.
Suunnittele käyttäjänäkymät Tässä vaiheessa toteutamme nämä käyttäjänäkymät. Henkilökohtaisessa tietokannassa näkymä vain avustaa kyselyjä. Monen käyttäjän järjestelmässä näkymät ovat keskeisiä tietokannan rakenteen ja turvallisuuden kannalta. Esimerkkitapauksessa luomme näkymiä käyttäen 1. 1992 ISO SQL Standardi (SQL2) 2. Microsoft Access 97
Suunnittele käyttäjänäkymät 1992 ISO SQL Standardi (SQL2) Toimiston B001 Esimiehiä ja virkailijoita varten määritellään perustauluun Staff näkymä, jossa ei ole mukana palkkatietoja:
Suunnittele käyttäjänäkymät 1992 ISO SQL Standardi (SQL2) Toimiston B001 Esimiehiä ja virkailijoita varten määritellään perustauluun Staff näkymä, jossa ei ole mukana palkkatietoja: CREATE VIEW staff1_view AS SELECT staffno, name, position FROM staff WHERE branchno = B001 ;
Suunnittele käyttäjänäkymät 1992 ISO SQL Standardi (SQL2) Toimiston B001 Esimiehiä ja virkailijoita varten määritellään perustauluun Staff näkymä, jossa ei ole mukana palkkatietoja: CREATE VIEW staff1_view AS SELECT staffno, name, position FROM staff WHERE branchno = B001 ;
Suunnittele käyttäjänäkymät 1992 ISO SQL Standardi (SQL2) Näkymä Staff1_view esittää taulun Staff tarpeelliset sarakkeet. Toimiston esimiehille ja virkailijoille ei anneta oikeuksia tauluun Staff. Heille annetaan saantioikeudet (lukuoikeudet) näkymään Staff1_view. Näin he eivät näe kiellettyjä tietoja.
Suunnittele käyttäjänäkymät Microsoft Access 97 MS Access ei tue SQL-alusetta CREATE VIEW Sen sijaan voi määritellä talletetun kyselyn käyttäen QBE Query By Example SQL
Suunnittele käyttäjänäkymät Microsoft Access 97 Näin tehtyjä talletettuja kyselyjä voi käyttää toisten kyselyjen luomiseen, rivien lisäämiseen, päivitykseen, poistoon perustaulussa Staff. myös pohjana lomakkeiden ja raporttien määrittelyyn
Suunnittele saantisäännöt Tavoite: Suunnitella perustauluille ja käyttäjänäkymille sopivat ja tarkoituksenmukaiset saantisäännöt
Suunnittele saantisäännöt Relaatiomallin tietokantajärjestelmien yhteydessä puhutaan turvallisuudesta järjestelmän turvallisuus varmuus luotettavuus tietokantaan pääsy tietoturva käyttäjätunnukset, salasanat tiedon säilyminen tietokantakohteiden saanti taulut, näkymät, operaatiot niillä
Suunnittele saantisäännöt Esimerkkitapauksessa luomme saantisääntöjä käyttäen 1992 ISO SQL Standardi (SQL2) Microsoft Access 97
Suunnittele saantisäännöt 1. 1992 ISO SQL Standardi (SQL2) SQL2 tarjoaa saantisääntöjen toteuttamismahdollisuuden. Käyttäjille ei tulisi antaa oikeuksia perustauluihin. Mieluummin käyttäjänäkymiin. Saadaan tietoriippumattomuutta Eristetään käyttäjät tietokannan rakenteesta ja sen muutoksista Joka tietokannan käyttäjälle asettaa hoitaja (Administrator) autorointitunnuksen (Authorization identifier) salasanoineen
Suunnittele saantisäännöt 1. 1992 ISO SQL Standardi (SQL2) Jokaiselle tietokannan käyttäjälle asettaa hoitaja (Administrator) autorointitunnuksen (Authorization identifier) salasanoineen Jokainen SQL-lause suoritetaan jonkun käyttäjän nimissä. Autorointitunnus määrittää, mitä tietokannan kohteita käyttäjä saa käyttää ja miten. Jokaisella tietokannan kohteella on omistaja (owner), joka tietää kohteen olemassaolosta ja operaatioista sillä.
Suunnittele saantisäännöt 1. 1992 ISO SQL Standardi (SQL2) Oikeudet (privileges) ilmoittavat toimintoja, joita käyttäjä saa suorittaa. SELECT on oikeus lukea tietoja taulusta UPDATE on oikeus muuttaa tietoja taulussa
Suunnittele saantisäännöt 1. 1992 ISO SQL Standardi (SQL2) CREATE TABLE-lauseen suorittaja on taulun omistaja. Muilla ei ole sanomista asiaan. Omistaja voi suoda (GRANT) oikeuksia muille. GRANT-lause antaa oikeuksia. WITH GRANT OPTION sallii oikeuksien edelleenjaon. REVOKE-lause peruuttaa oikeudet
Suunnittele saantisäännöt 1. 1992 ISO SQL Standardi (SQL2) CREATE VIEW-lauseen suorittaja on näkymän omistaja. Ei välttämättä saa oikeuksia tauluihin näkymän perusteella Hänellä tulee olla SELECT-oikeus näkymän tauluihin Käyttäjälle MANAGER oikeudet (luku, lisäys, päivitys, poisto) tauluun Staff ja oikeus antaa muillekin: GRANT ALL PRIVILEGES ON staff TO manager WITH GRANT OPTION;
Suunnittele saantisäännöt 1. 1992 ISO SQL Standardi (SQL2) Käyttäjälle ADMIN SELECT-oikeus tauluun Staff GRANT SELECT ON staff TO admin ;
Suunnittele saantisäännöt 2. Microsoft Access 97 Access ei tue GRANT ja REVOKE-lauseita. Sen sijaan voidaan asettaa salasana tietokannan avaamisen suojaksi antaa käyttäjille oikeuksia lukea tai päivittää osia tietokannasta (oikeastaan rajoittaa tätä) Salasanan asettaminen tietokannan avaamiseen tapahtuu Tools, Security-valintojen kautta Kun tietokanta on avattu (salasanalla), on kaikki luvallista.
Suunnittele saantisäännöt 2. Microsoft Access 97 Käyttäjätason suojaus hoidetaan samoin kuin monissa verkkojärjestelmissä. Käyttäjä kirjoittaa tunnuksensa ja salasanansa. Käyttäjät jakautuvat ryhmiin. Access tarjoaa kaksi oletusryhmää: Admins ja Users Ryhmiä voi määritellä lisää. Esimerkkikuvassa oletusryhmä Assistants ja käyttäjä Assistant, joka on jäsen Users ja Assistants-ryhmissä
Assistant: vain lukuoikeus (read access) näkymään Staff1_view Kuva 15.5
Suunnittele saantisäännöt 2. Microsoft Access 97 Luvat (Permissions) annetaan ryhmille ja käyttäjille ilmoittamaan mitä he saavat kullakin tietokannan kohteella tehdä käyttäen User and Group Permissions laatikkoa. Kuva 15.5 esittää keskustelulaatikon sisällön käyttäjälle Assistant, joka saa lukea Staff1_view. Samaan tapaan kaikki oikeudet tauluun Staff poistetaan käyttäjältä, joten hän voi tarkastella tietoja vain tämän näkymän avulla.
kuva 15.4: Oletusryhmät: Admins Users muita voi määritellä
Suunnittele saantisäännöt 2. Microsoft Access 97 oikeudet Open/Run Avaa tietokanta, lomake, raportti tai suorita makro Open Exclusive Avaa tietokanta omaan käyttöön Read Design Lue kohteita Design näkymässä Modify Design Lue/muuta kohteita ja poista niitä Administer Tietokannoille: aseta salasanoja, replikoi kanta ja muuta käynnistysominaisuuksia Täydet oikeudet tietokannan kohteisiin (oikeuksien antaminen myös) Read Data Lue tietoja Update Date Lue ja päivitä tietoja ( ei lisää, poista) Insert Data Lue ja lisää tietoja Deleta Data Lue ja poista tietoja
Suunnittele saantisäännöt Dokumentoi käyttäjänäkymät ja niiden oikeudet ja kaikki turvallisuuteen liittyvät seikat Kaikki tässä vaiheessa tehty työ on dokumentoitava huolellisesti. Tähän työhön joudutaan palaamaan uudelleen ja uudelleen henkilöiden, tilanteiden ja työtehtävien muuttuessa. Jos fyysinen suunnittelu vaikuttaa yksittäisiin lokaalisiin loogisin tietomalleihin, näitä malleja on vastaavasti päivitettävä.
Tässä vaiheessa on melko paljon uusia nimityksiä tullut tutuksi...
Paljolla kirjaintekemisellä ei ole loppua ja paljo tutkistelu väsyttää ruumiin Saarnaaja