Scrigroup - Documente si articole

     

HomeDocumenteUploadResurseAlte limbi doc
AccessAdobe photoshopAlgoritmiAutocadBaze de dateCC sharp
CalculatoareCorel drawDot netExcelFox proFrontpageHardware
HtmlInternetJavaLinuxMatlabMs dosPascal
PhpPower pointRetele calculatoareSqlTutorialsWebdesignWindows
WordXml


Utilizatorii si Securitatea - Privilegiile si Functiile Sistemului

sql



+ Font mai mare | - Font mai mic



Utilizatorii si Securitatea



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

ORACLE utilizeaza un sistem de securitate descentralizat, unde

utilizatorii sunt ei insisi responsabili pentru acordarea drepturilor

de acces pentru obiectele pe care le detin celorlalti utilizatori.

Oricum, inainte ca ei sa faca aceasta, un utilizator va avea nevoie de

drepturile importante ale sistemului care permit actiuni ca conectarea

la o baza de date sau crearea de obiecte.

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

Sunt mai mult de 80 tipuri de drepturi ale sistemului disponibile

pentru atribuite catre utilizatori si roluri. Unele din cele mai

importante sunt listate mai jos. Pentru o specificare completa, vedeti

'Oracle7 Server SQL reference Manual'.

Drept Sistem - 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;

Pentru a deactiva toate rolurile :

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.

ROLURI

Acordarea de drepturi  Utilizatori

fara roluri  o o o

/| /| /|

/^ /^ /^

| | |

+----+--+-------+-------+

| | | | | |

| +-----|-+--+--|-+-----|-+

| | | | | | | | |

| | +---|-|-+---|-|-++--|-|-+

/+ | /+ | /+ | /+ |

/--+ /--+ /--+ /--+

DREPTURI

Acordarea de drepturi

utilizand roluri

o o o Utilizatori

/| /| /|

/^ /^ /^

| /

| /

| /

| /

++---+---++

| |

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

* Este utilizata pentru a atribui drepturile unui obiect catre

+ un utilizator

+ un rol

Atribiurea unui utilizator :

GRANT priv1, priv2, ON nume_obiect

TO utilizator, utilizator, [ WITH GRANT OPTION ]

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 drepturi

ON 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 SELECT

ON 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, UPDATE

ON DEPT

TO ADAMS, JONES;

Grant succeeded.

Pentru a acorda toate privilegiile asupra DEPT lui ADAMS, introdu

ceti :

GRANT ALL

ON 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 SELECT

ON 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 SELECT

ON 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.

Comanda REVOKE

Pentru a retrage un drept acordat, utilizati comanda REVOKE. Este

similara cu GRANT :

REVOKE drepturi

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 ALL

ON EMP

FROM ADAMS;

Revoke succeeded.

Drepturile publice sunt retrase utilizand comanda REVOKE :

REVOKE SELECT

ON 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 Secventa

Pentru 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 EMP

FOR 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_sinonim

for [proprietar.] nume_obiect;

Un sinonim public poate fi eliminat prin tastarea :

DROP [ PUBLIC ] 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.

Din motive de performanta, du e recomandabila utilizarea de sinonime

la referirea de tabele in aplicatii.



Politica de confidentialitate | Termeni si conditii de utilizare



DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 1292
Importanta: rank

Comenteaza documentul:

Te rugam sa te autentifici sau sa iti faci cont pentru a putea comenta

Creaza cont nou

Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved