Home - Rasfoiesc.com
Educatie Sanatate Inginerie Business Familie Hobby Legal
Doar rabdarea si perseverenta in invatare aduce rezultate bune.stiinta, numere naturale, teoreme, multimi, calcule, ecuatii, sisteme




Biologie Chimie Didactica Fizica Geografie Informatica
Istorie Literatura Matematica Psihologie

Baze de date


Index » educatie » » informatica » Baze de date
» Administrarea profilelor in Serverul Oracle


Administrarea profilelor in Serverul Oracle


Administrarea profilelor

Obiective

Crearea si asignarea de profile utilizatorilor

Controlul folosirii resurselor folosind profile

Modificarea si eliminarea profilelor



Administrarea parolelor folosind profile

Obtinerea de informatii despre profile, limite asignate si administrarea parolelor

Profile

Sint multimi denumite de limitari impuse utilizarii resurselor si parolelor

Sint asignate utilizatorilor prin comenzi CREATE/ALTER USER

Pot fi activate sau dezactivate

Pot limita utilizarea resurselor la nivel de sesiune sau la nivel de apel

Un profil este un set denumit de limitari impuse utilizarii resurselor de sistem si parolelor, cum ar fi:

timpul CPU

operatiile I/O

timpul de inactivitate in cadrul unei sesiuni (idle time)

timpul de conectare

spatiul de memorie

sesiuni concurente

durata de viata a parolelor

istoric al parolelor

verificarea complexitatii parolelor

blocarea conturilor

Dupa ce un profil a fost creat, DBA-ul il poate asigna fiecarui utilizator. Daca limitarile de resurse sint activate, serverul Oracle limiteaza folosirea bazei de date si a resurselor de catre un utilizator conform cu profilul asignat acestuia.

Profilul DEFAULT

Serverul Oracle creeaza automat un profil DEFAULT atunci cind este creata baza de date.

Utilizatorilor carora nu li s-a asignat in mod explicit un profil le sint impuse limitarile profilului DEFAULT. Folosirea resurselor este permisa in mod nelimitat la crearea acestui profil. DBA-ul poate schimba valorile acestor limitari asa incit ele vor fi impuse in mod implicit tuturor utilizatorilor.

Limitari la nivel de apel si la nivel de sesiune

Limitarile profilelor pot fi impuse la nivel de sesiune, la nivel de apel sau la ambele niveluri.

Limitarile la nivel de sesiune sint impuse pentru fiecare conexiune.

Cind o limita la nivel de sesiune este depasita

se returneaza un mesaj de eroare ;

serverul Oracle deconecteaza utilizatorul respectiv.

Limitarile la nivel de apel sint impuse pentru fiecare apel executat in timpul executiei unei instructiuni SQL.

Cind o limita la nivel de apel este depasita

procesarea instructiunii este oprita ;

se executa rollback pentru instructiunea respectiva ;

efectele instructiunilor anterioare se pastreaza ;

sesiunea utilizatorului ramine conectata.

Utilizarea profilelor

Impiedica utilizatorii sa indeplineasca anumite operatii care ar necesita un consum mare de resurse

Asigura ca utilizatorii ale caror sesiuni sint inactive pentru o anumita perioada sint deconectati

Permit limitari asupra unor grupe de resurse pentru utilizatori asemanatori

Permit asignarea usoara de limitari in folosirea resurselor utilizatorilor

Administreaza utilizarea resurselor in sisteme mari, complexe

Controleaza utilizarea parolelor

Administrarea resurselor folosind profilele

Pasii de urmat pentru controlul utilizarii resurselor folosind profilele:

Creati un profil folosind comanda CREATE PROFILE pentru a determina limitarile impuse folosirii resurselor si parolelor.

Asignati profile prin comenzile CREATE USER sau ALTER USER.

Impuneti activarea controlului utilizarii resurselor prin comanda ALTER SYSTEM sau prin editarea fisierului de parametri de initializare, oprirea instantei si repornirea ei.

Crearea unui profil: limitarea resurselor

CREATE PROFILE developer_prof LIMIT

SESSIONS_PER_USER 2

CPU_PER_SESSION 10000

IDLE_TIME 60

CONNECT_TIME 480 ;

Sintaxa comenzii:

CREATE PROFILE profile LIMIT

[ SESSIONS_PER_USER max_value ]

[ CPU_PER_SESSION max_value ]

[ CPU_PER_CALL max_value ]

[ CONNECT_TIME max_value ]

[ IDLE_TIME max_value ]

[ LOGICAL_READS_PER_SESSION max_value ]

[ LOGICAL_READS_PER_CALL max_value ]

[ COMPOSITE_LIMIT max_value ]

[ PRIVATE_SGA max_bytes ]

max_value :==

max_bytes :==



unde

profile

este numele profilului

UNLIMITTED

un utilizator caruia ii este asignat acest profil poate folosi o cantitate nelimitata din aceasta resursa

DEFAULT

valoarea acestei limitari este valoarea limitarii din profilul DEFAULT

COMPOSITE_LIMIT

limiteaza costul total al resurselor pentru o sesiune, cost exprimat in unitati de serviciu. Oracle calculeaza costul de resurse ca pe o suma ponderata a costurilor pentru:

CPU_PER_SESSION

CONNECT_TIME

LOGICAL_READS_PER_SESSION

PRIVATE_SGA

Nota:

View-ul dictionarului de date RESOURCE_COST furnizeaza ponderile asignate diferitelor resurse.

Fixarea limitelor de resurse la nivel de sesiune

Resursa

Descriere

CPU_PER_SESSION

Timpul total CPU masurat in miimi de secunda

SESSIONS_PER_USER

Numarul de sesiuni concurente permise unui utilizator

CONNECT­_TIME

Durata maxima a unei sesiuni masurata in minute

IDLE_TIME

Durata maxima a unei perioade de inactivitate masurata in minute

LOGICAL_READS_PER_SESSION

Numarul de blocuri de date (citiri fizice si logice)

PRIVATE_SGA

Spatiul privat in SGA masurat in octeti (numai pentru Serverul Oracle multifilar)

Fixarea limitelor de resurse la nivel de sesiune

Resursa

Descriere

CPU_PER_CALL

Timpul CPU per apel masurat in miimi de secunda

LOGICAL_READS_PER_CALL

Numarul de blocuri de date

Observatii:

IDLE_TIME este calculat numai pentru procesul server. Nu este luata in calcul activitatea aplicatiei.

LOGICAL_READS_PER_SESSION este o limitare a numarului de citiri atit din memorie cit si de pe disc. Aceasta ar putea fi necesara pentru a asigura ca o instructiune I/O intensiva nu va monopoliza memoria si accesul la disc.

Asignarea profilelor utilizatorilor

CREATE USER user3 IDENTIFIED BY user3

DEFAULT TABLESPACE data01

TEMPORARY TABLESPACE temp

QUOTA UNLIMITTED ON data01

PROFILE developer_prof ;

ALTER USER scott

PROFILE developer_prof ;

Asignarea unui profil

Se face folosind comanda CREATE USER sau comanda ALTER USER. Un utilizator poate avea asignat un singur profil la un moment dat.

Caracteristici ale profilelor

Asignarea profilelor nu afecteaza sesiunea curenta.

Profilele pot fi asignate numai utilizatorilor, nu rolulilor sau altor profile.

Daca nu se asigneaza un profil atunci cind este creat un utilizator, acestuia i se asigneaza implicit profilul DEFAULT.

Activarea limitarii resurselor

Setati parametrul de initializare RESOURCE_LIMIT true

sau

Impuneti limitarea folosirii resurselor prin comanda ALTER SYSTEM

ALTER SYSTEM SET RESOURCE_LIMIT = TRUE ;

Comanda ALTER SYSTEM

Permite activarea sau dezactivarea limitarii resurselor pentru o instanta.

Setarea precizata ramine in vigoare pina cind este din nou modificata sau pina cind instanta este oprita.

Modificarea si eliminarea unui profil

Sintaxa comenzii ALTER PROFILE

ALTER PROFILE profile LIMIT

[ SESSIONS_PER_USER max_value ]

[ CPU_PER_SESSION max_value ]

[ CPU_PER_CALL max_value ]

[ CONNECT_TIME max_value ]

[ IDLE_TIME max_value ]

[ LOGICAL_READS_PER_SESSION max_value ]



[ LOGICAL_READS_PER_CALL max_value ]

[ COMPOSITE_LIMIT max_value ]

[ PRIVATE_SGA max_bytes ]

Observatie

Modificarile unui profil nu afecteaza sesiunea curenta. Ele intra in vigoare numai pentru sesiunile ulterioare.

Sintaxa comenzii DROP PROFILE

DROP PROFILE profile [CASCADE] ;

unde

profile

este numele profilului de eliminat

CASCADE

revoca profilul de la utilizatorii carora le este asignat (serverul Oracle asigneaza automat profilul DEFAULT acestor utilizatori. Specificati aceasta optiune pentru a elimina un profil care este asignat unor utilizatori.)

Observatii:

profilul DEFAULT nu poate fi eliminat.

odata un profil eliminat, schimbarea se aplica numai sesiunilor ulterioare si nu celei curente.

Urmarirea limitarii resurselor

DBA_USERS DBA_PROFILES

profile <----- ----- ------> profile

username resource_name

resource_type (KERNEL)

limit

SQL> SELECT p.profile, p.resource_name, p.limit

FROM dba_profiles p, dba_users u

WHERE p.profile = u.profile AND username = 'SCOTT' ;

PROFILE RESOURCE_NAME LIMIT

DEFAULT COMPOSITE_LIMIT UNLIMITED

DEFAULT SESSIONS_PER_USER UNLIMITED

DEFAULT CPU_PER_SESSION UNLIMITED

DEFAULT CPU_PER_CALL UNLIMITED

DEFAULT LOGICAL_READS_PER_SESSION UNLIMITED

DEFAULT LOGICAL_READS_PER_CALL UNLIMITED

DEFAULT IDLE_TIME UNLIMITED

DEFAULT CONNECT_TIME UNLIMITED

DEFAULT PRIVATE_SGA UNLIMITED

9 rows selected.

Administrarea parolelor

Pentru un control marit al securitatii bazei de date, administrarea parolelor este controlata de DBA prin intermediul profilelor.

In continuare sint descrise modalitatile prin care se realizeaza administrarea parolelor:

Blocarea conturilor: permite blocarea automata a unui cont atunci cind un utilizator nu reuseste sa se conecteze la sistem dupa un numar precizat de incercari.

Durata de viata si expirarea parolelor: permite ca parolele sa aiba o durata de viata dupa trecerea careia expira si trebuie schimbate.

Istoric al parolelor: verifica parola pentru a se asigura ca nu este refolosita inainte de trecerea unei durate de timp specificata sau de un numar de ori mai mare decit cel specificat.

Verificarea complexitatii parolelor: pentru a stabili daca este suficient de complexa pentru a oferi protectie impotriva incercarilor de patrundere neautorizata in sistem.

Activarea administrarii parolelor

Se pune la punct administrarea parolelor folosind profile si asignindu-le utilizatorilor.

Prin comenzile CREATE USER sau ALTER USER conturile pot fi blocate, deblocate sau pot fi facute sa expire.

Limitarile asupra parolelor sint intotdeauna impuse chiar daca parametrul RESOURCE_LIMIT pentru instanta este FALSE.

Crearea unui profil: setari ale parolei

CREATE PROFILE profile LIMIT

[ FAILED_LOGIN_ATTEMPTS maxvalue ]

[ PASSWORD_LIFE_TIME maxvalue ]

[ maxvalue ]

[ PASSWORD_LOCK_TIME maxvalue ]

[ PASSWORD_GRACE_TIME maxvalue ]

[ PASSWORD_VERIFY_FUNCTION

Setari ale parolei

Parametru

Descriere

FAILED_LOGIN_ATTEMPTS

Numarul de incercari de logare esuate dupa care se trece la blocarea contului

PASSWORD_LOCK_TIME

Numarul de zile pentru care contul ramine blocat

PASSWORD_LIFE_TIME

Durata de viata a unei parole in zile

PASSWORD_GRACE_TIME

Perioada de gratie (masurata in zile) pentru schimbarea parolei dupa primul login cu succes dupa expirarea parolei.



PASSWORD_REUSE_TIME

Numarul de zile dupa care o parola poate fi refolosita.

PASSWORD_REUSE_MAX

Numarul maxim de cite ori o parola poate fi refolosita.

PASSWORD_VERIFY_FUNCTION

O functie PL/SQL care face verificarea parolei inainte ca aceasta sa fie asignata.

Blocarea contului

Serverul Oracle blocheaza automat un cont dupa ce valoarea FAILED_LOGIN_ATTEMPTS este atinsa. Contul este fie automat deblocat dupa un timp specificat (PASSWORD_LOCK_TIME) fie este deblocat de DBA folosind comanda ALTER USER.

Durata de viata si expirarea parolelor

Parametrul PASSWORD_LIFE_TIME specifica durata de viata a parolei, dupa care ea trebuie schimbata.

DBA-ul poate specifica o perioada de gratie (PASSWORD_GRACE_TIME) care incepe dupa primul login reusit dupa expirarea parolei. In aceasta perioada de gratie parola ar trebui schimbata, altfel, dupa expirarea ei, contul este blocat.

Starea contului utilizatorului devine EXPIRATA setind in mod explicit parola ca fiind expirata. Adica, atunci cind utilizatorul se conecteaza, contul lui intra in perioada de gratie. Aceasta este util d.ex. atunci cind se creeaza noi utilizatori.

Istoricul parolelor

Mecanismul de istoric al parolelor se asigura ca un utilizator nu poate folosi o parola intr-un anumit interval de timp specificat. Aceste verificari se implementeaza folosind unul din parametrii PASSWORD_REUSE_MAX sau PASSWORD_REUSE_TIME. Cind unul dintre parametri este setat pe o valoare alta decit DEFAULT sau UNLIMITTED, celalalt trebui sa fie setat UNLIMITTED.

Functii furnizate de utilizatori pentru verificarea parolelor

Ele trebuie create in schema lui SYS si trebuie sa aiba urmatoarea specificatie:

function_name(

userid_parameter IN VARCHAR2(30),

password_parameter IN VARCHAR2(30),

old_password_parameter IN VARCHAR2(30))

RETURN BOOLEAN

Cind o noua functie de verificare a parolei este adaugata, DBA-ul trebuie sa aiba in vedere urmatoarele restrictii:

Procedura trebuie sa aiba specificatia de mai sus.

Trebuie sa intoarca TRUE pentru succes si FALSE pentru esec.

Daca in functia de verificare a parolei este invocata o execeptie, se returneaza o eroare si comanda ALTER USER sau CREATE USER este terminata.

Functia de verificare a parolei este detinuta de SYS.

Daca functia de verificare a parolei devine invalida, este returnat un mesaj de eroare si comanda ALTER USER sau CREATE USER este terminata.

Functia de verificare a parolei

VERIFY_FUNCTION

Lungimea minima este de patru caractere

Parolele nu trebuie sa coincida cu numele utilizatorilor

Parolele trebuie sa contina macar un caracter alfabetic, unul numeric si unul special

Parolele trebuie sa difere de parolele anterioare prin macar trei litere

Oracle ofera o functie de verificare a complexitatii parolelor, o functie standard PL/SQL denumita VERIFY_FUNCTION si care este creata prin rularea scriptului utlpwdmg.sql in schema lui SYS.

Ca urmare a executiei scriptului utlpwdmg.sql este creata aceasta functie si este modificat profilul DEFAULT prin urmatoarea comanda

ALTER PROFILE DEFAULT LIMIT

PASSWORD_LIFE_TIME 600

PASSWORD_GRACE_TIME 10

PASSWORD_REUSE_TIME 1800

PASSWORD_REUSE_MAX UNLIMITTED

FAILED_LOGIN_ATTEMPTS 3

PASSWORD_LOCK_TIME 1/1440

PASSWORD_VERIFY_FUNCTION verify_function ;

Urmarirea informatiilor despre parole

DBA_USERS DBA_PROFILES

profile <----- ----- ----- ----- -----> profile

username resource_name

account_status    resource_type (PASSWORD)

lock_date limit

expiry_date

Referinta

Context

Referinta

Parametri de initializare

RESOURCE_LIMIT

View-uri ale dictionarului de date

DBA_PROFILES

DBA_USERS

Comenzi

CREATE PROFILE

ALTER PROFILE

DROP PROFILE

CREATE USER

ALTER USER

Functii si proceduri de stocare

VERIFY_FUNCTION







Politica de confidentialitate





Copyright © 2024 - Toate drepturile rezervate