Мова кіравання дадзенымі (DCL)

GRANT, REVOKE і DENY дазволаў базы дадзеных

Мова кіравання дадзенымі (DCL) з'яўляецца падмноствам Structured Query Language (SQL) і дазваляе адміністратарам баз дадзеных для налады доступу да бяспекі рэляцыйных баз дадзеных. Ён дапаўняе мову вызначэння дадзеных (DDL), які выкарыстоўваецца для дадання і выдалення аб'ектаў базы дадзеных, і мова маніпулявання дадзеных (DML), які выкарыстоўваецца для здабывання, ўстаўкі і змяняць змесціва базы дадзеных.

DCL з'яўляецца самым простым з падмноства SQL , так як яна складаецца з трох каманд: GRANT, REVOKE, і DENY. У сукупнасці гэтыя тры каманды забяспечваюць адміністратарам гнуткасць для ўстаноўкі і выдалення дазволаў базы дадзеных у надзвычай грануляванай форме.

Даданне дазволаў З GRANT Command

Каманда GRANT выкарыстоўваецца адміністратарамі для дадання новых дазволаў для карыстальніка базы дадзеных . Яна мае вельмі просты сінтаксіс, вызначаецца наступным чынам:

GRANT [прывілей] ON [аб'ект] TO [карыстальнік] [WITH GRANT OPTION]

Вось кароткі выклад кожнага з параметраў, якія можна паставіць з дапамогай гэтай каманды:

Напрыклад, выкажам здагадку, што вы хочаце, каб даць карыстальніку Джо магчымасць атрымліваць інфармацыю з табліцы супрацоўнікаў у базе даных пад назвай HR. Вы можаце выкарыстоўваць наступную SQL каманду:

GRANT SELECT, НА HR.employees Джо

Джо цяпер будзе мець магчымасць атрымліваць інфармацыю з табліцы супрацоўнікаў. Ён не будзе, аднак, мець магчымасць прадастаўляць іншым карыстальнікам дазволу для атрымання інфармацыі з гэтай табліцы, таму што вы не ўключылі WITH GRANT OPTION пункт ў аператары GRANT.

Ануляванне доступу да баз дадзеных

Каманда REVOKE выкарыстоўваецца для выдалення доступу да базы дадзеных ад карыстальніка, раней прадастаўленага такога доступу. Сінтаксіс гэтай каманды вызначаецца наступным чынам:

REVOKE [GRANT OPTION FOR] [дазволу] ON [аб'екта] з [карыстальнік] [КАСКАД]

Вось кароткі выклад аб параметрах каманды REVOKE:

Напрыклад, наступная каманда анулюе дазвол, прадастаўленае Джо ў папярэднім прыкладзе:

КЕУОКЕ ВЫБАР на HR.employees ад Джо

Відавочны Адмаўляючы доступ да баз дадзеных

Каманда адмаўляў выкарыстоўваецца відавочна забараніць карыстальніку атрымліваць адмысловы дазвол. Гэта карысна, калі карыстальнік з'яўляецца членам ролі або групы, якая атрымала дазволу, і вы хочаце, каб прадухіліць гэта асобны карыстальнік успадкаваць дазволу, ствараючы выключэнне. Сінтаксіс гэтай каманды выглядае наступным чынам:

Забаранілі [дазвол] на [аб'ект] на [карыстальнік]

Параметры каманды Deny ідэнтычныя тым, якія выкарыстоўваюцца для каманды GRANT.

Напрыклад, калі вы хацелі, каб гарантаваць, што Мэцью ніколі не атрымае магчымасць выдаляць інфармацыю з табліцы супрацоўнікаў, запусціце наступную каманду:

DENY DELETE ON HR.employees ад Матфея