Jezik za upravljanje podacima (DCL)

Dopuštenja za dozvole GRANT, REVOKE i DENY

Jezik kontrole podataka (DCL) je podskup Strukturiranog jezika upita (SQL) i omogućuje administratorima baze podataka da konfiguriraju pristup sigurnosti u relacijskim bazama podataka. Ona nadopunjuje jezik za definiranje podataka (DDL), koji se koristi za dodavanje i brisanje objekata baze podataka, a jezik za manipulaciju podacima (DML) koji se koristi za preuzimanje, umetanje i izmjenu sadržaja baze podataka.

DCL je najjednostavniji od SQL podskupova , jer se sastoji od samo tri naredbe: GRANT, REVOKE i DENY. Kombinacijom, ove tri naredbe pružaju administratorima fleksibilnost za postavljanje i uklanjanje dopuštenja baze podataka na iznimno zrnatom način.

Dodavanje dozvola pomoću naredbe GRANT

Administratorica koristi naredbu GRANT za dodavanje novih dozvola korisniku baze podataka . Ima vrlo jednostavnu sintaksu, definiranu kako slijedi:

GRANT [povlastica] ON [objekt] NA [korisnika] [S GRANT OPTION]

Evo rundown na svakom od parametara koje možete dostaviti s ovom naredbom:

Na primjer, pretpostavimo da želite omogućiti korisniku Joeu mogućnost dohvaćanja podataka iz tablice zaposlenika u bazi podataka zvanom HR. Možete upotrijebiti sljedeću SQL naredbu:

GRANT ODABRANI NA HR.employees TO Joe

Joe će sada moći preuzeti podatke iz tablice zaposlenika. Međutim, neće moći odobriti drugim korisnicima dozvolu za preuzimanje podataka iz te tablice jer niste uključili klauzulu WITH GRANT OPTION u izjavi GRANT.

Opoziv pristupa bazi podataka

Naredba REVOKE koristi se za uklanjanje pristupa bazi podataka od korisnika koji je prethodno odobrio takav pristup. Sintaksa za ovu naredbu definirana je kako slijedi:

REVOKE [GRANT OPTION FOR] [dopuštenje] ON [object] FROM [korisnik] [CASCADE]

Evo rundown na parametrima naredbe REVOKE:

Na primjer, sljedeća naredba ukida dozvolu dodijeljenu Joeu u prethodnom primjeru:

REVOKE ODABIR NA HR.employees FROM Joe

Eksplicitno uskraćivanje pristupa bazi podataka

Naredba DENY upotrebljava se za izričito sprječavanje korisnika da primi određenu dozvolu. To je korisno kada je korisnik član uloge ili grupe kojoj je odobrena dozvola, a želite spriječiti da pojedini korisnik nasljeđuje dozvolu stvaranjem iznimke. Sintaksa za ovu naredbu je sljedeća:

DENY [dopuštenje] ON [object] TO [user]

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

Na primjer, ako želite osigurati da Matej nikada ne dobije mogućnost brisanja podataka iz tablice zaposlenika, izdajte sljedeću naredbu:

ZAKLJUČITE O HR