SQL DCL

SQL DCL (Structured Query Language - Data Control Language)

Namen stavkov SQL DCL jezika je preprečevanje nepooblaščenih dostopov do podatkov v PB.

Nasvet: sistem dodeljevanja pravic naj bo voden in nadzorovan iz enega centra. Denimo, da je za to odgovoren skrbnik (admin) PB.

SQL DCL stavki omogočajo:

- dodajanje in brisanje uporabnikov / skupin;
- spreminjanje podatkov o uporabnikih;
- dodajanje in odvzemanje uporabniških pravic;
- dodajanje in odvzemanje dostopnih pravic predmetom PB (sprožilcem, shranjenim proceduram, ...);
- pregledovanje uporabniških skupin in vseh dodeljenih pravic.

Pozor: tudi SQL DCL je močno odvisen od izbranega SUPB-ja!

Definiranje uporabnikov in uporabniških skupin

Definiranje uporabnikov

> CREATE USER ime_uporabnika;

Definiranje skupin uporabnikov

> CREATE GROUP ime_skupine; ali
> CREATE ROLE ime_skupine;

Dodajanje uporabnikov v skupino

> ALTER GROUP ime_skupine ADD USER ime_uporabnika; ali
> GRANT ime_skupine TO ime_uporabnika;

Dodeljevanje pravic

> GRANT pravica ON ime_tabele TO ime_uporabnika|ime_skupine; ali
> GRANT pravica ON ime_tabele TO GROUP ime_skupine;

Odvzemanje pravic

> REVOKE pravica ON ime_tabele TO ime_uporabnika; ali
> REVOKE pravica ON ime_tabele TO GROUP ime_skupine;

Primer PostgreSQL skripte za definiranje uporabniških pravic:

> > /* naredi skupino*/
> > Create group Informator;

> > /* kreira uporabnike */
> > Create user Skrbnik;
> > Create user Matej;
> > Create user Peter;

> > /* polni skupino */
> > Alter group Informator add user Matej;
> > Alter group Informator add user Peter;

> > /* dodeljuje pravice skupini */
> > Grant select on Drzava to group Informator;
> > Grant select on Praznik to group Informator;
> > ...
> > Grant select on Drzava to Skrbnik;

> > /* dodeljuje pravice uporabnikom */
> > Grant update on Drzava to Skrbnik;
> > Grant delete on Drzava to Skrbnik;
> > ...

> Primer podobne skripte za PB Firebird:

> > /* kreiranje skupine */
> > Create Role "Informator";

> > /* dodajanje uporabnikov v skupino */
> > Grant "Informator" to "Matej";
> > Grant "Informator" to "Peter";

> > /* definiranje pravic skupine */
> > Grant select on "Drzava" to "Informator";
> > Grant select on "Praznik" to "Informator";
> > Grant select on "Proslava" to "Informator";
> > Grant select on "Ima" to "Informator";< /p>

> > Opomba: v PB Firebird se uporabniška imena in gesla naredijo in spreminjajo s posebnim programom gsec.