GRANT, REVOKE è DENY Database Permissions
L'Ughjineta di cuntrollu di u cuntrollu (DCL) hè un subunzone di a Lingua Query Structured (SQL) è permette à l'amministratori di basa di dati di cunfigurà l'accessu di sicurezza à e dati in relazione. Addiscite a Lingua di Definitu di Datu (DDL), chì hè utilizata per aghjunghje è di sguassà l'objettivi di basa di dati, è u Liceu di Manipulazione di Dati (DML) utilizatu per ricercà, inserisce è mudificà u cuntenutu di una basa di dati.
DCL hè u megliu di i sottumessi SQL , chì si compone di solu trè cumandamenti: GRANT, REVOKE è DENY. Hè cumbinatu, sti trè guidati fornite l'amministrazione cù a fluria per stabiliscia è scumpressate i permessi di basa di una moda assai granulosa.
Adding permissions With the GRANT Command
U cumanda GRANT hè utilizatu da i amministratori per aghjunghje novi permessi per un utilizatori di basa di dati . Hà una sintassi simplice è definitu di a siguenti:
GRANT [privilege] ON [object] TO [user] [CON OPTION]Quì hè u disturbu à ogni paràmetu chì pudete furnisce cù questu cumanda:
- U privilegiu pò esse a chjave ALL (per cuncede una varietà larga di permessi) o un permessu di basa di dati specifichi o settice di permessi. Esempii include CREATE DATABASE, SELECT, INSERT, UPDATE, DELETE, EXECUTE è CREATE VIEW.
- L'uggettu pò esse qualsiasi oggettu di basa. L'opere di privilege vale hè variatu nantu à u tipu d'oggettu di basa di dati chì avete include in questa clause. Di genere, l'ughjettu serà o una basa di dati, funzione, prucedure , tabella o visione.
- L'utilizatori pò esse qualsiasi usu di basa di dati. Pudete ancu sustituisce un rollu per l'usu in questa clause s'ellu vulete utilizà a basa di basa di basa di rollu.
- Se includenu a facultativa cù a subestazione OPTION OPTION à a fine di u cumandimentu GRANT, ùn solu cuncede l'usu specificu di i permessi definite in a basa SQL, ma dà ancu à l'utilizatori l'abilità di cuncede i stessi permessi à l' altri utilizatori di basa di dati. Per questu causa, usa questa clause cun cura.
Per esempiu, assume chì vulete uttene à l'uperazione Joe l'abilità di ricuperazione d'infurmazioni da a tabella di ipertanti in una basa di dati chjamatu HR. Puderete utilizà a funzione SQL sèguinu:
GRANT SELECT ON L'HR.employees TO JoeJoe hà avà avè l'abilità di ricuperà l'infurmazioni da a table di l'affari. Ùn serà micca uttene, per esse, puderà dà altri permessi di l'utilizatori per recuperarie l'informazioni da quella tavula perchè ùn anu micca inclatu a CUNDIZIONA cù a CUNCANTA D'OPERATION in a declarazione GRANT.
Résidence d'Access Database
U cumandante REVOKE hè utilizatu per sguassà l'accessu di basa di l'accessu à un utilizatore cuncede l'accessu. A sintassi per questu cumandamentu hè definitu cumu seguente:
REVOKE [OPTION GRANT] [permesso] ON [objettu] FROM [user] [CASCADE]Quì hè u resuranza di i paràmetri per u cumandariu di REVOKE:
- Permission specifies the database permissions to remove from user identified. U cumandante revoka l'assertzioni DONI GRANT e DENY avè fattu prima per u permessu identificatu.
- L'uggettu pò esse qualsiasi oggettu di basa. L'opere di privilege vale hè variatu nantu à u tipu d'oggettu di basa di dati chì avete include in questa clause. Di genere, l'ughjettu serà o una basa di dati, funzione, prucedure, tabella o visione.
- L'utilizatori pò esse qualsiasi usu di basa di dati. Pudete ancu sustituisce un rollu per l'usu in questa clause s'ellu vulete utilizà a basa di basa di basa di rollu.
- A scelta di OPERAZIONE DESTRATE elimina l'abilità di l'usu specificu di cuncede l'autorizazione specificata à altri utilizatori. Nota : Se includenu a scelta di OPERAZIONE DI URE in una declarazione REVOKE, u permessu primu hè micca revucatu. Questa clause revoka sola l'abilità cuncedente.
- L'opcion CASCADE revoka ancu a permissionu specificatu da qualsiasi usu chì l'utilizatore specificu cuncede l'autorizazione.
Per esempiu, u cumandimu seguitu revoka l'autorizazioni accurdati à Joe in l'esempiu previu:
REVOKE SELECT ON HR.employees FROM JoeEsplicitamente Denying Database Access
L'ordine DENY hè utilizatu per impedisce esplèndicamente chì un utilizatore riceve un permess particulari. Questu hè utile when un utilizatore hè un membru di un rolu o gruppu chì hè garantitu u permessu, è vulete impedisce chì l'usu pirsuni riittite u permessu creendu una persunzione. A sintassi per questu cumandamentu hè dinò:
DENY [permission] ON [object] TO [user] I parametri per l'ordine DENY sò idèntici à quelli chì sò usatu per u cumandante GRANT.
Per esempiu, avete vulutu assicurà chì Matthew ùn avè mai ricevutu a capacità di sguassà infurmazioni da u tabellu d'impiegati, dispunì u cumandimu seguitu: