Download as pdf or txt
Download as pdf or txt
You are on page 1of 21

1

ZA
ZA

TITA BAZE
TITA BAZE
PODATAKA
PODATAKA
Za Za tita od neovla tita od neovla tenog tenog
kori kori tenja tenja
Sigurnost Sigurnost
osigurava se da su korisnici ovla osigurava se da su korisnici ovla teni za teni za
izvr izvr avanje odreene akcije avanje odreene akcije
unaprijed moraju biti definirana pravila tj. ovlasti unaprijed moraju biti definirana pravila tj. ovlasti
pravila se pohranjuju u rje pravila se pohranjuju u rje nik podataka nik podataka
SUBP nadgleda i osigurava po SUBP nadgleda i osigurava po tivanje pravila tivanje pravila
2
Na Na in za in za tite podataka tite podataka
mandatni pristup mandatni pristup
svaki objekt ima oznaku razine ovlasti svaki objekt ima oznaku razine ovlasti
svaki korisnik dobije oznaku razine ovlasti svaki korisnik dobije oznaku razine ovlasti
objekt je dostupan samo onim korisnicima koji imaju objekt je dostupan samo onim korisnicima koji imaju
odgovaraju odgovaraju u razinu ovlasti u razinu ovlasti
diskrecijski pristup diskrecijski pristup
korisnik ima razli korisnik ima razli ita prava pristupa nad razli ita prava pristupa nad razli itim itim
objektima objektima
razli razli iti korisnici imaju razli iti korisnici imaju razli ita prava nad istim ita prava nad istim
objektima objektima
naj naj e e e se koristi e se koristi
Dozvole pristupa Dozvole pristupa
korisnik korisnik
odreeni korisnik odreeni korisnik
gost ( gost (guest guest) )
grupa korisnika grupa korisnika
bilo koji korisnik ( bilo koji korisnik (public public) )
objekt objekt
baza podataka baza podataka
tablica tablica
atribut atribut
skup n skup n- -torki torki tablice tablice
virtualna tablica virtualna tablica
pohranjena procedura pohranjena procedura
3
(Od)Spajanje na bazu (Od)Spajanje na bazu
samo DBO ( samo DBO (database database owner owner vlasnik baze ) vlasnik baze )
mo mo e dati, ili oduzeti, nekom drugom korisniku e dati, ili oduzeti, nekom drugom korisniku
dozvolu nad bazom i objektima u bazi dozvolu nad bazom i objektima u bazi
ali prvo tom korisniku mora ali prvo tom korisniku mora dati dati dozvolu dozvolu
spajanja na bazu: spajanja na bazu:
sp_adduser sp_adduser ' 'user_l user_login ogin ' '
[ [ , ' , 'user user_ _in_db in_db' ' ] [ ] [ , ' , 'group group' ' ] ]
Primjer 1: Primjer 1:
EXEC EXEC sp_adduser sp_adduser ' 'imaric imaric', ' ', 'ivica ivica' ', , v v' '
kada je novi korisnik kada je novi korisnik dodan dodan u bazu DBO u bazu DBO
mo mo e sada definirati dozvole novog korisnika e sada definirati dozvole novog korisnika
nad ovom bazom naredbama: nad ovom bazom naredbama:
GRANT GRANT daje dozvole korisniku daje dozvole korisniku
REVOKE REVOKE uklanja korisniku prije dodijeljene uklanja korisniku prije dodijeljene
dozvole dozvole
DENY DENY negira dodijeljene dozvole negira dodijeljene dozvole
oduzimanje dozvole spajanja na bazu: oduzimanje dozvole spajanja na bazu:
sp_dropuser sp_dropuser ' 'user user_ _in_db in_db' '
Primjer 2: Primjer 2:
EXEC EXEC sp_dropuser sp_dropuser ' 'ivica ivica' '
4
GRANT GRANT
GRANT GRANT
naredba kojom administrator (DBA naredba kojom administrator (DBA - - DataBase DataBase
Administrator) ili vlasnik (DBO Administrator) ili vlasnik (DBO - - DataBase DataBase
Owner Owner) ostalim korisnicima dozvoljava ) ostalim korisnicima dozvoljava
rad s objektima u odreenoj bazi podataka rad s objektima u odreenoj bazi podataka
izvr izvr avanje odreene avanje odreene Transact Transact- -SQL naredbe SQL naredbe
dozvole kreiranja objekata dozvole kreiranja objekata
GRANT { GRANT { ALL | ALL | dozvola dozvola [ [ , ,...n ...n] ] } }
TO TO security_account security_account [ [ , ,... ...n n ] ]
5
Dozvole Dozvole
CREATE DATABASE CREATE DATABASE
BACKUP DATABASE BACKUP DATABASE
BACKUP LOG BACKUP LOG
CREATE DEFAULT CREATE DEFAULT
CREATE RULE CREATE RULE
CREATE TABLE CREATE TABLE
CREATE VIEW CREATE VIEW
CREATE FUNCTION CREATE FUNCTION
CREATE CREATE
PROCEDURE PROCEDURE
security_account security_account
odreeni korisnik odreeni korisnik
(npr. (npr. imaric imaric) )
grupa korisnika grupa korisnika
([domena ([domena\ \]ime_grupe) ]ime_grupe)
PUBLIC PUBLIC
GUEST GUEST
Primjer 3: Primjer 3:
GRANT CREATE TABLE TO PUBLIC GRANT CREATE TABLE TO PUBLIC
svim korisnicima (PUBLIC) je dana dozvola kreiranja tablica u za svim korisnicima (PUBLIC) je dana dozvola kreiranja tablica u zadanoj danoj
bazi podataka bazi podataka
GRANT CREATE PROCEDURE TO ivica GRANT CREATE PROCEDURE TO ivica
korisnik ivica je jo korisnik ivica je jo dobio dozvolu kreiranja procedure u trenutnoj bazi dobio dozvolu kreiranja procedure u trenutnoj bazi
podataka podataka
ostali korisnici nemaju pravo kreiranja procedure u ovoj bazi al ostali korisnici nemaju pravo kreiranja procedure u ovoj bazi ali imaju i imaju
pravo kreiranja tablica pravo kreiranja tablica
6
DEFAULT DEFAULT
CREATE DEFAULT CREATE DEFAULT default default AS AS ' 'konst_vrij konst_vrij' ' ; ;
sp_bindefault sp_bindefault default default, , ' 'ime_tabl ime_tabl. .ime_atr ime_atr' '; ;
sp_ sp_un unbindefault bindefault default default, , ' 'ime_tabl ime_tabl. .ime_atr ime_atr' '; ;
DROP DEFAULT DROP DEFAULT default default; ;
Primjer 4 Primjer 4: :
student { student {stud_id stud_id ( (identity identity), ime ( ), ime (not not null null), prezime ), prezime } }
INSERT INTO student(prezime) VALUES ( INSERT INTO student(prezime) VALUES (' 'Mati Mati ' '); );
CREATE DEFAULT ime AS CREATE DEFAULT ime AS ' 'nepoznato nepoznato' ' ; ;
EXEC EXEC sp_bindefault sp_bindefault ime, ime, ' 'student.ime student.ime' '; ;
INSERT INTO student(prezime) VALUES ( INSERT INTO student(prezime) VALUES (' 'Mati Mati ' '); );
Column No entry, no
default
No entry,
default
Enter NULL, no
default
Enter NULL,
default
NULL NULL default NULL NULL
NOT NULL Error default error error

ERROR ! ERROR ! ERROR ! ERROR !
OK ! OK ! OK ! OK !
RULE RULE
CREATE RULE CREATE RULE pravilo pravilo AS AS uvjet; uvjet;
sp_bindrule sp_bindrule pravilo, pravilo, ' 'ime_tabl.ime_atr ime_tabl.ime_atr' ' ; ;
podaci koji postoje u datoteci prije kreiranja ovog podaci koji postoje u datoteci prije kreiranja ovog
pravila se ne provjeravaju; provjeravaju se samo nove pravila se ne provjeravaju; provjeravaju se samo nove
vrijednosti vrijednosti
uvjet mo uvjet mo e biti bilo koji izraz koji se koristi u WHERE e biti bilo koji izraz koji se koristi u WHERE
dijelu SQL dijelu SQL- -naredbi i mo naredbi i mo e uklju e uklju ivati elemente kao ivati elemente kao to to
su aritmeti su aritmeti ki i relacijski operatori, IN, LIKE, ki i relacijski operatori, IN, LIKE,
BETWEEN BETWEEN
uvjet ne mo uvjet ne mo e biti nikakva referenca na druge atribute e biti nikakva referenca na druge atribute
uvjet mo uvjet mo e biti predstavljen bilo kojim imenom ili e biti predstavljen bilo kojim imenom ili
simbolom ali mora po simbolom ali mora po eti znakom eti znakom @. @.
sp_unbindrule sp_unbindrule ' 'ime_tabl.ime_atr ime_tabl.ime_atr' ' ; ;
DROP RULE DROP RULE pravilo; pravilo;
7
Primjer 5: Primjer 5:
ispit { ispit {stud_ID stud_ID, pred_ID, dat_ispit, ocjena} , pred_ID, dat_ispit, ocjena}
INSERT INTO ispit VALUES (1, 1, INSERT INTO ispit VALUES (1, 1, ' '1948 1948- -12 12- -08 08' ' , 8); , 8);
CREATE RULE CREATE RULE raspon_ocjena raspon_ocjena
AS @ AS @ocjena ocjena >= >= 1 1 AND @ AND @ocjena ocjena < <= 5; = 5;
EXEC EXEC sp_bindrule sp_bindrule raspon_ocjena, raspon_ocjena, ' 'ispit.ocjena ispit.ocjena' ' ; ;
INSERT INTO ispit VALUES (6, 1, INSERT INTO ispit VALUES (6, 1, ' '1948 1948- -12 12- -08 08' ' , 8); , 8);
ERROR ! ERROR ! ERROR ! ERROR !
OK ! OK ! OK ! OK !
Dozvole nad objektima Dozvole nad objektima
GRANT GRANT
{ ALL [ { ALL [ PRIVILEGES PRIVILEGES] | ] | dozvola dozvola [ [ , ,... ...n n ] } ] }
{ {
[ [ ( ( column column [ [ , ,... ...n n ] ] ) ) ] ON { ] ON { table table | | view view } }
| ON { | ON { table table | | view view } [ } [ ( ( column column [ [ , ,... ...n n ] ] ) ) ] ]
| ON { | ON { stored_procedure stored_procedure | | extended_procedure extended_procedure } }
| ON { | ON { user_defined_function user_defined_function } }
} }
TO TO security_account security_account [ [ , ,... ...n n ] ]
[ WITH GRANT OPTION ] [ WITH GRANT OPTION ]
[ AS { [ AS { group group | | role role } ] } ]
8
Dozvole Dozvole
Tablica/ Tablica/view view
SELECT SELECT
INSERT INSERT
UPDATE UPDATE
DELETE DELETE
REFERENCES REFERENCES
ALL ALL sve dozvole za sve dozvole za
tablicu/ tablicu/view view
Procedura Procedura
EXECUTE EXECUTE
security_account security_account
pojedina pojedina ni korisnik ni korisnik
grupa korisnika grupa korisnika
WITH GRANT OPTION WITH GRANT OPTION
omogu omogu uje korisniku koji je dobio dozvolu da je prenosi na uje korisniku koji je dobio dozvolu da je prenosi na
druge korisnike u okviru svojih druge korisnike u okviru svojih DBO vi DBO vi e ne mo e ne mo e e
kontrolirati tko kontrolirati tko e dobiti tu dozvolu koju je on dao e dobiti tu dozvolu koju je on dao
AS { AS {group group | | role role} }
koristi se kad je neka dozvola dodijeljena grupi korisnika i koristi se kad je neka dozvola dodijeljena grupi korisnika i
kori kori teno je WITH GRANT OPTION teno je WITH GRANT OPTION
da bi pripadnik te grupe dodijelio dozvolu dobivenu kao da bi pripadnik te grupe dodijelio dozvolu dobivenu kao lan lan
grupe, on mora ovim dijelom naredbe prenijeti svoje dozvole grupe, on mora ovim dijelom naredbe prenijeti svoje dozvole
drugom korisniku drugom korisniku
9
Primjer 6: Primjer 6:
user user: vest : vest\ \ivica ivica
DBO: DBO:
GRANT UPDATE( GRANT UPDATE(pbrStan pbrStan, adresa), DELETE , adresa), DELETE
ON student TO ivica; ON student TO ivica; (1) (1)
GRANT ALL ON mjesto TO ivica GRANT ALL ON mjesto TO ivica
WITH GRANT OPTION; WITH GRANT OPTION; (2) (2)
GRANT SELECT ON student TO vest GRANT SELECT ON student TO vest
WITH GRANT OPTION; WITH GRANT OPTION; (3) (3)
ivica: ivica:
GRANT DELETE ON mjesto TO GRANT DELETE ON mjesto TO perica perica; ;
GRANT SELECT ON student TO GRANT SELECT ON student TO perica perica AS vest; AS vest;
Pogled ( Pogled (view view) )
virtualne tablice koje se formiraju kao posebna virtualne tablice koje se formiraju kao posebna
organizacijska jedinica u bazi podataka organizacijska jedinica u bazi podataka
nema svoje indekse nema svoje indekse
nema datoteke s podacima nema datoteke s podacima
pristupa im se kao i obi pristupa im se kao i obi nim tablicama nim tablicama
10
IF EXISTS IF EXISTS
(SELECT TABLE_NAME (SELECT TABLE_NAME
FROM FROM INFORMATION_SCHEMA.VIEWS INFORMATION_SCHEMA.VIEWS
WHERE TABLE_NAME = ' WHERE TABLE_NAME = 'view view_ _name name') ')
DROP VIEW DROP VIEW view view_ _name name
GO GO
CREATE VIEW CREATE VIEW view_name view_name [ [ ( ( column column [ [ , ,... ...n n ] ] ) ) ] ]
[ WITH < view_attribute > [ [ WITH < view_attribute > [ , ,...n ] ] ...n ] ]
AS AS
select_statement select_statement
[ WITH CHECK OPTION ] [ WITH CHECK OPTION ]
pogledi imaju ista imena atributa kao i tablice pogledi imaju ista imena atributa kao i tablice
nad kojim je pogled napravljen nad kojim je pogled napravljen
promjena naziva atributa: promjena naziva atributa:
CREATE VIEW CREATE VIEW ime_v_tab ime_v_tab (nazivi atributa) (nazivi atributa)
AS AS
novi_naziv=atribut novi_naziv=atribut
CREATE VIEW naziv AS CREATE VIEW naziv AS
SELECT novo_ime=ime FROM student; SELECT novo_ime=ime FROM student;
atribut AS novi_naziv atribut AS novi_naziv
CREATE VIEW naziv AS CREATE VIEW naziv AS
SELECT ime AS novo_ime FROM student; SELECT ime AS novo_ime FROM student;
11
WITH CHECK OPTION WITH CHECK OPTION
dodatna ograni dodatna ograni enja enja
provjerava da li se unosom ili a provjerava da li se unosom ili a uriranjem podataka uriranjem podataka
u pogledu naru u pogledu naru avaju ograni avaju ograni enja odreena u enja odreena u
WHERE dijelu definicije pogleda WHERE dijelu definicije pogleda
DROP VIEW DROP VIEW view_name view_name
uklanjanje pogleda uklanjanje pogleda
Primjer 7: Primjer 7:
CREATE VIEW student_1 AS CREATE VIEW student_1 AS
SELECT SELECT mat_broj=stud_ID mat_broj=stud_ID, , pbrStan pbrStan AS stanuje AS stanuje
FROM student FROM student
WHERE YEAR( WHERE YEAR(datRod datRod)=1982; )=1982;
WITH CHECK OPTION; WITH CHECK OPTION;
Primjer 8: Primjer 8:
CREATE VIEW student_2( CREATE VIEW student_2(stud_ID stud_ID, stanuje, predmet) AS , stanuje, predmet) AS
SELECT SELECT student.stud_ID student.stud_ID, , pbrStan pbrStan, naziv_pred , naziv_pred
FROM student, ispit, predmet FROM student, ispit, predmet
WHERE WHERE student.stud_ID=ispit.stud_ID student.stud_ID=ispit.stud_ID
AND ispit.pred_ID=predmet.pred_ID AND ispit.pred_ID=predmet.pred_ID
AND YEAR( AND YEAR(datRod datRod)=1982; )=1982;
12
Mijenjanje i unos u pogled Mijenjanje i unos u pogled
nisu dozvoljeni nisu dozvoljeni
ako je pogled formiran dohva ako je pogled formiran dohva anjem podataka iz anjem podataka iz
vi vi e tablica e tablica
ako je pogled formiran kao UNION ako je pogled formiran kao UNION query query
ako je pogled formiran grupnim upitom ako je pogled formiran grupnim upitom
ako je bilo koji atribut pogleda stvoren pomo ako je bilo koji atribut pogleda stvoren pomo u u
agregatne funkcije agregatne funkcije
ako se pri formiranju pogleda koristi DISTINCT ako se pri formiranju pogleda koristi DISTINCT
ako je pogled formiran pomo ako je pogled formiran pomo u slo u slo enog upita sa enog upita sa
podupitom podupitom
kod unosa ili a kod unosa ili a uriranja podataka kroz pogled: uriranja podataka kroz pogled:
u pogled se ne unose n u pogled se ne unose n- -torke torke koje ne zadovoljavaju koje ne zadovoljavaju
navedeni uvjet ( navedeni uvjet ( kontrola unosa kontrola unosa ) )
da nema WITH CHECK OPTION u originalnu da nema WITH CHECK OPTION u originalnu
tablicu bi se kroz pogled mogle upisivati sve n tablicu bi se kroz pogled mogle upisivati sve n- -torke torke
bez obzira na to da li zadovoljavaju sva pravila bez obzira na to da li zadovoljavaju sva pravila
Primjer 9: Primjer 9:
INSERT INTO student_2 VALUES( INSERT INTO student_2 VALUES( ) )
INSERT INTO student_1 VALUES( INSERT INTO student_1 VALUES( ) )
unijet unijet e se podaci u student_1 ako zadovoljavaju uvjet, te e se podaci u student_1 ako zadovoljavaju uvjet, te e se unijeti u e se unijeti u
student ako student ako une une ena ena n n- -torka torka zadovoljava sva pravila u student zadovoljava sva pravila u student- -u u
da nema WITH CHECK OPTION podaci bi se unijeli u student_1 ako da nema WITH CHECK OPTION podaci bi se unijeli u student_1 ako
zadovoljavaju uvjet te svakako u student bez obzira da li zadovo zadovoljavaju uvjet te svakako u student bez obzira da li zadovoljavaju ljavaju
zadana pravila ili ne zadana pravila ili ne
ERROR ! ERROR ! ERROR ! ERROR !
OK ! OK ! OK ! OK !
13
Procedure Procedure
procedura koristi objekte s ovlastima korisnika procedura koristi objekte s ovlastima korisnika
koji je proceduru pokrenuo koji je proceduru pokrenuo
ovlasti koje su dobivene mogu se koristiti ovlasti koje su dobivene mogu se koristiti
samo unutar procedure, ne i globalno na samo unutar procedure, ne i globalno na
objekte u bazi objekte u bazi
Primjer 10: Primjer 10:
DBO: ivica DBO: ivica
student student perica perica ima dozvolu ima dozvolu
mjesto, ispit mjesto, ispit perica perica nema dozvolu nema dozvolu
CREATE PROCEDURE proc1 () CREATE PROCEDURE proc1 ()
koriste se tablice student, mjesto, ispit koriste se tablice student, mjesto, ispit
END PROCEDURE; END PROCEDURE;
GRANT EXECUTE ON proc1 TO GRANT EXECUTE ON proc1 TO perica perica; ;
kada kada perica perica poku poku a izvr a izvr iti proceduru proc1 on mo iti proceduru proc1 on mo e koristiti tablicu student e koristiti tablicu student
(ima (ima svoju svoju dozvolu), te tablice mjesto i ispit (privremeno se prenosi od dozvolu), te tablice mjesto i ispit (privremeno se prenosi od
ivice) ali samo u okviru te procedure ivice) ali samo u okviru te procedure
perica perica (izvan procedure) (izvan procedure)
SELECT * FROM student; SELECT * FROM student;
SELECT * FROM mjesto; SELECT * FROM mjesto;
ERROR ! ERROR ! ERROR ! ERROR !
OK ! OK ! OK ! OK !
14
REVOKE REVOKE
REVOKE REVOKE
uklanja dozvole dodijeljene GRANT ili DENY uklanja dozvole dodijeljene GRANT ili DENY
naredbom naredbom
koristi se samo u trenutnoj bazi podataka koristi se samo u trenutnoj bazi podataka
oduzimanje dozvola za kreiranja objekata oduzimanje dozvola za kreiranja objekata
REVOKE { ALL | REVOKE { ALL | dozvola dozvola [ [ , ,... ...n n ] } ] }
FROM FROM security_account security_account [ [ , ,... ...n n ] ]
Primjer 11: Primjer 11:
REVOKE CREATE PROCEDURE FROM ivica REVOKE CREATE PROCEDURE FROM ivica
15
Dozvole nad objektima Dozvole nad objektima
REVOKE [ GRANT OPTION FOR ] REVOKE [ GRANT OPTION FOR ]
{ ALL [ PRIVILEGES ] | { ALL [ PRIVILEGES ] | dozvola dozvola [ [ , ,... ...n n ] } ] }
{ {
[ [ ( ( column column [ [ , ,... ...n n ] ] ) ) ] ON { ] ON { table table | | view view } }
| ON { | ON { table table | | view view } [ } [ ( ( column column [ [ , ,... ...n n ] ] ) ) ] ]
| ON { | ON { stored_procedure stored_procedure | | extended_procedure extended_procedure } }
| ON { | ON { user_defined_function user_defined_function } }
} }
{ TO | FROM } { TO | FROM }
security_account security_account [ [ , ,... ...n n ] ]
[ CASCADE ] [ CASCADE ]
[ AS { [ AS { group group | | role role } ] } ]
CASCADE CASCADE
koristi se kad se koristi se kad se eli ukinuti dozvola koja je eli ukinuti dozvola koja je
dodijeljena s dodijeljena s WITH GRANT OPTION WITH GRANT OPTION svim svim
korisnicima koji su dobili dozvolu s tog korisnicima koji su dobili dozvolu s tog izvora izvora se se
ukida ista ta dozvola ukida ista ta dozvola
ako nema CASCADE, naredba REVOKE uklanja ako nema CASCADE, naredba REVOKE uklanja
dozvolu samo korisniku ili grupi koja je navedena u dozvolu samo korisniku ili grupi koja je navedena u
FROM FROM| |TO dijelu REVOKE naredbe, osim ako iz TO dijelu REVOKE naredbe, osim ako iz
te dozvole nisu proiza te dozvole nisu proiza le nove dozvole, tada sustav le nove dozvole, tada sustav
javlja gre javlja gre ku ku
16
Primjer 12: Primjer 12:
DBO: DBO:
GRANT SELECT, UPDATE, INSERT ON student TO ivica GRANT SELECT, UPDATE, INSERT ON student TO ivica
WITH GRANT OPTION WITH GRANT OPTION
ivica: ivica:
GRANT SELECT, UPDATE ON student TO GRANT SELECT, UPDATE ON student TO perica perica
DBO: DBO:
REVOKE REVOKE GRANT OPTION FOR GRANT OPTION FOR SELECT SELECT
ON student FROM ivica CASCADE ON student FROM ivica CASCADE
ukinut ukinut e se dozvola za pregled podataka tablice student i e se dozvola za pregled podataka tablice student i
korisniku ivica i korisniku korisniku ivica i korisniku perica perica
da nema CASCADE dozvola se ukida samo korisniku ivica da nema CASCADE dozvola se ukida samo korisniku ivica
DENY DENY
17
DENY DENY
onemogu onemogu uje odreenog korisnika da uje odreenog korisnika da
nasljeivanjem kroz grupu ili ulogu dobije nasljeivanjem kroz grupu ili ulogu dobije
dozvolu dozvolu
poni poni tava tava GRANT naredbu GRANT naredbu
onemogu onemogu avanje dozvole kreiranja objekata avanje dozvole kreiranja objekata
DENY { ALL | DENY { ALL | statement statement [ [ , ,... ...n n ] } ] }
TO TO security_account security_account [ [ , ,... ...n n ] ]
Dozvole nad objektima Dozvole nad objektima
DENY DENY
{ ALL [ PRIVILEGES ] | { ALL [ PRIVILEGES ] | dozvole dozvole [ [ , ,... ...n n ] } ] }
{ {
[ [ ( ( column column [ [ , ,... ...n n ] ] ) ) ] ON { ] ON { table | view table | view } }
| ON { | ON { table table | | view view } [ } [ ( ( column column [ [ , ,... ...n n ] ] ) ) ] ]
| ON { | ON { stored_procedure stored_procedure | | extended_procedure extended_procedure } }
| ON { | ON { user_defined_function user_defined_function } }
} }
TO TO security_account security_account [ [ , ,... ...n n ] ]
[ CASCADE ] [ CASCADE ]
18
DENY i REVOKE DENY i REVOKE
naredba naredba REVOKE REVOKE uklanja odbijenu dozvolu uklanja odbijenu dozvolu
nekog korisnika i sada korisnik kroz grupu mo nekog korisnika i sada korisnik kroz grupu mo e e
naslijediti tu dozvolu naslijediti tu dozvolu
Primjer 13: Primjer 13:
user user: : vest vest\ \ivica ivica
GRANT SELECT ON student TO vest GRANT SELECT ON student TO vest
svi iz grupe vest imaju dozvolu za pregled podataka iz tablice svi iz grupe vest imaju dozvolu za pregled podataka iz tablice student student
DENY SELECT ON student TO ivica DENY SELECT ON student TO ivica
korisniku ivica to pravo je onemogu korisniku ivica to pravo je onemogu eno eno
REVOKE SELECT ON student TO ivica; REVOKE SELECT ON student TO ivica;
korisnik ivica sad mo korisnik ivica sad mo e iskoristiti dozvolu koju je dobio kao e iskoristiti dozvolu koju je dobio kao lan grupe lan grupe
vest vest
1. zadatak 1. zadatak
Nakon izvr Nakon izvr enja slijede enja slijede ih naredbi koje dozvole imaju korisnici ih naredbi koje dozvole imaju korisnici
ivi ivi , , juri juri i i horvat horvat ? ?
DBO: DBO:
GRANT SELECT, INSERT ON student TO GRANT SELECT, INSERT ON student TO ivi ivi ; ;
GRANT SELECT ON mjesto TO GRANT SELECT ON mjesto TO ivi ivi , , juri juri WITH GRANT OPTION; WITH GRANT OPTION;
GRANT SELECT ON student TO GRANT SELECT ON student TO juri juri WITH GRANT OPTION; WITH GRANT OPTION;
ivi ivi : :
GRANT SELECT ON mjesto TO GRANT SELECT ON mjesto TO horvat horvat; ;
juri juri : :
GRANT SELECT ON mjesto TO GRANT SELECT ON mjesto TO horvat horvat; ;
GRANT SELECT ON student TO GRANT SELECT ON student TO horvat horvat; ;
DBO: DBO:
REVOKE SELECT ON mjesto FROM REVOKE SELECT ON mjesto FROM ivi ivi CASCADE; CASCADE;
REVOKE SELECT ON student FROM REVOKE SELECT ON student FROM juri juri CASCADE; CASCADE;
REVOKE SELECT ON mjesto FROM REVOKE SELECT ON mjesto FROM juri juri ; ;
19
DBO: DBO:
GRANT SELECT, INSERT GRANT SELECT, INSERT
ON student TO ON student TO ivi ivi ; ;
GRANT SELECT GRANT SELECT
ON mjesto TO ON mjesto TO ivi ivi , , juri juri
WITH GRANT OPTION; WITH GRANT OPTION;
GRANT SELECT GRANT SELECT
ON student TO ON student TO juri juri
WITH GRANT OPTION; WITH GRANT OPTION;
ivi ivi : :
GRANT SELECT ON mjesto GRANT SELECT ON mjesto
TO TO horvat horvat; ;
juri juri : :
GRANT SELECT GRANT SELECT
ON mjesto TO ON mjesto TO horvat horvat; ;
GRANT SELECT GRANT SELECT
ON student TO ON student TO horvat horvat; ;
20
DBO: DBO:
REVOKE SELECT REVOKE SELECT
ON mjesto FROM ON mjesto FROM ivi ivi
CASCADE; CASCADE;
REVOKE SELECT REVOKE SELECT
ON student FROM ON student FROM juri juri
CASCADE; CASCADE;
REVOKE SELECT REVOKE SELECT
ON mjesto FROM ON mjesto FROM juri juri ; ;
Rje Rje enje: enje:
ivi ivi : :
SELECT, INSERT SELECT, INSERT
ON student ON student
juri juri : :
- -
horvat horvat: :
SELECT SELECT
ON mjesto ON mjesto
21
2. zadatak 2. zadatak
Napisati niz naredbi: Napisati niz naredbi:
DBO daje sve ovlasti nad tablicom DBO daje sve ovlasti nad tablicom hoteli hoteli grupi grupi abcd abcd ali ne i ali ne i
korisniku korisniku pero; pero; DBO daje grupi dozvolu DBO daje grupi dozvolu s s prenosivim prenosivim
svojstvom svojstvom
DBO korisniku DBO korisniku uro uro, , koji je takoer koji je takoer lan grupe lan grupe abcd abcd, , daje daje
dozvolu pregleda tablice dozvolu pregleda tablice hoteli, hoteli, s prenosivim svojstvom s prenosivim svojstvom
korisniku p korisniku pero ero se ukida onemogu se ukida onemogu ena dozvola za pregled ena dozvola za pregled
podataka tablice podataka tablice hoteli hoteli
uro uro daje dozvolu brisanja i a daje dozvolu brisanja i a uriranja (samo atributa uriranja (samo atributa adresa adresa) )
tablice tablice hoteli hoteli korisniku korisniku mate mate
uro uro daje korisnicima daje korisnicima pero pero i i mate mate dozvolu pregleda tablice dozvolu pregleda tablice
hoteli hoteli
DBO grupi DBO grupi abcd abcd ukida sve dozvole, ali tako da ukine i sve ukida sve dozvole, ali tako da ukine i sve
dozvole koje su proiza dozvole koje su proiza le iz danih dozvola le iz danih dozvola
Koje dozvole imaju sada korisnici Koje dozvole imaju sada korisnici pero, pero, uro uro i i mate mate ? ?
Rje Rje enje enje
DBO: DBO:
GRANT ALL ON hoteli TO GRANT ALL ON hoteli TO abcd abcd
WITH GRANT OPTION; WITH GRANT OPTION;
DENY ALL ON hoteli TO pero; DENY ALL ON hoteli TO pero;
GRANT SELECT ON hoteli TO GRANT SELECT ON hoteli TO uro uro
WITH GRANT OPTION; WITH GRANT OPTION;
REVOKE SELECT ON hoteli TO pero; REVOKE SELECT ON hoteli TO pero;
uro uro: :
GRANT DELETE, UPDATE(adresa) ON hoteli GRANT DELETE, UPDATE(adresa) ON hoteli
TO TO mate mate AS AS abcd abcd; ;
GRANT SELECT ON hoteli TO GRANT SELECT ON hoteli TO mate mate, pero; , pero;
DBO: DBO:
REVOKE GRANT OPTION FOR ALL REVOKE GRANT OPTION FOR ALL
ON hoteli FROM ON hoteli FROM abcd abcd CASCADE; CASCADE;
Korisnici pero, Korisnici pero, uro uro i i mate mate imaju dozvolu za pregled tablice hoteli. imaju dozvolu za pregled tablice hoteli.

You might also like