|
Politica de confidentialitate |
|
• domnisoara hus • legume • istoria unui galban • metanol • recapitulare • profitul • caract • comentariu liric • radiolocatia • praslea cel voinic si merele da aur | |
Utilizatorii si Securitatea - Oracle | ||||||
|
||||||
o6z24zv Sistemul de securitate descentralizata a lui ORACLE este explicat in acest capitol. In special vom explica cum sa utilizati comenzile GRANT si REVOKE pentru a controla accesul la baza de date si sa inregistrati noi utilizatori cu diferite niveluri de drepturi de acces. Privilegiile si Functiile Sistemului Cand Administratorul Bazelor de Date a creat un nou utilizator ORACLE, un numar de drepturi pot fi atribuite pentru a defini tiputile de activitati ale bazelor de date pentru fiecare utilizator, este mult mai convenabil pentru Administratorul Bazelor de Date de a grupa combinatiile obisnuite de drepturi in roluri (roles). rolurile corespunzatoare pot atunci fi asignate utilizatorilor. Privilegiile Sistemului Operatii autorizate CREATE SESSION Permite posesorului conectarea la baza de date. CREATE TABLE Permite posesorului crearea de tabele. Uti- lizatorul trebuie de asemenea sa aiba o cota intr-o "tablespace" (arie a bazei de date). CREATE VIEW Permite crearea imaginilor. CREATE USER Permite posesorului sa creeze alti utiliza- tori ORACLE (un drept cerut pentru o functie DBA). Roluri Un rol este o colectie de drepturi sistem cu nume. Un utilizator poate avea acces la mai multe roluri, si mai multi utilizatori pot fi atribuiti aceluiasi rol, dandu-se flexibilitate si usurinta sistemului de securitate. Sunt cateva roluri predefinite, ca DBA ( Administrator de Baze de Date ) care include toate privilegiile sistemului, dar un DBA va crea de obicei roluri pentru cerintele sistemului. Daca aveti atribuite mai multe roluri, puteti oscila intre ele in timpul unei sesiuni pentru a activa sau nu drepturile asociate. Aceasta este realizata prin comanda SET ROLE. De exemplu, pentru a activa un rol care are parola "marigold" atasata : SET ROLE gardener IDENTIFIED BY marigold; Pentru a activa toate rolurile exeptand un singur rol pentru un uti- lisator :SET ROLE ALL EXCEPT manager; SET ROLE NONE; Un utilizator va avea unele roluri implicite care sunt activate la intrare in sesiune. Acestea sunt de obicei toate rolurile acordate utilizatorului, dar pot fi schimbate cu comanda ALTER USER. ROLURIAcordarea de drepturi Utilizatori fara roluri o o o /|\ /|\ /|\ /^\ /^\ /^\ | | | +----+--+-------+-------+ | | | | | | | +-----|-+--+--|-+-----|-+ | | | | | | | | | | | +---|-|-+---|-|-++--|-|-+ /\+ | /\+ | /\+ | /\+ | \/--+ \/--+ \/--+ \/--+ DREPTURI Acordarea de drepturi utilizand roluri o o o Utilizatori /|\ /|\ /|\ /^\ /^\ /^\ \ | / \ | / \ | / \ | / ++---+---++ | | <------------ ROL +--+---+--+ | | | | +-------+ | | +-------+ | | | | /\ /\ /\ /\ \/ \/ \/ \/ Privilegii Schimbarea Parolei Utilizatorului DBA atribuie utilizatorului o parola initiala cand utilizatorul este creat ( via CREATE USER ). Utilizatorul poate mai tarziu sa-si schimbe parola utilizand comanda ALTER USER.Sintaxa : ALTER USER nume_utilizator IDENTIFIED BY parola De exemplu : ALTER USER glenn IDENTIFIED BY swordfish; De notat ca de asameni comanda poate fi utilizata pentru a scimba parola proprie, alte optiuni in ALTER USER pot necesita unele drepturi ale sistemului pentru a se incheia cu succes.Comanda GRANT Atribiurea unui utilizator : GRANT priv1, priv2, ... ON nume_obiect TO utilizator, utilizator, ... a WITH GRANT OPTION i Atribuirea catre un rol : GRANT priv1,priv2, ... ON nume_obiect TO rol, rol, ... 'nume_obiect' poate referi : o tabela o imagine (view) o secventa (sequence) un sinonim (synonym) o procedura o functie un pachet (package)Privilegiile unui Obiect Detineti fiecare tabela, imagine, secventa si sinonim pe care il creati. Daca nu doriti sa impartiti un astfel de obiect cu alti utiliza- tori ORACLE, doar dumneavoastra si orice DBA il poate accesa. Pentru a permite accesul altor utilizatori la obiectele bazei de date, utilizati comanda GRANT : GRANT drepturiON obiect TO utilizator; Tabelul de mai jos arata drepturile care pot fi acordate la tabele si imagini. Drept Obiect----- ------ SELECT date in tebele sau imagini INSERT linii in tabele sau imagini UPDATE linii sau coloane specificate intr-o tabela sau imagine DELETE linii dintr-o tabela sau imagine ALTER definitii de coloane in tabele INDEX indexare la o tabela REFERENCES se refera la o tabela numita in interiorul unei restrictii de tabela sau coloana. ALL De notat ca ALTER, INDEX si REFERENCES nu sunt valabile ca optiuni cu imagini.Doar ALTER si SELECT pot fi aplicate unor secvente. Cel mai simplu fel de GRANT este unul care acorda un singur drept unui singur utilizator. Pentru a acorda lui ADAMS dreptul de SELECT din tabela DEPT, introduceti : GRANT SELECTON DEPT TO ADAMS; Grant succeeded. Mesajul : Grant succeeded. confirma acordarea dreptului. Pentru a acorda dreptul UPDATE pentru anumite coloane lui ADAMS, introduceti : GRANT UPDATE ( DNAME, LOC )ON DEPT TO ADAMS; Pentru a acorda mai multe drepturi odata, introduceti toate drepturile separate prin virgule. Similar, pentru a acorda mai multe privilegii mai multor utilizatori, introduceti numele utilizatorilor separate prin virgule.Pentru a acorda drepturile INSERT si UPDATE asupra DEPT lui ADAMS si JONES, introduceti : GRANT INSERT, UPDATEON DEPT TO ADAMS, JONES; Grant succeeded. Pentru a acorda toate privilegiile asupra DEPT lui ADAMS, introdu ceti : GRANT ALLON DEPT TO ADAMS; Grant succeeded. Transmiterea de Privilegii care au fost Acordate. Cand s-a acordat un drept de acces, utilizatorul care primeste dreptul, in mod normal nu primeste si autorizarea de a transmite acest drept si altora. Pentru a da unui utilizator dreptul de a transmite dreptul mai departe, utilizati clauza WITH GRANT OPTION.Pentru a acorda dreptul SELECT asupra EMP lui ADAMS, cu autorizarea de a acorda acest drept si altora, introduceti : GRANT SELECTON EMP TO ADAMS WITH GRANT OPTION; Grant succeeded. Dreptul Public Permite detinatorului unei tabele sa acorde accesul tuturor utilizatorilor cu o singura comanda, Acordarea da drept(uri) asupra unei tabele lui PUBLIC. GRANT SELECTON EMP TO PUBLIC; Secventa Pentru a permite accesul asupra secventei lui Ford -F_SEQ- lui BLAKE, FORD va introduce : GRANT SELECT ON F_SEQ TO BLAKE;Alte Obiecte Comanda GRANT pate fi utilizata pentru a permite accesul utiliza torilor asupra procedurilor stocate, functii si pachete (Oracle7 Procedural Option).Puteti sa permiteti accesului unui rol asupra unui obiect. Fiecare utilizator caruia ii este asignat acel rol poate utiliza obiectul respectiv. De exemplu :GRANT SELECT ON EMP TO ROLE_2; Optiunea 'WITH GRANT OPTION' nu este permisa in acest caz. Violarea Drepturilor de Acces Daca incercati sa executati o operatie neutorizata ( de exemplu stergerea dintr-o tabela fara a avea dreptul DELETE ), ORACLE nu va permite ca operatia sa aiba loc.Daca primiti mesajul de eroare ORACLE ' table or view does not exist', aceasta poate insemna doua lucruri : aveti o tabela sau o imagine cu nume care nu exista ati incercat sa executati o operatie asupra acelei tabele sau imagini pentru
care nu aveti drepturile corespunzatoare. ON tabela sau imagine FROM utilizatori; Cand utlilzati comanda REVOKE, drepturile specificate sunt anulate utilizatorilor enumerati, si celorlalti utilizatori carora acestia le-au transmis aceste drepturi. Pentru a anula toate drepturile asupra DEPT de la ADAMS, introduceti REVOKE ALLON EMP FROM ADAMS; Revoke succeeded. Drepturile publice sunt retrase utilizand comanda REVOKE : REVOKE SELECTON EMP FROM PUBLIC; Pentru a afla acre utilizatori au drepturi asupra tabelelor imagi nilor sau secventelor dvs., executati o cerere catre imaginea Dictionarului de Date USER_TAB_GRANTS, sau USER_COL_GRANTS. Crearea unui SYNONYM pentru o Tabela, Imagine sau SecventaPentru a referi o tabela detinuta de un alt utilizator, trebuie sa prefixati numele tabelei cu numele utilizatorului care a creat-o urmat de punct (.). Pentru a referi tabela EMP detinuta de SCOTT, introduceti : SELECT * FROM SCOTT.EMP; Alternativa este de a crea un sinonim ( alt nume ) pentru tabela sau imaginea data. Pentru a referi tabela EMP a lui SCOTT doar cu numele 'EMP', introduceti : CREATE SYNONYM EMPFOR SCOTT.EMP; Acum, cand executati o cerere asupra tabelei EMP a lui Scott, doar introduceti : SELECT *FROM EMP; Doar DBA poate crea sinonime PUBLICe la care toti utilizatorii sa aiba acces. CREATE PUBLIC SYNONYM nume_sinonimfor aproprietar.i nume_obiect; Un sinonim public poate fi eliminat prin tastarea :DROP a PUBLIC i SYNONYM nume_sinonim; Sinonimele sunt utilizate din motive de sceuritate si comoditate, incluzand :pentru a referi o tabela, secventa sau imagine fara a specifica detinatorul
obiectului pentru a furniza un alt nume pentru tabela. |
||||||
|
||||||
|
||||||
Copyright© 2005 - 2024 | Trimite document | Harta site | Adauga in favorite |
|