HELIA 1 (15) Outi Virkki Tietokantasuunnittelu

Samankaltaiset tiedostot
HELIA 1 (11) Outi Virkki Tiedonhallinta

Näkymät ja tiedon suojaus

TIEDONHALLINTA - SYKSY Luento 11. Hannu Markkanen /10/12 Helsinki Metropolia University of Applied Sciences

TIETOKANTOJEN PERUSTEET OSIO 14 MARKKU SUNI

Näkymät ja tiedon suojaus

HELIA 1 (14) Outi Virkki Tiedonhallinta

Kirjasto Relaatiotietokannat Kevät Auvinen Annemari Niemi Anu Passoja Jonna Pulli Jari Tersa Tiina

Muita tietokantaobjekteja. Näkymät, synonyymit, indeksointi, valtuudet ja systeemihakemisto

MUITA TIETOKANTAOBJEKTEJA NÄKYMÄT, SYNONYYMIT, INDEKSOINTI, VALTUUDET JA SYSTEEMIHAKEMISTO

HELIA 1 (15) Outi Virkki Tietokantasuunnittelu

HELIA 1 (16) Outi Virkki Tietokantasuunnittelu

Tietokannanhoitaja DBA (Database Administrator) ja tietokannan hallinta

Tiedonhallinnan perusteet. H11 Ovien ja kulun valvontajärjestelmän tietokanta

HELIA 1 (14) Outi Virkki Tiedonhallinta

Joko tunnet nämän Oracle10g SQL:n piirteet? Kari Aalto Saariston IT

HAAGA-HELIA Heti-09 1 (12) ICT05 Tiedonhallinta ja Tietokannat O.Virkki Näkymät

TIEDONHALLINNAN PERUSTEET - SYKSY 2013

Insert lauseella on kaksi muotoa: insert into taulu [(sarakenimet)] values (arvot)

Tietohakemisto ja Transaktionkäsittely

SQL - STRUCTURED QUERY LANGUAGE

HELIA TIKO-05 1 (22) ICT03D Tieto ja tiedon varastointi E.Räty, O.Virkki

HELIA 1 (21) Outi Virkki Tietokantasuunnittelu

3. Taulujen määrittely ja muuttaminen

SQL. ! nykystandardi SQL3 eli SQL'99. ! CREATE TABLE, ALTER TABLE ja DROP TABLE. ! CREATE VIEW ja DROP VIEW. ! CREATE INDEX ja DROP INDEX

HELIA 1 (14) Outi Virkki Tiedonhallinta

HELIA TIKO-05 1 (17) ICT03D Tieto ja tiedon varastointi Räty, Virkki

4.3.1 SQL tietokanta SQL:n kirjoitusasu SQL määrittelykielenä... 36

HELIA 1 (13) Outi Virkki Tietokantasuunnittelu

Microsoft SQL Server -tietokannan hallinta. Jouni Huotari

CSE-A1200 Tietokannat

HELIA 1 (12) Outi Virkki Tiedonhallinta

TIETOKANTOJEN PERUSTEET OSIO 11 MARKKU SUNI

3. TAULUJEN MÄÄRITTELY JA MUUTTAMINEN

SQL-perusteet, SELECT-, INSERT-, CREATE-lauseet

HAAGA-HELIA Heti-09 1 (14) ICT05: Tiedonhallinta ja Tietokannnat O.Virkki Transaktionkäsittely

Opettajana Mika Sorsa, HAMK:n ammatillisen opettajakoulutuksen opetusharjoittelija

Samanaikaisuuden hallinta. Optiot transaktionaalisissa työnkuluissa

TIETOKANNAT: MYSQL & POSTGRESQL Seminaarityö

Harjoituksen aiheena on tietokantapalvelimen asentaminen ja testaaminen. Asennetaan MySQL-tietokanta. Hieman linkkejä:

select tulostietomäärittely from taulukkeet [where valintaehdot] [group by ryhmitystekijät] [having ryhmärajoitteet] [order by järjestysperusta]

TIETOKANTOJEN PERUSTEET MARKKU SUNI

TIETOKANNANHOITAJA DBA (DATABASE ADMINISTRATOR) JA TIETOKANNAN HALLINTA

Lohtu-projekti. Ylläpitäjän dokumentti. Versiohistoria: Ensimmäinen versio Andreas Asuja

Käyttäjäistunnon poistaminen Pervasive.SQL:stä

Tietokantojen perusteet, s 1999 SQL- osa Harri Laine 1. SQL -ohjelmistojen markkinaosuuksia SQL. SQL - historiaa. SQL - standardointi

Proseduurit, funktiot ja herättimet - esimerkkeinä Oracle, SQL Server, MySQL ja OCELOT. Jouni Huotari S2008

PROSEDUURIT, FUNKTIOT JA HERÄTTIMET - ESIMERKKEINÄ ORACLE, SQL SERVER, MYSQL JA OCELOT JOUNI HUOTARI K2009

HELIA 1 (8) Outi Virkki Tietokantasuunnittelu

D B. Tietokannan hallinta - kurssin tavoite. Kurssilla opitaan periaatteet. Edellytyksenä osallistumiselle on Tietokantojen perusteiden hallinta

Tällä viikolla. Kotitehtävien läpikäynti Aloitetaan Pelifirman tietovaraston suunnittelu Jatketaan SQL-harjoituksia

Käyttöoikeudet ja käyttäjähallinta

CS-A1150 Tietokannat CS-A1150 Tietokannat / 43

MySQL Maestro. Aleksi Korpela IST4SO Markus Lamminaho IST4SO

HOJ Haja-aiheita. Ville Leppänen. HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.1/10

LINUX-HARJOITUS, MYSQL

Tiedonhallinnan perusteet. Viikko 1 Jukka Lähetkangas

Haaga-Helia / TIKO-05 1 (12) Tietokannan suunnittelu ja Toteutus Outi Virkki

Hakukyselyt: SELECT * FROM taulu WHERE sarake1 = Malli Nimi [WHERE sarake1 LIKE M% ] [WHERE BETWEEN ehto1 AND ehto2] [WHERE sarake1 IN/= (alikysely)]

Täysautomatisoitu raportointiympäristö. Joni-Petteri Paavilainen Jani Alatalo

Helsingin yliopisto/tktl Tietokantojen perusteet, s 2007 SQL:n perusteet. Harri Laine 1. SQL tietokantakieli. SQL tietokantakieli

Tietokannan hallinta. Kevät 2004 Jan Lindström R&G Chapter 1

Tietokantakurssit / TKTL

CS-A1150 Tietokannat CS-A1150 Tietokannat / 44

Tietokantojen perusteet, syksy 1999 SQL- osa Harri Laine 1. SQL-yhteenvetofunktiot. SQL-yhteenvetofunktiot

Maestro Lappeenranta Mannerheiminkatu Lappeenranta. Maestro Helsinki Huopalahdentie Helsinki

Helsingin yliopisto, tktl DO Tietokantojen perusteet, kevät 2000 SQL- osa Harri Laine 1. SQL-yhteenvetofunktiot. SQL-yhteenvetofunktiot

HELIA 1 (19) Outi Virkki Tietokantasuunnittelu

HELIA 1 (11) Outi Virkki Tiedonhallinta

AUTOVISTA VIS KÄYTTÄJÄHALLINTA

Helsingin yliopisto, tktl DO Tietokantojen perusteet, kevät 2000 SQL- osa Harri Laine 1. SQL-yhteenvetofunktiot. SQL-yhteenvetofunktiot

HELIA 1 (15) Outi Virkki Tiedonhallinta

Tietokannat. CREATE TABLE table(col1,col2,... ); Luo uuden taulun. CREATE TABLE opiskelijat(opnumero,etunimi,sukunimi);

Written by Administrator Monday, 05 September :14 - Last Updated Thursday, 23 February :36

HARJOITUS 2: Käyttäjien ja käyttäjäryhmien luominen, Active Directory Users and Computers

TIEDONHALLINTA - SYKSY Luento 8. Saapumisryhmä: Pasi Ranne /9/13 Helsinki Metropolia University of Applied Sciences

Kari Aalto Saariston IT

Java ja tietokannan käsittely (JDBC)

MY STANDARD -OHJE. mystandard.hansaworld.com. Standard ERP Pilvipalvelu Sivu 1/6

Tietokantojen perusteet k2004helsingin yliopisto/tktl Tietokantojen perusteet, s 2005 SQL-perusteet. Harri Laine 1. SQL tietokantakieli

Denormalisointia turvallisesti. Ougf syysseminaari Pörssitalo Helsinki Timo Raitalaakso

HELIA 1 (17) Outi Virkki Tietokantasuunnittelu

Lohdutus - tietokantadokumentti

Käyttöohje Planeetta Internet Oy

Tietokannat. CREATE TABLE table(col1,col2,... ); Luo uuden taulun. CREATE TABLE opiskelijat(opnumero,etunimi,sukunimi);

Tietokannat II -kurssin harjoitustyö

Oraclen syvin ydin. Pertti Eiskonen Yleisradio Oy Tietokanta-asiantuntija. OUGF syysseminaari 2002 Sivu 1

määritellä ja muokata tietokantaa ja sen käyttöoikeuksia virittää tietokannan talletusrakenteita hakea tietoa tietokannasta

DOORS Word DOORS SoftQA Pekka Mäkinen

Tietotekniikan laitos Käki-projekti TIETOKANTASUUNNITELMA. 1. Johdanto

HSMT Tietokannoista. Ville Leppänen. HSMT, c Ville Leppänen, IT, Turun yliopisto, 2008 p.1/32

Ohjelmistojen mallintamisen ja tietokantojen perusteiden yhteys

Maiju Mykkänen Susanna Sällinen

Harjoitustehtävä 1. Harjoitustehtävä 2. Harjoitustehtävä 2. Harjoitustehtävä 2. Harjoitustehtävä 2. SQL kysely

Näkymät ja hakemistot

Action Request System

HYÖDYNNÄ SUBSCRIPTION-ETUSI

Liitokset - haut useaan tauluun

HAAGA-HELIA TIKO - Heti09 1 (22) ICT05 Tiedonhallinta ja Tietokannat E.Räty, O.Virkki, M.Laiho

FinFamily PostgreSQL installation ( ) FinFamily PostgreSQL

Käyttöopas. ADAP-KOOL AK-ST 500 Oy Danfoss Ab / Kylmäosasto 1

Transkriptio:

HELIA 1 (15) Luento 2.6 Käyttöoikeuksista ja suojauksesta... 2 Suojausten suunnittelu... 3 Käyttäjätunnukset... 4 Tunnuksen luominen... 5 Tunnuksen muuttaminen... 6 Tunnuksen poistaminen... 6 Oikeudet / Valtuudet... 7 Oikeuksien hallinta SQL-92:ssa... 8 Suojaustarkkuus?... 9 Roolit... 10 Oracle 7 & 8:... 11 Roolien käytön suunnittelu... 13 Roolien hierarkia?... 13 Roolien keskinäinen suhde?... 13 Rivitason suojaus... 14 Käytön seuranta... 15

HELIA 2 (15) Käyttöoikeuksista ja suojauksesta Yhteiskäyttöisissä tietokannoissa on huolehdittava tiedon suojauksesta Ä (tietojen luvaton luku, muuttaminen, tuhoaminen, ) Ä Myös suojaukset on suunniteltava, muuten tulee sotkua... Ä Muista laki ja hyvät tavat Ä Pääsyä tietokannan tietoihin kontrolloidaan 1. Tunnistamalla käyttäjät (identifiointi / autentikointi) 2. Antamalla käyttäjille käyttöoikeuksia (auktorisointi)

HELIA 3 (15) Suojausten suunnittelu Ä Lähtökohtana a) Tehtäväanalyysi b) Tietotarveanalyysi Tieto käyttäjä matriisit / -taulukot mikä käyttäjäryhmä tarvitsee mitäkin tietoa (Tieto toiminto matriisit / -taulukot) mitä tietoa mihinkin tehtävään tarvitaan mikä käyttäjäryhmä tekee mitäkin tehtäviä esim. Tieto käyttäjä matriisi: Ratsastuskilpailu Seuran Jäsensihteersihteeri Kilpailu- Jäsen Kaikki hallitus Seura S, I, U S S S S Kilpailu S, I, U, D S S, U S S Luokka S, I, U, D S S, U S S Lähtö S S S, U S, I S Jäsen S S, I, U S S, I - Ratsu S - S, I, U, D I - Maksu S S, I, U - - - Tehtävä I, U, D S S, U S S Tehtäväkilpailuissa S S S, I, U, D S, I S Ohjelma I, U, D S S, U S S S = Select I = Insert U = Update D = Delete

HELIA 4 (15) Käyttäjätunnukset Ä SQL-92 ei sano mitään käyttäjistä (users) se tuntee vain käsitteen <authorization identifier> Authorization identifier user name + PUBLIC käsittää kaikki käyttäjät Ä Käyttäjätunnusten luonti ja ylläpito yleensä DBA:n huoli...

HELIA 5 (15) Tunnuksen luominen Ä SQL-92 ei määrittele käyttäjien luontitapaa! Å Oracle syntaksi: CREATE USER.<user-name> IDENTIFIED BY <password>.. [DEFAULT TABLESPACE <tablespace_name>] [TEMPORARY TABLESPACE <tablespace_name>] [QUOTA <space_amount> UNLIMITED on <tablespace_name>]... [PROFILE <profile_name> CREATE USER lintu IDENTIFIED BY koskelo DEFAULT TABLESPACE linnut_ts TEMPORARY TABLESPACE temp_ts QUOTA UNLIMITED ON linnut_ts QUOTA 10M ON temp_ts QUOTA 5M on system PROFILE perus Ä Tunnuksen luomisen lisäksi sille on annettava käyttöoikeus tietokantaan <-- tarkista ORACLE 8 GRANT CONNECT TO <user_name>

HELIA 6 (15) Tunnuksen muuttaminen ALTER USER <user_name>... DEFAULT ROLE <role_name> Kaikki samat määritykset annettavissa kuin CREATE USER lauseessa ALTER USER lintu DEFAULT ROLE ALL EXCEPT poikanen Tunnuksen poistaminen DROP USER <user_name> [CASCADE]

HELIA 7 (15) Oikeudet / Valtuudet SQL-92: Oikeus Taulu Näkymä Sarake Domain Select X X Insert X X X Update X X X Delete X X References X X Usage X Ä Oikeuksissa ja niiden toteutuksissa tiedonhallintajärjestelmäkohtaisia eroja! Ä Objektien omistajalla on aina kaikki oikeudet omistamiinsa objekteihin Å Muille käyttäjille oikeudet annettava erikseen Ä PUBLIC käyttäjäryhmälle annetut oikeudet periytyvät kaikille käyttäjille

HELIA 8 (15) Oikeuksien hallinta SQL-92:ssa GRANT <privilege-list> ON <object-name> TO <user-list> [WITH GRANT OPTION] GRANT SELECT, UPDATE ON henkilo TO kayttaja WITH GRANT OPTION REVOKE [GRANT OPTION FOR] < privilege-list> ON <object-name> FROM <user-list> [CASCADE RESTRICT] REVOKE SELECT, UPDATE ON henkilo FROM kayttaja

HELIA 9 (15) Suojaustarkkuus? Tyypillisesti oikeudet myönnetään taulukohtaisesti Usein on tarvetta rajata käyttöoikeuksia rivitasolla Useimmat tiedonhallintaohjelmistot eivät tue rivitason suojausta, toteutus... a) Sovellusohjelmassa b) Tietokannassa näkymien avulla Usein on tarvetta rajata käyttöoikeuksia kenttätasolla Useat tiedonhallintaohjelmistot eivät tue kenttätason suojausta (standardista huolimatta), toteutus... Tyypillisesti näkymien avulla SQL-92:ssa oikeudet annetaan käyttäjä(tunnus)kohtaisesti monissa tiedonhallintajärjestelmissä oikeudet voidaan antaa ryhmä-/roolikohtaisesti (helpottaa ylläpitoa)

HELIA 10 (15) Roolit Ä E mukana SQL-92:ssa Ä Mukana SQL3:ssa Idea: Käyttäjä 1 Taulu 1 Käyttäjä 2 Taulu 2 Käyttäjä n. Taulu n Käyttäjä 1 Taulu 1 Käyttäjä 2 Rooli 1 Taulu 2 Käyttäjä n. Taulu n Helpottaa suuresti käyttöoikeuksien ylläpitoa

HELIA 11 (15) Oracle 7 & 8: CREATE ROLE <role_name> [IDENTIFIED BY <password> ALTER ROLE <role_name> [IDENTIFIED BY <password> DROP ROLE <role_name> Å Rooleille myönnetään oikeudet kuten käyttäjille GRANT INSERT, UPDATE, DELETE ON lähtö TO kilpailusihteeri + Käyttäjille (tai rooleille) myönnetään oikeudet (taulujen sijasta) rooleihin GRANT kilpailusihteeri TO janne + Rooli on lisäksi aktivoitava tai se on määriteltävä yhdeksi oletusrooleista (DEFAULT ROLE määrittely ALTER USER lauseessa) SET ROLE <role_list> ALL ALL EXCEPT <role_list> NONE Ä Aktivoimalla rooli sovelluksen käynnistyksen yhteydessä ja deaktivoimalla se sovelluksen käytön päätyttyä voidaan tietokannan käyttö sovellusohjelman ohi estää

HELIA 12 (15) Oraclessa useita järjestelmätason oikeuksia ja rooleja ns. SYSTEM PRIVILEGES ja SYSTEM ROLES Esim system privileges ALTER ANY ROLE ALTER ANY TABLE ALTER USER CREATE ANY INDEX CREATE ANY TABLE CREATE USER... Esim: System roles: CONNECT RESOURCE DBA... Ä Oracle ei enää suosittele systeemi-roolien käyttöä...

HELIA 13 (15) Roolien käytön suunnittelu Roolien hierarkia? a) Vain 1-tasoisia rooleja? b) 2-tasoiset roolit: 1. sovelluskohtaiset roolit oikeudet tauluihin 2. tehtäväkohtaiset roolit oikeudet sovellusrooleihin 3. käyttäjät oikeudet tehtävärooleihin c) Useampitasoisia rooleja? Roolien keskinäinen suhde? a) eksklusiiviset roolit? b) inklusiiviset roolit?

HELIA 14 (15) Rivitason suojaus Esim. Kunkin osaston työntekijät saavat nähdä vain oman osastonsa projektitiedot. Osastoja on ainakin 20.... TYOLAINEN(henkilo#, hlon_nimi, osasto#, user_id,...) OSASTO(osasto#, osaston_nimi,...) PROJEKTI(projekti#, projektin_nimi, osasto#,...) CREATE VIEW w_projekti_os AS SELECT Projekti#, Projektin_nimi,... FROM projekti, tyolainen WHERE tyolainen.user_id = USER AND projekti.osasto# = tyolainen.osasto#

HELIA 15 (15) Käytön seuranta Ä Joskus saattaa olla tarkoituksenmukaista kerätä lokitietoa tietokantaan tehdyistä muutoksista Kuka on muuttanut Roihun palkkatietoja? Milloin tämä tuote on tullut myyntiin? Å Usein tauluun liitetään ylimääräisiä kenttiä lokitiedon tallennusta varten: Luonti-pvm Luonti-kjatunnus Paivitys-pvm Paivitys-kjatunnus Ä Päivitystietoihin jää merkintä vain viimeisestä päivityksestä Ä Poistosta ei voi tallentaa tietoa poistetun tietueen yhteyteen Ä Joissakin tiedonhallintajärjestelmissä voidaan tallentaa kaikki tietokantaan tehdyt päivitykset erilliseen lokitiedostoon (voi kasvaa nopeasti varsin suureksi) Ä Tietokantasuunnittelussa voidaan myös varautua lokitietojen tarpeellisuuteen (esim. käyttötilin tietoihin ei kirjata saldon tilan muutosta, vaan kukin tapahtuma omalle rivilleen)