Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Administracion Privilegios Roles
Administracion Privilegios Roles
ADMINISTRACIN DE PRIVILEGIOS Y
ROLES
PRIVILEGIOS Y ROLES
Privilegio es un derecho para ejecutar un tipo particular de sentencia
SQL para acceder un objeto de otro usuario
Dos maneras de hacerlo:
explcitamente (usuario y objeto especfico)
a travs de un rol (conjunto nominado de privilegios)
Dos tipos de privilegios: del sistema y de los objetos del schema
Un privilegio del sistema es el derecho a realizar una accin particular,
particular,
o realizar una accin sobre cualquier objeto de un tipo particular.
Ejemplos: los privilegios para crear tablespaces para borrar
filas de cualquier (any) tabla de una base de datos
Hay mas de 80 privilegios del sistema
22/10/ 20 12
PRIVILEGIOS DE OBJETO
Un privilegio de objeto es un derecho a realizar una accin particular
sobre un objeto especfico (tabla, vista, secuencia, procedimiento,
funcin o paquete)
Algunos objetos como clusters, ndices, triggers y vnculos BD
(database links) no se asocian a privilegios de objetos,
objetos, son controlados
por privilegios del sistema
Un objeto del schema y su sinnimo son equivalentes respecto
de los privilegios.
Un usuario posee automticamente todos los privilegios sobre los
objetos de su schema y puede darselos (GRANT) a cualquier otro
usuario rol. Asignndole GRANT OPTION estos usuarios pueden
dar estos privilegios a otros usuarios.
PRIVILEGIOS DE OBJETOS
ALTER: permite modificar la estructura interna de un objeto.
No implica que permite al usuario a modificar el contenido de los datos.
Se pueden agregar modificar columnas (no eliminar).
DELETE: permite eliminar una mas filas de datos de los objetos
EXECUTE: permite al usuario ejecutar un paquete procedimiento
funcin
INDEX: permite crear un ndice en la tabla. Notar que no es suficiente
contar con un privilegio SELECT
INSERT: permite agregar una mas filas de datos de los objetos
SELECT: permite leer filas desde los objetos usando sentencias SELECT
REFERENCES: permite crear o alterar otra tabla que referencia esta
como clave fornea
22/10/ 20 12
Insert
Delete
Index
Alter
Delete
VISTA
TABLA
References
Insert
Select
Execute
Update
PROCEDIMIENTO
Update
Select
Select
SECUENCIA
Alter
22/10/ 20 12
Alter Database
Create Tablespace Alter Tablespace
Manage Tablespace Drop Tablespace
TABLESPACE
Create Table
Tablas
Sinnimos
Pblicos
Secuencias
Create synonym
Create procedure
Proced.
Create sequence
Create view
Vista
Indices
Sinnimos
Objetos
22/10/ 20 12
ROLES
Los roles se emplean para asignar privilegios relacionados con los
usuarios finales de un sistema
A los que desarrollan sistemas se les asignan los roles explcitamente
Funcionalidades de los roles:
puede tener privilegios del sistema y privilegios de objetos del schema
puede asignarse a otro roles.
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
DOMINIO DE UN USUARIO
Un usuario tiene privilegios sobre:
sobre:
objetos creados en su propio schema
los privilegios asignados explcitamente al usuario
los privilegios y roles garantizados al usuario que actualmente
estn habilitados
los privilegios y roles garantizados al grupo de usuarios PUBLIC
22/10/ 20 12
Usuario PUBLIC
Provee acceso pblico a objetos especficos del sistema (tablas,
tablas,
vistas,
vistas, etc.)
etc.)
Todo usuario pertenece automticamente al usuario PUBLIC,
por lo tanto provee a los usuarios con privilegios del sistema (los
privilegios que se asignen a PUBLIC)
Restricciones del usuario PUBLIC:
no se puede asignar cuotas sobre los tablespaces a PUBLIC,
no obstante se le puede asignar la cuota UNLIMITED TABLESPACE
se pueden crear vnculos con la base de datos y sinnimos como
PUBLIC (usando CREATE PUBLIC DATABASE LINK/SYNONYM), pero
ningn otro objeto puede ser propietario de PUBLIC.
22/10/ 20 12
SYSOPER
SYSDBA
Privilegios
STARTUP
SHUTDOWN
ALTER DATABASE OPEN|MOUNT
ALTER DATABASE BACKUP CONTROLFILE
ALTER TABLESPACE BEGIN|END BACKUP
RECOVER DATABASE
ALTER DATABASE ARCHIVELOG
RESTRICTED SESSION
SYSOPER privileges WITH ADMIN OPTION
CREATE DATABASE
RECOVER DATABASE UNTIL
22/10/ 20 12
SESSION_PRIVS
GRANTEE
PRIVILEGE
ADMIN OPTION
PRIVILEGE
PRIVILEGE
--------------------
ADM
----------------
NO
NO
YES
YES
22/10/ 20 12
PRIVILEGIOS DE OBJETO
Privilegio
Tabla
ALTER
DELETE
EXECUTE
INDEX
INSERT
REFERENCES
SELECT
UPDATE
Vista
Sequence
Procedure
22/10/ 20 12
DBA_COL_PRIVS
GRANTEE
OWNER
TABLE_NAME
GRANTOR
PRIVILEGE
GRANTABLE
GRANTEE
OWNER
TABLE_NAME
COLUMN_NAME
GRANTOR
PRIVILEGE
GRANTABLE
GRA
--------SYS
PRIVILEGE
---------------READ
GRA
-------NO
10
22/10/ 20 12
11