Porovnávacia tabuľka
Základ pre porovnanie | grant | odvolať |
---|---|---|
základné | Príkaz Grant sa používa na udelenie privilégií používateľom. | Príkaz Revoke sa používa na odobratie privilégií od používateľov. |
Keď je kontrola decentralizovaná | Poskytovanie je jednoduchšie. | Odvolanie je pomerne zložité. |
syntax | udeliť na na; | odvolať na z; |
Definícia grantu
Správca databázy definuje príkaz GRANT v systéme SQL na poskytnutie prístupu alebo privilégií používateľom databázy. Tri hlavné komponenty, ktoré sa týkajú autorizácie, sú používatelia, privilégiá (operácie) a databázový objekt. Používateľ je ten, kto spustí spustenie aplikačného programu. Operácie sú komponentom, ktorý je vložený do aplikačného programu. Operácie sa vykonávajú na objektoch databázy, ako je vzťah alebo názov pohľadu.
SYNTAX príkazu GRANT:
udeliť
na
na;
Zoznam oprávnení by mohol zahŕňať výber, vloženie, aktualizáciu a odstraňovanie operácií alebo ich kombináciu. Tieto tri aspekty príkazu sú skontrolované kontrolou autorizácie skôr, ako budete pokračovať.
Keď majiteľský účet A1 vzťahu (tabuľka) R udelí oprávnenie inému účtu A2 na R potom účet A2 môže pristupovať k vzťahu R a je oprávnený dať privilégiá na iný účet na R. Ak A1 odoberie privilégiá od A2 na R1 potom všetky oprávnenia, ktoré propaguje A2, budú automaticky zrušené systémom. Takto sa môžu rozšíriť privilégiá na tabuľky. Z tohto dôvodu by DBMS, ktorý umožňuje rozmnožovanie, mal dodržiavať udelené privilégiá, aby mohli byť privilégiá zrušené ľahko.
Ukážme príklad na udelenie privilégií. Máme dve schémy pre tabuľku Fakulty a oddelenie a účty A1 a A2.
GRANT SELECT, INSERT, UPDATE ON FACULTY, ODDELENIE A1, A2;
Vo vyššie uvedenom príklade je povolený účet A1 a A2 vykonávať operácie výberu, vloženia a aktualizácie v tabuľke zamestnancov a oddelení.
Definícia zrušenia
Príkaz REVOKE v systéme SQL je definovaný tak, aby odňal udelené oprávnenia (oprávnenia) od používateľa databázy. Ten, kto má právomoc stiahnuť privilégiá, je správca databázy.
SYNTAX príkazu REVOKE:
odvolať
na
z;
Príkaz je podobný príkazu grant, s výnimkou kľúčového slova "revoke" a "od". V danom príkaze sú operácie zahrnuté v privilégiách zrušené pre konkrétneho používateľa alebo zoznam úloh. Odvolanie sa stáva zložité, keď sú privilégiá propagované z jedného používateľa na druhé.
Ukážme podobný príklad, aby sme ilustrovali zrušenie privilégií.
REVOKE INSERT, AKTUALIZÁCIA FACULTY, ODDELENIE A1, A2;
Vo vyššie uvedenom príklade sú účty A1 a A2 stiahnuté z ich práv a nesmú vykonávať vloženie a aktualizáciu operácií v tabuľke zamestnancov a oddelení.
Kľúčové rozdiely medzi grantom a zrušením
- Príkaz Grant udeľuje používateľovi privilégiá, kým príkaz Revoke odoberie privilégiá od používateľa.
- V centralizovanom systéme je možné ľahko vykonať príkazy DCL GRANT a REVOKE. Keď je kontrola decentralizovaná, dotazy sú flexibilnejšie, ale zložité. Príkaz GRANT je ľahko spracovateľný, ale v prípade príkazu REVOKE je rekurzívny.
záver
Príkaz GRANT poskytuje používateľom privilégiá alebo prístup k objektom databázy. Na druhej strane príkaz REVOKE sa používa na odstránenie práv alebo privilégií od používateľov databázových objektov.