Jezik za kontrolu podataka (DCL)

GRANT, REVOKE i DENY Database Permissions

Jezik za kontrolu podataka (DCL) je podskup Structured Query Language (SQL) i dozvoljava administratorima baze podataka da konfigurišu sigurnosni pristup relacionim bazama podataka. On dopunjuje Jezik definisanja podataka (DDL), koji se koristi za dodavanje i brisanje objekata baze podataka, a Jezik za upravljanje podacima (DML) koji se koristi za preuzimanje, umetanje i modifikovanje sadržaja baze podataka.

DCL je najjednostavniji od SQL podmnožica , jer se sastoji samo od tri naredbe: GRANT, REVOKE i DENY. Kombinovane, ove tri komande pružaju administratorima fleksibilnost da postavljaju i uklanjaju dozvole baze podataka na izuzetno granularnom načinu.

Dodavanje dozvola s komandom GRANT

Komandu GRANT koriste administratori za dodavanje novih dozvola korisniku korisnika baze podataka . Ima vrlo jednostavnu sintaksu, definisanu na sledeći način:

GRANT [privilegija] ON [objekat] TO [korisnik] [SA GRANTOM OPCIJE]

Evo zadataka za svaki od parametara koje možete da nabavite pomoću ove naredbe:

Na primer, pretpostavite da želite da korisniku Joe-u da preuzme informacije iz tabele zaposlenih u bazi podataka pod nazivom HR. Možete koristiti sledeću SQL komandu:

GRANT IZABRAN JE NA HR.poslovnim osobama TO Joe

Joe će sada imati mogućnost da preuzme informacije sa tabele zaposlenih. Međutim, on neće moći da odobri drugim korisnicima dozvolu za preuzimanje informacija iz te tablice jer niste uključili stavku WITH GRANT OPTION u GRANT izrazu.

Opoziv pristupa bazi podataka

Komanda REVOKE se koristi za uklanjanje pristupa bazi podataka od korisnika koji je prethodno odobrio takav pristup. Sintaksa za ovu komandu definiše se na sledeći način:

REVOKE [GRANT OPTION FOR] [dozvola] ON [objekt] OD [korisnik] [CASCADE]

Evo zadataka o parametrima za naredbu REVOKE:

Na primjer, naredna naredba ukida dozvolu koju je Joe dodelio u prethodnom primjeru:

REVOKE SELECT ON HR.employees IZ Joe

Eksplicitno odbijanje pristupa bazi podataka

DENY naredba se koristi da bi eksplicitno sprečila korisnika da primi određenu dozvolu. Ovo je korisno kada je korisnik član uloge ili grupe kojoj je dodeljena dozvola, a želite da sprečite pojedinačnog korisnika da nasleđuje dozvolu stvaranjem izuzetka. Sintaksa za ovu naredbu je sledeća:

DENY [dozvola] ON [objekt] TO [korisnik]

Parametri za naredbu DENY su identični onima koji se koriste za naredbu GRANT.

Na primjer, ako želite osigurati da Matthew neće dobiti mogućnost brisanja informacija iz tabele zaposlenih, izdajte sljedeću naredbu:

DENY DELETE NA HR.employees TO Matthew