Sei sulla pagina 1di 12

03/07/2011

Seguridad en BD
Cap. Seguridad e Integridad (cap. 16 - 2da. ed ici n del libro)
Libro: Fundamentos de Bases de Datos Korth y S ilbersc hatz
Ed itoria l: McGraw Hill

Violaciones de la Seguridad e Integridad


El ma l uso de la BD puede ser accidenta l intencionado
A lgunas formas de acceso inde bido puede ser las siguientes:
L t a d datos sin a utorizaci n (ro bo de info .)
ec ur e
d a d datos sin a utorizaci n
Mo ific ci n e

a t zada de datos
t
Des rucci n no u ori

Seguridad
Integridad

protecci n cont ra el acceso ma l intencionado


protecci n cont ra una p rd ida accidenta l
de consistencia

En a lgunos casos no es fcil esta blecer una d ist inci n cla ra ent re
La seguridad y la integridad

03/07/2011

Niveles de Seguridad
Se de ben tener med idas de seguridad en va rios niveles:
d
d datos
a d d
F S CO L
ta
I I : os lug res on e se encuen r n los serv i ores e
de ben protegerse del ingreso cla ndest ino de int rusos
,
tambi n de ben esta r en luga res seguros con prevenci n
de accidentes
U A NO : Preca uciones a l conceder a utorizaci n a los usua rios
H M

pa ra el acceso a los datos

S ST E A O PERAT IVO : S i no se protege de forma adecuada por


I M

med io del SO se puede acceder a la BD, fundamenta l


mente en accesos re motos

ASES de DATOS : esto se refiere es pec ficamente a los permisos q ue


B
se da n a los usua rios .

VISTAS
V ISTA : Permite a un usua rio q ue acceda a una pa rte de la informaci n

a lmacenada en una relaci n (ta bla )

A l usua rio se lo a utoriza a acceder a los datos de la V ISTA pero NO de


la relaci n
El usua rio puede acceder s lo a los datos q ue necesita y no a la
Relaci n (ta bla ) co mpleta
Por eje mplo: un e mpleado de un Ba nco puede acceder a los no mbres
de los clientes q ue t ienen cuenta pero NO a los datos es pec ficos de
,
la cuenta

03/07/2011

Seguridad de la Base de Datos


Seguridad en la Base de Datos se refiere a a utoriza r /desa utoriza r
acciones de los usua rios so bre los o bjetos de la base de datos
Priv ilegio: permiso pa ra acceder a un o bjeto de una ma nera determinada
Usua rio: no mbre definido en la base de datos q ue se puede conecta r
y acceder a los o bjetos

Sc he ma : conj unto no minado de o bjetos ta les co mo ta blas, v istas,


clusters, proced imientos y paq uetes asociados con un usua rio pa rt icula r
Por o misi n, una vez q ue el usua rio se conecta con la base de datos,
t iene acceso a todos los o bjetos contenidos en el sc he ma corres pond iente
Usua rio se asocia con sc he ma del mis mo no mbre
Usua rio y sc he ma se usa n pa ra referirse a lo mis mo .

Creacin de USUARIOS
El DBA de be to ma r las siguientes decisiones:

si la a utent icaci n del usua rio va a ser rea lizada por la base de datos,
el siste ma o perat ivo, o el serv icio de a utent icaci n de la red

asigna r los va lores defa ult a l usua rio y sus ta bles paces te mpora rios

una lista, si ex isten, de ta bles paces te mpora rios accesibles por el


usua rio, y las cuotas (lmites) q ue el usua rio t iene

el perfil (profile) de recursos del siste ma q ue el usua rio t iene d is ponible

los priv ilegios y roles q ue el usua rio posee pa ra acceder a los o bjetos
de la base de datos .

03/07/2011

Privilegios y Roles
Priv ilegio es un derec ho pa ra ejecuta r un t ipo pa rt icula r de sentencia
SQ L pa ra acceder un o bjeto de ot ro usua rio

Dos ma neras de hacerlo:


ex plcitamente (usua rio y o bjeto es pec fico)
a t ravs de un rol (conj unto no minado de priv ilegios)
Dos t ipos de priv ilegios: del siste ma y de los o bjetos del sc he ma
Un priv ilegio del siste ma es el derec ho a rea liza r una acci n pa rt icula r
,
o rea liza r una acci n so bre cua lq uier o bjeto de un t ipo pa rt icula r.

Eje mplos: los priv ilegios pa ra crea r ta bles paces pa ra borra r


filas de cua lq uier (a ny ) ta bla de una base de datos

Privilegios de Objetos
Un priv ilegio de o bjeto es un derec ho a rea liza r una acci n pa rt icula r
so bre un o bjeto es pec fico (ta bla, v ista, secuencia, proced imiento,
funci n o paq uete)

A lgunos o bjetos co mo clusters, nd ices, no se asocia n a priv ilegios


de o bjetos son cont rolados por priv ilegios del siste ma
,
Un usua rio posee a uto mt icamente todos los priv ilegios so bre los
o bjetos de su sc he ma y puede da rselos (G RA NT ) a cua lq uier ot ro
usua rio rol. Asign ndole G RA NT O PT IO N estos usua rios pueden
da r estos priv ilegios a ot ros usua rios

03/07/2011

Privilegios de Objetos
ALT ER: permite mod ifica r la est ruct ura interna de un o bjeto .
No implica q ue permite a l usua rio a mod ifica r el contenido de los datos .
DELET E: permite elimina r una mas filas de datos de los o bjetos
EX EC UT E: permite a l usua rio ejecuta r un paq uete proced imiento
funci n
INDEX : permite crea r un nd ice en la ta bla. Nota r q ue no es suficiente
conta r con un priv ilegio SELECT
INSERT : permite agrega r una mas filas de datos de los o bjetos
SELECT : permite leer filas desde los o bjetos usa ndo sentencias SELECT
REFERENCES : permite crea r o a ltera r ot ra ta bla q ue referencia esta
co mo clave for nea

Diagrama de Privilegios de Objetos


INDICE

Insert

Delete

Index
Alter

Delete

VISTA

TABLA
References
Insert
Select

Execute

Update

Update

Select

PROCEDIMIENTO

Pa ra tener priv ilegios so bre una v ista se de ben tener priv ilegios
so bre la/s ta bla/s por las cua les se genera n las v istas

03/07/2011

Asignacin de Privilegios de Objetos


GRANT {priv jet , priv jet ) |ALL PRIVILEGES} [ c umnas )]
( ol
jet_ob o ( _ob o
ON
ob
o
TO
{usuari [, usuari ] | r |PUBLIC}
o
o ol
[WITH GRANT OPTION]
;
l io a r otor ado obr n obj to
es un privi
eg se
g s eu
e
todo lo privil io
s f s l )eg l s
p i i a a o mna ) d na tabla o vi ta obr
es
la qec c otor(s ac nu privi(sl ioe du a t aliza isn osd e
ue se
g u
eg e c u c
e
referencia
l bj t b l l t
l
l
ON jet
ob oi
es e tof e o so re e lcua t se o orl gan oslprivi egios
TO usuar
r
id
n
i
i
a
a
q
i
n
o
or
an
o
privi
io
c l u sebe bj g t st
eg s
PUBLIC o | ol oteor a privi
ios so re o e os a odos los usuarios
g
eg
WITH GRANT OPTION
permite al beneficiario del privilegio otorgar
lo privil io
l
t
s
eg s a o ros usuarios y ro es
priv_objeto
ALL
C umnas
ol

Ejemplos
G RA NT Select O N Prestamo TO U1, U2, U3
G RA NT Update (saldo) O N Cuenta TO U1, U2, U3
G RA NT Ref erences (nombre-sucursal) O N Sucursal TO U1
G RA NT Select O N Prestamo TO U1 W IT H G RA NT O PT IO N

03/07/2011

Quitando Privilegios de Objeto


REVO KE { o bject_ priv
[ o bject_ priv ] . . .
,
| ALL [ PRIV ILEG ES ] }
O N [sc he ma.] o bject
FRO M { user | rol | PUBLIC }
[ { user | rol | PUBLIC } ]
,
[ CASCA DE CO NST RA INTS ]

Los q ue asigna n priv ilegios s lo puede q uit rselos a aq uellos usua rios
a los q ue ellos le ha n asignado esos priv ilegios .
C ua ndo se q uita n priv ilegios de o bjetos estos se q uita n en cascada
cua ndo fueron asignados W IT H G RA NT O PT IO N. Por eje mplo:
1 - USER1 o bt iene un priv ilegio SELECT so bre un o bjeto con la
o pci n G RA NT O PT IO N de SCOTT
2 - USER1 ga ra nt iza el priv ilegio SELECT so bre la ta bla EMP a USER2
3 - Se q uita el priv ilegio SELECT a USER1 este tambi n se le q uita
,
a USER2

Ejemplos
REVO KE

Select O N Prestamo FRO M U1, U2, U3

REVO KE Update
REVO KE

(saldo) O N Cuenta FRO M U1, U2, U3

Ref erences (nombre-sucursal) O N Sucursal FRO M U1

03/07/2011

Privilegios: Categoras Funcionales


Usua rio: priv ilegios pa ra acceder a l siste ma pero no pa ra crea r o bjetos

Desa rrollador: pa ra crea r o bjetos en la Base de Datos


Priv ilegios a ny : priv ilegios q ue se aplica n no solo a o bjetos q ue uno
genera sino tambi n a o bjetos de ot ros usua rios . Se aplica n pa ra DBAs
pa ra desa rrolladores ex perimentados

Ma ntenimiento: se relaciona n con el cuidado y la prod ucci n de la


Base de Datos . Asignados por lo genera l a DBAs staff de so porte
de co mputaci n.
Monitoreo: son los q ue est n atentos con lo q ue pasa en la Base de
Datos . Asignados por lo genera l a DBAs

BASE de DATOS

Privilegios de SistemaAlter Database

TA BLESPACE
Create Table
Tablas
Create Index
Indices
Create view
Vista

Create Tablespace Alter Tablespace


Manage Tablespace Drop Tablespace
Create any table
Alter any table
Drop any table
Create any table index
Alter any table index
Drop any table index
Create any view
Drop any view

Create procedure
Create any procedure
Alter any procedure
Proced.
Drop any procedure

03/07/2011

Asignacin de Privilegios de Sistema

system_priv | rol privilegio del sistema a ser otorgado


TO user | rol
identifica a quin se le otorgan los privilegios
PUBLIC
otorga el privilegio o rol a todos los usuarios
WITH ADMIN OPTION permite al beneficiario del privilegio o rol
otorgar los privilegios a otros usuarios y roles
tambien lo puede modificar (ALTER) eliminar(DROP)

Quitando privilegios del sistema


REVO KE { syste m_ priv

| role }
y
te m_ priv | role
s
s
,
FRO M { user | rol | PUBLIC }
[ { user | rol | PUBLIC } ] . . .
,
[{

}]

...

E ma d REVO KE puede q uita r solamente priv ilegios


l co n o
ga ra nt izados con G RA NT

Q uita r priv ilegios del siste ma puede tener efectos so bre o bjetos
de pend ientes

No ex iste un efecto cascada cua ndo un priv ilegio de siste ma es


q uitado

03/07/2011

Ejemplos
G RA NT CREATE TABLE TO U1, U2, U3
G RA NT DBA TO U5
G RA NT CREATE ANY PROCEDURE TO DBA
G RA NT DROP ANY TABLE TO U7 W IT H A DMIN O PT IO N
REVO KE CREATE TABLE FRO M U3

Privilegios y cargos funcionales


Usuarios comunes: CREATE SESSION, ALTER SESSION
Desarrolladores: La mayora de los CREATE y DROP. Hay que
ser cuidadosos en la privilegios que se brindan a este grupo
DBA: los DBA deben tener la mayora de los privilegios any.
Algunos privilegios no tan conocidos: ANALYZE ANY, AUDIT ANY,
BACKUP ANY TABLE, LOCK ANY TABLE,
COMMENT ANY TABLE
Mantenimiento de BD: CREATE, ALTER, DROP PROFILE;
CREATE ROLE; CREATE, ALTER, DROP ROLLBACK SEGMENT;
CREATE, ALTER, MANAGE TABLESPACE; ALTER, DROP USER;
ALTER Database

10

03/07/2011

Roles
Los roles se emplean para asignar privilegios relacionados con los
usuarios finales de un sistema
Funcionalidades de los roles:
puede tener privilegios del sistema y privilegios de objetos del schema
puede asignarse a otro roles. No obstante un rol no se puede autorizar
a si mismo ni tampoco de manera circular
a cualquier usuario de la base de datos se le puede asignar un rol
se puede habilitar y deshabilitar en cualquier momento
un rol garantizado indirectamente (un rol asignado a un rol) puede
ser explcitamente habilitado o inhabilitado al usuario. No obstante
para habilitar un rol que contiene otro roles, los roles contenidos se
habilitan implcitamente habilitando el rol que los contiene

Crear y asignar un rol


Primero, el DBA de be crea r el rol.
Luego, puede asigna r priv ilegios a l rol y usua rios a l rol

C REAT E RO LE rol;

rol

no mbre del rol a ser creado .

Una vez q ue el rol est creado el DBA puede usa r el co ma ndo G RA NT


,
pa ra asigna r usua rios a l rol co mo tambi n asigna r priv ilegios a l rol

11

03/07/2011

Dominio de un Usuario
Un usua rio t iene priv ilegios so bre:

o bjetos creados en su pro pio sc he ma


los priv ilegios asignados ex plcitamente a l usua rio

los priv ilegios y roles ga ra nt izados a l usua rio q ue act ua lmente


est n ha bilitados
los priv ilegios y roles ga ra nt izados a l grupo de usua rios PUBLIC

Q uienes pueden asigna r priv ilegios y roles:

un usua rio con priv ilegio de siste ma G RA NT A NY RO LE


un usua rio con el rol A DMIN O PT IO N

12

Potrebbero piacerti anche