Veita, endurnýja og hafna gagnagrunnsleyfi
The Data Control Language (DCL) er undirhópur Structured Query Language (SQL) og gerir gagnagrunnstjórnendum kleift að stilla öryggisaðgang að samskiptareglum. Það viðbót við Data Definition Language (DDL), sem er notað til að bæta við og eyða gagnagrunni hlutum og Data Manipulation Language (DML) notað til að sækja, setja inn og breyta innihaldi gagnagrunns.
DCL er einfaldasta af SQL undirflokkum , þar sem það samanstendur af aðeins þrjú skipanir: GRANT, REVOKE og DENY. Samanlagt veita þessar þrjár skipanir stjórnendur sveigjanleika til að setja og fjarlægja gagnagrunnsheimildir á afar kornalegu hátt.
Bæti heimildir með GRANT stjórn
GRANT stjórnin er notuð af stjórnendum til að bæta við nýjum heimildum gagnagrunns notanda . Það hefur mjög einfalt setningafræði, skilgreint sem hér segir:
GRANT [forréttindi] á [mótmæla] til [notandi] [með möguleika á möguleika]Hér er umfjöllun um hverja breytu sem þú getur framboð með þessari stjórn:
- Forréttindi geta verið annaðhvort leitarorðið ALL (til að veita fjölbreyttar heimildir) eða tiltekið gagnagrunnsleyfi eða sett heimildir. Dæmi eru CREATE DATABASE, SELECT, INSERT, UPDATE, DELETE, EXECUTE og CREATE VIEW.
- Hlutur getur verið hvaða gagnagrunnshlutur sem er. Gildirréttarvalkostirnir eru breytilegir eftir því hvaða gerð gagnagrunnar er að finna í þessari grein. Venjulega er hluturinn annaðhvort gagnagrunnur, virka, geymdur aðferð , borð eða skoðun.
- Notandi getur verið hvaða gagnasafn notandi. Þú getur einnig skipt um hlutverk fyrir notandann í þessum ákvæðum ef þú vilt nota öryggisafrit sem byggir á hlutverki.
- Ef þú færir valfrjálst MEÐ GRANT OPTION setninguna í lok GRANT stjórn, gefur þú ekki aðeins tilgreint notanda heimildir sem eru skilgreindar í SQL staðhæfingunni heldur einnig gefa notandanum möguleika á að veita sömu heimildir gagnvart öðrum gagnagrunni notendum. Af þessum sökum skaltu nota þessa ákvæði með varúð.
Segjum til dæmis að þú viljir veita notandanum Joe möguleika á að sækja upplýsingar frá starfsmannatöflunni í gagnagrunni sem kallast HR. Þú gætir notað eftirfarandi SQL skipun:
GRANT SELECT ON HR.employees TO JoeJoe mun nú hafa getu til að sækja upplýsingar frá starfsmannaborðinu. Hann mun hins vegar ekki geta veitt öðrum notendum heimild til að sækja upplýsingar frá því borði vegna þess að þú hafir ekki meðfylgjandi ákvæði GRÖFURVALS í GRANT yfirlýsingunni.
Afturköllun gagnasafns
REVOKE stjórnin er notuð til að fjarlægja aðgang að gagnagrunni frá notanda sem áður hefur fengið slíkan aðgang. Samheitiið fyrir þessa skipun er skilgreint sem hér segir:
REVOKE [veita möguleika fyrir] [leyfi] ON [mótmæla] FRÁ [notandi] [CASCADE]Hér er umfjöllun um breytur fyrir REVOKE stjórn:
- Leyfi tilgreinir heimildir gagnagrunnsins til að fjarlægja frá tilgreindum notanda. Skipunin afturkallar bæði GRANT og DENY fullyrðingar sem áður voru gerðar fyrir tilgreind leyfi.
- Hlutur getur verið hvaða gagnagrunnshlutur sem er. Gildirréttarvalkostirnir eru breytilegir eftir því hvaða gerð gagnagrunnar er að finna í þessari grein. Venjulega er hluturinn annaðhvort gagnagrunnur, virka, geymdur aðferð, borð eða skoðun.
- Notandi getur verið hvaða gagnasafn notandi. Þú getur einnig skipt um hlutverk fyrir notandann í þessum ákvæðum ef þú vilt nota öryggisafrit sem byggir á hlutverki.
- GRANT OPTION FOR clause fjarlægir getu tilgreint notanda til að veita tilteknu leyfi til annarra notenda. Athugaðu : Ef þú færð GRANT OPTION FOR clause í REVOKE yfirlýsingu er aðal heimildin ekki afturkölluð. Þessi ákvæði afturkallar aðeins styrkleikann.
- CASCADE valkosturinn afturkallar einnig tilgreint leyfi frá öllum notendum sem tilgreindur notandi veitti leyfi.
Til dæmis, eftirfarandi skipun afturkalla leyfi veitt til Joe í fyrra dæmi:
ENDURNÝJA SELECT ON HR.employees FROM JoeVafalaust neitað aðgangur að gagnagrunninum
The DENY stjórnin er notuð til að koma í veg fyrir að notandi fái sérstakt leyfi. Þetta er gagnlegt þegar notandi er meðlimur í hlutverki eða hópi sem hefur fengið leyfi og þú vilt koma í veg fyrir að einstaklingur noti erfingja leyfisins með því að skapa undanþágu. Samheitiið fyrir þessa stjórn er sem hér segir:
Neita [leyfi] á [mótmæla] til [notandi] Breytur fyrir kommandann DENY eru eins og þær sem notaðar eru fyrir GRANT skipunina.
Til dæmis, ef þú vilt tryggja að Matthew myndi aldrei fá hæfileika til að eyða upplýsingum úr starfsmannatöflunni skaltu gefa út eftirfarandi skipun: