Seminarski Rad - PostgreSQL
-
Upload
maschietto -
Category
Documents
-
view
257 -
download
2
Transcript of Seminarski Rad - PostgreSQL
-
7/23/2019 Seminarski Rad - PostgreSQL
1/24
Fakultet organizacionih nauka
Univerzitet u Beogradu
Seminarski rad
Sigurnost podataka PostgreSQL:Row-Level Securit and Policies
!entor: pro"#dr $enad %ni&i'
Student: (vana (vanov)*+,.*.,
Beograd/ septem0ar )*+1#
-
7/23/2019 Seminarski Rad - PostgreSQL
2/24
Sadr2a3
+# 40avezni deo##############################################################.
a5 Rad sa logi&kom6zi&kom strukturom 0aze podataka################.
05 Rad sa o03ektima####################################################################1
c5 Plan izvr7avan3a#####################################################################8
d5 Sigurnost###############################################################################9
e5 $apredne "unkci3e################################################################+)
"5 Backup i oporavak#################################################################+,
)# eori3ske osnove########################################################+;
+# 4 PostgreSQL-u####################################################################+;
)# Sigurnost 0aze podataka#######################################################+9
.# Sigurnost u PostgreSQL-u#####################################################+9
,# Row-Level Securit and Policies#############################################)*
.# Primena####################################################################)+
.#+# Primer###############################################################################)+
,# Literatura#################################################################)1
-
7/23/2019 Seminarski Rad - PostgreSQL
3/24
+# 40avezni deo
a5 Rad sa logi&kom6zi&kom strukturom 0aze podataka
-
7/23/2019 Seminarski Rad - PostgreSQL
4/24
Nakon toga prelazi se na kreiranje tabela> ?ao to se mo@e videti na sli2ikreirane su tabele: izjava na2in"obavetavanjausluga i zaposleni>
*lika 6> !zgled nakon kreiranja tabela
05 Rad sa o03ektima
ALTER TA8LE publi2>na2in"obavestavanjaA)) CON*TRA!NT id"pk (R!AR' ?E' Didna2in"obavestavanjaA)) CON*TRA!NT usluga"id"0k IORE!&N ?E' Dusluga"id REIERENCE* publi2>uslugaDid ON 7()ATE NO ACT!ON ON )ELETE NO ACT!ON !zgled tabele zaposleni nakon brisanja kolone
-
7/23/2019 Seminarski Rad - PostgreSQL
7/24
*lika -> !zgled tabele ra2un nakon upisivanja podataka i denisanjasekven2e
c5 Plan izvr7avan3a
Full ta0le scan
?reiran je indeks nad kolonom radnik tabele zaposleni:
CREATE !N)E indeJ"radnikON zaposleni Dradnik
*lika .> uer; plan nakon izvrenja naredbe
-
7/23/2019 Seminarski Rad - PostgreSQL
8/24
Bitmap inde> scan
Nakon izvrsavanja naredbe E(LA!N sele2t K 0rom zaposleni =Fere radnik ,direktor,< dobija se uer; plan koji je prikazan na sli2iD*lika 5:
*lika 5> uer; plan nakon izvrenja naredbe
d5 Sigurnost
Nakonpokuaja izvrenja naredbe sele2t K 0rom zaposleni ispisae se porukaprikazana na sledeoj sli2i:
-
7/23/2019 Seminarski Rad - PostgreSQL
9/24
*lika /> (oruka o nedozvoljenoj radnji
=odavan3e dozvole
Novom korisniku mo@e se omoguiti *ELECT op2ija upotrebom sledeenaredbe:
&RANT *ELECT ON zaposleni to drugi"user (rikaz podataka iz tabele zaposleni
7koliko korisnik pokua !N*ERT u tabelu pojavie se poruka o gre2i:
-
7/23/2019 Seminarski Rad - PostgreSQL
10/24
*lika 3$> &reka nakon pokuaja inserta u tabelu
ePutim korisniku se mo@e dodati !N*ERT op2ija nad odrePenom tabelomnaredbom:
&RANT !N*ERT ON zaposleni to drugi"user Ako se za primer uzme tabelazaposleni"dolas2i koja Buva nazive zaposleniF datume u kojima je proveraizvrena i da li su tada bili na poslu ili ne podatak o broju radniF dana bieveoma znaBajan>*ledea naredba kreira prvu 0unk2iju koja broji radne ineradne dane:
CREATE OR RE(LACE 0un2tion dolas2i3DintS booleanreturns intSlanguage sMlas 0
*ELECT CA*E 6+GEN TR7E TGENarra; 33S U 3 36S S+GEN IAL*E TGENarra; 33S 36S U 3 SEL*E 3EN) HapoBetak Ro= Level *e2urit; mora biti onemoguen nad tabelom :
ALTER TA8LE zaposleni ENA8LE RO+ LE9EL *EC7R!T' Ovo se mo@e videti na sledeem primeru:
set role direktor ?reira se (oli2; koji odrePenom korisniku omoguava Bitanjepodataka iz tabele:
CREATE (OL!C' read"o=n"data ON zaposleni
IOR *ELECT 7*!N& D2urrent"user radnik (ristup poda2ima iz tabele korisnika koji je ulogovan
o@e se kreirati (oli2; koji e dozvoliti ulogovanom korisniku da menja svojepodatke ali tako to 2e postojati CGEC? ograniBenje koje e kontrolisati dakorisnik ne mo@e izmeniti radnika na vrednost koja se razlikuje od nazivakorisnika i da ne mo@e uneti N7LL kao vrednost za kolonu broj"tele0ona> Ovaj(oli2; kreira se na sledei naBin:
CREATE (OL!C' modi0;"o=n"data ON zaposleni
IOR 7()ATE 7*!N& D2urrent"user radnik
+!TG CGEC? Dradnik 2urrent"user AN) broj"tele0ona !* NOT N7LL