Adatvezérlő nyelv (DCL)

GRANT, REVOKE és DENY adatbázis engedélyek

A Data Control Language (DCL) a strukturált lekérdezési nyelv (SQL) egy részhalmaza, és lehetővé teszi az adatbázis-adminisztrátorok számára a relációs adatbázisokhoz való biztonsági hozzáférést. Ez kiegészíti az adatbázis-objektumok hozzáadására és törlésére szolgáló Adatmeghatározási Nyelv (DDL), valamint az adatbázis tartalmának visszakeresésére, beillesztésére és módosítására használt Adatkezelési Nyelv (DML).

A DCL a legegyszerűbb SQL részegységek , mivel csak három parancsból áll: GRANT, REVOKE és DENY. Ez a három parancs kombinálja a rendszergazdák számára a rugalmasságot az adatbázis-jogosultságok rendkívül szemcsés módon történő beállításához és eltávolításához.

Engedélyek hozzáadása a GRANT paranccsal

A GRANT parancsot a rendszergazdák használják új jogosultságok hozzáadására az adatbázis-felhasználó számára . Nagyon egyszerű szintaxisa, a következőképpen definiált:

GRANT [privilege] BE [objektum] [felhasználó] [WITH GRANT OPTION]

Itt van a rundown az egyes paraméterekkel, amelyeket ezzel a paranccsal megadhat:

Tegyük fel például, hogy szeretné megadni a felhasználónak Joe-nak a HR munkatársain található információk lekérését. A következő SQL parancsot használhatja:

GRANT VÁLASZTÁS A HR.employees TO Joe-ra

Joe most képes lekérni az információkat a munkavállalók asztaltól. Ugyanakkor nem tudja megadni a többi felhasználónak az információknak az asztalról való letöltését, mert a GRANT utasításban nem szerepelt a WITH GRANT OPTION záradék.

Adatbázis-hozzáférés visszavonása

A REVOKE parancs segítségével eltávolíthatja az adatbázis hozzáférését egy olyan felhasználótól, aki korábban ilyen hozzáférést kapott. A parancs szintaxisa a következő:

REVOKE [GRANT OPTION FOR] [engedély] ON [objektum] FROM [felhasználó] [CASCADE]

Itt található a REVOKE parancs paraméterei:

Például az alábbi parancs visszavonja az előző példában Joe számára megadott engedélyt:

REVOKE KIVÁLASZTJA a HR munkatársakat Joe-tól

Explicit módon megtagadja az adatbázishoz való hozzáférést

A DENY parancs használatával kifejezetten megakadályozható, hogy a felhasználó bizonyos engedélyt kapjon. Ez akkor hasznos, ha egy felhasználó olyan szerepkör vagy csoport tagja, amelyhez engedélyt kapott, és meg akarja akadályozni, hogy az egyes felhasználók örökölhessék az engedélyt kivétel létrehozásával. A parancs szintaxisa a következő:

DENY [engedély] ON [object] TO [felhasználó]

A DENY parancs paraméterei azonosak a GRANT parancshoz használt paraméterekkel.

Például, ha biztosítani szeretné, hogy Matthew soha nem kapja meg az információ törlését a munkavállalók asztaltól, adja ki a következő parancsot:

TENNI TÖRLÉS A HR munkatársakról Matthew-ra