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.