SQL DCL
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
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.