CATEGORII DOCUMENTE |
Privilegiul reprezinta dreptul de a executa un anumit tip de declaratie SQL sau de a accesa obiectele altui utilizator (exemple de privilegii: conectarea la baza, crearea de tabele, selectarea de randuri din tabela altui utilizator, etc.).
Privilegiile pot fi de doua tipuri:
Privilegii de sistem - care permit unui utilizator sa execute un operatii referitoare la baza de date (exemplu: crearea de spatii-tabel);
Privilegii referitoare la obiectele bazei de date - care permit unui utilizator efectuarea de operatii asupra unui obiect (tabela, vedere, secventa,etc).
Controlul privilegiilor de catre administratorul bazei de date cuprinde:
Asiguararea drepturilor pentru utilizator de a efectua un anumit tip de operatii;
Grantarea si revocarea dreptului de a efectua operatii sistem;
Grantarea privilegiilor direct la utilizatori sau roluri;
Grantarea privilegiilor la toti utilizatorii (PUBLIC);
Privilegiile de sistem pot fi impartite in 3 mari categorii:
Privilegii care permit operatii sistem, ca de exemplu: CREATE SESSION, CREATE TABLESPACE;
Privilegii care permit administrarea obiectelor din schema proprie a utilizatorului, ca de exemplu: CREATE TABLE;
Privilegii care permit administrarea obiectelor din orice schema, ca de exemplu: CREATE ANY TABLE;
Operatiile de grantare si revocare a privilegiilor se efectueaza prin intermediul a doua comenzi DDL: GRANT si REVOKE.
Sintaxa comenzii de grantare este urmatoarea:
GRANT
TO
[WITH ADMIN OPTION]
unde,
privilegiu_sistem - reprezinta numele privilegiului care va fi grantat;
rol - reprezinta numele rolului;
PUBLIC - granteaza privilegiul la toti utilizatorii;
WITH ADMIN OPTION - permite celui care a fost grantat cu acest privilegiu sa poate sa il granteze si el mai departe.
O varianta alternativa de grantare a unui privilegiu sistem este folosirea utilitarului Oracle Entreprise Manager:
Din meniul corespunzator bazei de date la care s-a realizat conexiunea se efectueaza urmatoarele operatii:
selecteaza Database
se selecteaza Security
se selecteaza Users.
se selecteaza utilizatorul caruia ii va fi grantat prvilegiul
se selecteaza pagina System Privileges
se selecteaza privilegiile care vor fi grantate.
Pentru finalizarea actiunilor se apasa butonul Apply.
In figura 1 se granteaza utilizatorului TEST privilegiul ALTER ANY PROCEDURE.
Figura 1
Sintaxa comenzii de revocare este urmatoarea:
REVOKE
FROM
unde,
privilegiu_sistem - reprezinta numele privilegiului care va fi revocat;
rol - reprezinta numele rolului;
PUBLIC - revoca privilegiul la toti utilizatorii;
O varianta alternativa de revocare a unui privilegiu sistem este folosirea utilitarului Oracle Entreprise Manager:
Din meniul corespunzator bazei de date la care s-a realizat conexiunea se efectueaza urmatoarele operatii:
selecteaza Database
se selecteaza Security
se selecteaza Users.
se selecteaza utilizatorul caruia ii va fi revocat privilegiul
se selecteaza pagina System Privileges
se selecteaza privilegiile care vor fi revocate.
Pentru finalizarea actiunilor se apasa butonul Apply.
In figura 2 se revoca utilizatorului TEST privilegiul CREATE SESSION.
Figura 2
Privilegii referitoare la obiectele bazei de date reprezinta dreptul de a efectua o un anumit tip de operatie asupra unei tabele, vederi, proceduri, etc.
Fiecare tip de obiect are un un set particular de privilegii care pot fi grantate.
Tabelul urmator prezinta aceste privilegii pentru principalele tipuri de obiecte folosite.
Privilegiu |
Tabla |
Vedere |
Secventa |
Procedura |
ALTER | ||||
DELETE | ||||
EXECUTE | ||||
INDEX | ||||
INSERT | ||||
REFERENCES | ||||
SELECT | ||||
UPDATE |
Si in cazul operatiile de grantare si revocare a privilegiilor referitoare la obiectele bazei de date se utilizeaza cele doua comenzi DDL: GRANT si REVOKE.
Sintaxa comenzii de grantare a privilegiilor referitoare la obiectele bazei de date este urmatoarea:
GRANT
ON [schema.] obiect
TO
[WITH ADMIN OPTION]
unde,
privilegiu - reprezinta numele privilegiului care va fi grantat;
lista_coloane - specifica numele coloanelor (optiune care poate fi folosita numai pentru drepturile de INSERT, REFERENCES sau UPDATE);
rol - reprezinta numele rolului;
schema reprezinta numele schemei unde se afla obiectul care va fi grantat;
utilizator - numele utilizatorului;
PUBLIC - granteaza privilegiul la toti utilizatorii;
WITH ADMIN OPTION - permite celui care a fost grantat cu acest privilegiu sa poate sa il granteze si el mai departe.
O varianta alternativa de grantare a unui privilegiu este folosirea utilitarului Oracle Entreprise Manager:
Din meniul corespunzator bazei de date la care s-a realizat conexiunea se efectueaza urmatoarele operatii:
selecteaza Database
se selecteaza Security
se selecteaza Users.
se selecteaza utilizatorul;
se selecteaza pagina Objectn Privileges;
se extinde pagina cu scheme si obiecte;
se selecteaza obiectul si privilegiul corespunzator, din pagina Available Privilegies si se apasa butnoul sageata-jos.
Optional se selecteaza butonul Grant Option;
Pentru finalizarea actiunilor se apasa butonul Apply.
In figura 3 se granteaza utilizatorului TEST dreptul de SELECT pe tabela UTILIZATORI.
Figura 3
Sintaxa comenzii de revocare a privilegiilor referitoare la obiectele bazei de date este urmatoarea:
GRANT
ON [schema.] obiect
FROM
[WITH ADMIN OPTION]
unde,
privilegiu - reprezinta numele privilegiului care va fi grantat;
rol - reprezinta numele rolului;
schema reprezinta numele schemei unde se afla obiectul care va fi grantat;
utilizator - numele utilizatorului;
PUBLIC - granteaza privilegiul la toti utilizatorii;
WITH ADMIN OPTION - permite celui care a fost grantat cu acest privilegiu sa poate sa il granteze si el mai departe.
O varianta alternativa de grantare a unui privilegiu este folosirea utilitarului Oracle Entreprise Manager:
Din meniul corespunzator bazei de date la care s-a realizat conexiunea se efectueaza urmatoarele operatii:
selecteaza Database
se selecteaza Security
se selecteaza Users.
se selecteaza utilizatorul;
se selecteaza pagina Objectn Privileges;
se selecteaza privilegiul care va fi revocat si se apasa butnoul sageata-sus.
Pentru finalizarea actiunilor se apasa butonul Apply.
Obtinerea informatiilor despre privilegiile acordate utilizatorilor se realizeaza prin intermediul interogarii urmatoarelor vederi:
DBA_SYS_PRIVS - listeaza privilegiile de system grantate utilizatorilor si rolurilor;
SESSION_PRIVS - listeaza privilegiile care sunt disponibile unui utilizator;
DBA_TAB_PRIVS - listeaza toate grantarile pe toate obiectele disponibile in baza;
DBA_COL_PRIVS - descrie toate grantarile la nivel de coloana dintr-o baza de date;
Politica de confidentialitate | Termeni si conditii de utilizare |
Vizualizari: 2154
Importanta:
Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved