Seminarski Rad - PostgreSQL

download Seminarski Rad - PostgreSQL

of 24

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