Primerjalna tabela
Podlaga za primerjavo | Grant | Prekliči |
---|---|---|
Osnovno | Ukaz Grant se uporablja za dajanje privilegijev uporabnikom. | Ukaz Revoke se uporablja za odvzem privilegijev uporabnikov. |
Ko je nadzor decentraliziran | Dodeljevanje je preprostejše. | Opustitev je precej zapletena. |
Sintaksa | nepovratnih sredstev na na; | prekliče na od; |
Opredelitev dotacije
Skrbnik baze podatkov v ukazu SQL definira ukaz GRANT za omogočanje dostopa ali pooblastil uporabnikom baze podatkov. Tri glavne komponente, ki sodelujejo pri avtorizaciji, so uporabniki, privilegiji (operacije) in objekt baze podatkov. Uporabnik je tisti, ki sproži izvajanje aplikacijskega programa. Operacije so komponenta, ki je vgrajena v aplikacijski program. Operacije se izvajajo v objektih baze podatkov, kot je ime relacije ali ime pogleda.
SYNTAX ukaza GRANT:
nepovratnih sredstev
na
na;
Tukaj lahko seznam privilegijev vključuje izbiro, vstavljanje, posodabljanje in brisanje operacij ali kombinacijo le-teh. Ti trije vidiki ukaza se pred nadaljevanjem preverijo z avtorizacijsko kontrolo.
Ko lastniški račun A1 v relaciji (tabela) R dodeli privilegij drugemu računu A2 na R, lahko račun A2 dostopa do razmerja R in je pooblaščen, da da privilegije drugemu računu na R. Če A1 prekliče privilegije iz A2 na R1 bodo potem vsi privilegiji, ki jih A2 širi, samodejno preklican. Torej lahko tako razširjamo privilegije na tabelah. Tako mora DBMS, ki dovoljuje razmnoževanje, slediti privilegijem, ki so dodeljene, tako da se lahko privilegiji zlahka prekličejo.
Vzemimo primer, ki ponazarja podeljevanje privilegijev. Imamo dve shemi za tabele Fakulteta in Oddelek ter račune A1 in A2.
GRANT SELECT, INSERT, UPDATE O FAKULTETU, ODDELEK DO A1, A2;
V zgornjem primeru lahko račun A1 in A2 izvajata operacije izbire, vstavljanja in posodabljanja na tabeli zaposlenih in oddelkov.
Opredelitev preklica
Ukaz REVOKE v SQL je definiran za odvzem odobrenih pravic (pooblastil) od uporabnika baze podatkov. Tisti, ki ima pooblastilo za umik privilegijev, je skrbnik baze podatkov.
SYNTAX z ukazom REVOKE:
prekliče
na
od;
Ukaz je podoben ukazu podelitve, razen za preklic ključne besede in "od". V danem ukazu se operacije, vključene v privilegij, prekličejo za določen seznam uporabnikov ali vlog. Preklic postane zapleten, ko se privilegiji prenašajo z enega uporabnika na drugega.
Vzemimo podoben primer, ki ponazarja preklic privilegijev.
REVOKE INSERT, UPDATE O FAKULTETU, ODDELU OD A1, A2;
V zgoraj navedenem primeru so računi A1 in A2 umaknjeni iz svojih pravic in nista dovoljeni izvajati operacije vstavljanja in posodabljanja na tabeli zaposlenih in oddelkov.
Ključne razlike med dodelitvijo in preklicem
- Ukaz Grant podeli privilegije uporabniku, medtem ko ukaz Revoke umakne privilegije od uporabnika.
- V centraliziranem sistemu lahko ukaze DCL GRANT in REVOKE preprosto izvedete. Ko je nadzor decentraliziran, so poizvedbe bolj prilagodljive, vendar zapletene. Z ukazom GRANT je preprosto obravnavati, v primeru ukaza REVOKE pa je rekurziven na način.
Zaključek
Ukaz GRANT daje privilegije ali dostop uporabnikom objektov baze podatkov. Po drugi strani pa se ukaz REVOKE uporablja za odstranjevanje pravic ali privilegijev uporabnikov objektov baze podatkov.