GRANT, REVOKE an DENY Datenbank Rechter
D'Data Control Language (DCL) ass eng Ënnergrupp vun der Strukturéierter Query Language (SQL) an erméiglecht den Datenbank Administratoren fir de Zougang zu Relational Datenbanken ze konfiguréieren. Et komplementéiert d'Dateschutz Definitiounssprooch (DDL), déi benotzt gëtt fir Datenbankobjekten ze addéieren an ze deleteéieren an d'Datemannipulatiounssprooch (DML) benotzt fir d'Inhalter vun enger Datebank erauszehuelen, ze insertéieren an ze änneren.
DCL ass déi einfachst vun de SQL-Subsets , well et nëmmen aus dräi Kommandoen besteet: GRANT, REVOKE a DENY. Kombinéiert sinn dës dräi Kommandoen Administrateuren mat der Flexibilitéit fir d'Datebanker Permissiounen an e extrem käregfäeg ze maachen.
Agencen zousätzlech mam GRANT Command
De Kommando GRANT gëtt vun Administrateuren benotzt fir nei Rechter vun engem Datebank vum Benotzer ze addéieren. Et huet eng ganz einfach Syntax, wéi folgend definéiert:
GRANT [privilege] ON [Objekt] op [Benotzer] [MAT GRANT OPTION]Hei ass d'Rettung op all Parameteren, déi Dir mat dësem Kommando leet:
- Privileg kann entweder de Schlësselwuert ALL (fir eng breet Varietéit vun Permis'en ze kréien) oder eng spezifesch Datenbank oder eng Rei vun Permissiounen. Beispiller schécken CREATE DATABASE, SELECT, INSERT, UPDATE, DELETE, EXECUTE a CREATE VIEW.
- Objekt kann all Datenbank Objet sinn. Déi gëltege Privileg-Optioune variéieren jee no der Art vu Datebank Objekt, deen Dir an dëser Klausel enthält. Typesch ass d'Objekt entweder als Datebank, Funktioun, gespäichert Prozedur , Dësch oder Iwwergang.
- Benotzer kann een Datenbanknutzer sinn. Dir kënnt och e Rôle fir de Benotzer an dëser Klausel ersetzen, wann Dir d'Roll vun der Datebank Sécherheet benotze wëllt.
- Wann Dir den optionalen WITH GRANT OPTION- Klausel am Ende vum GRANT-Kommando enthält, ginn Dir déi gewielte Benotzer net déi Permissiounen, déi an der SQL-Anweisung definéiert sinn, gewähren, awer och dem Benotzer d'Méiglechkeet dës selwechte Rechter fir aner Benotzer ze ginn. Aus dësem Grond benotzen dës Klausel mat Pfleeg.
Zum Beispill zielen Iech datt Dir de Benotzer Joe d'Fähë kritt fir d'Informatioun vun der Mataarbechterplaz ze kréien an enger Datebank mam HR. Dir kënnt de folgend SQL-Kommando benotzen:
GRANT SELECT ON HR.employees zu JoeDe Joe wäert d'Fäh hunn d'Informatioun vun der Mataarbechterplaz ze kréien. Hien wäert awer net kënnen aner Benotzer erlaben d'Informatioun vun dëser Tabelle ze retten, well Dir d'Uewe GRANT OPTION-Klausel net an der GRANT Ausso uginn hutt.
Revoking Database Access
De Kommando REVOKE gëtt benotzt fir den Zougang vun den Datenbanken vun engem Benotzer ze benotze fir esou Zougang ze kréien. De Syntax fir dëst Kommando gëtt definéiert wéi folgend:
REVOKE [GRANT OPTION FORT] [Zoustëmmung] ON [Objet] VUN DER [Benotzer] [CASCADE]Hei ass d'Rendez-Vous iwwert d'Parameteren fir de REVOKE Kommando:
- Permission spezifizéiert d'Datebank-Permis'en fir aus dem identifizéierten Benotzer ze läschen. De Kommando widdersichtegt d'GRANT an den DENY Behaaptungen déi virdrun fir d'identifizéiert Erlaabnes gemaach goufen.
- Objekt kann all Datenbank Objet sinn. Déi gëltege Privileg-Optioune variéieren jee no der Art vu Datebank Objekt, deen Dir an dëser Klausel enthält. Typesch ass d'Objekt entweder als Datebank, Funktioun, gespäichert Prozedur, Dësch oder Iwwergang.
- Benotzer kann een Datenbanknutzer sinn. Dir kënnt och e Rôle fir de Benotzer an dëser Klausel ersetzen, wann Dir d'Roll vun der Datebank Sécherheet benotze wëllt.
- De GRANT OPTION FOR Clause eliminéiert de Fichier vum spezifizéierten Benotzer fir déi uginnte Rechter fir aner Benotzer ze kréien. Remarque : Wann Dir d' GRANT OPTION FIR Klausel an enger REVOKE-Erklärung enthält, gëtt d'Primärer Erlaabnes net zréck . Dës Klausel schwéngt nëmmen d'Bezuelungskapazitéit.
- De Fonktionnement CASCADE widderert d'spezifizéiert Erlaabnes vu all Benotzer, datt de spezifizéierte Benotzer d'Erlaabnis huet.
Zum Beispill wéckelt de nächste Kommando d'Erlabnis fir den Joe beim selwechte Beispill aus:
REVOKE SELECT ON HR.employees FROM JoeExplizéieren Äert Datebank Zougrëff
Den Kommando DENY gëtt benotzt fir explizit verhënneren datt de Benotzer e bestëmmte Permissiounen kréien. Dëst ass hëllelëch wann e Benotzer en Deel vun enger Rôl oder Grupp gëtt, déi eng Autorisatioun kritt huet an Dir wëllt verhënneren dass eenzel Benotzer net erlaabt d'Erlaubnis duerch eng Ausnahm. De Syntax fir dëst Kommando ass folgend:
DENY [permission] ON [Objekts] [User] D'Parameter fir den Kommando DENY sinn identesch mat deenen déi fir den Befehl GRANT benotzt ginn.
Zum Beispill, wann Dir wëllt séchergestallt datt de Matthew net d'Fäh hunn d'Informatioun vun der Mataarbechterplaz ze leschen, gitt de folgendes Kommando: