You are on page 1of 17

Leccin 16

Controlar al Acceso de los Usuarios

Objetivos
Explicar el modelo de seguridad de la base de datos. Describir los privilegios del sistema. Definir y mantener el acceso a la base de datos utilizando roles. Identificar los privilegios sobre los objetos. Cambiar una clave de acceso o password. Otorgar y quitar privilegios sobre los objetos. Crear sinnimos para facilitar el acceso a las tablas.

Privilegios
Seguridad de la Base de Datos.
Seguridad del Sistema. Seguridad de Datos.

Privilegios del Sistema.


Otorgar acceso a la base de datos.

Privilegios sobre los Objetos.


Manipular el contenido de los objetos de la base de datos.

Esquema.
Coleccin de objetos, tales como tablas, vistas, y secuencias.

Privilegios del Sistema


Se dispone de ms de ochenta privilegios. El DBA (Data Base Administrator) tiene privilegios de alto nivel sobre el sistema.
Crea nuevos usuarios. Elimina usuarios. Hace copias de resguardo (backup) de las tablas.

El DBA crea usuarios usando el comando CREATE USER de SQL. CREATE USER IDENTIFIED BY scott triger;

Privilegios del Usuario


Una vez que el usuario es creado, el DBA puede otorgarle privilegios ejecutando el comando GRANT. Un usuario tpico tiene los siguientes privilegios:
CREATE SESSION CREATE TABLE CREATE SEQUENCE CREATE VIEW CREATE PROCEDURE

Otorgar Privilegios del Sistema


El DBA puede otorgar a los usuarios privilegios del Sistema. GRANT create table, create sequence, create view TO scott;

Qu es un Rol ?
Es un grupo de privilegios relacionados que se puede otorgar al usuario y que lleva un nombre. Hace que sea fcil de otorgar y quitar privilegios a varios usuarios a la vez. Un usuario puede tener varios roles y a varios usuarios se les puede asignar el mismo rol. Sintaxis:
Create role role;

Cambiar una Password


Cuando se crea la cuenta del usuario se le inicializa su password. El usuario puede cambiar su password usando el comando ALTER USER. ALTER USER scott IDENTIFIED BY lion;

Privilegios sobre un Objeto


Privilegio / Objeto ALTER DELETE EXECUTE Tabla X X X X Vista Secuencia X Procedimiento Snapshot

INDEX
INSERT REFERENCES SELECT UPDATE

X
X X X X X X X X X

Otorgar Privilegios sobre un Objetos: Sintaxis


El DBA puede permitirles a los usuarios realizar acciones sobre objetos especficos. Los privilegios sobre un objeto varan de acuerdo al tipo del mismo. El propietario de un objeto tiene todos los privilegios sobre el mismo. El propietario de un objeto puede otorgar privilegios sobre los que le son propios. GRANT object_priv [(columns)] ON object TO {user|role|PUBLIC} [WITH GRANT OPTION];

Otorgar Privilegios sobre un Objeto: Ejemplos


Otorgar privilegios de consulta sobre la tabla EMP propia. Grant On To select emp sue, rich;

Otorgar privilegios de UDATE sobre columnas especficas a usuarios y roles.


Grant On To update (dname, loc) dept scott, manager;

Palabras reservadas WITH GRANT OPTION y PUBLIC: Ejemplos


Darle autoridad a un usuario para transmitir los privilegios a otros usuarios. Grant select On emp To scott With grant option; Otorgar privilegios de SELECT a todos los usuarios sobre la secuencia s_ord_id. Grant On To select s_ord_id public;

Verificacin de los privilegios otorgados


Acceder a las vistas del diccionario de datos para verificar los privilegios que el usuario ha otorgado o los que le han sido otorgados.
Tabla ROLE_SYS_PRIVS Descripcin Privilegios del Sistema otorgados a roles

ROLE_TAB_PIRVS
USER_ROLE_PRIVS USER_TAB_PRIVS_M ADE USER_TAB_PRIVS_R ECD USER_COL_PRIVS_ MADE USER_COL_PRIVS_R ECD

Privilegios de Tablas otorgados a roles


Roles accesibles por el usuario Privilegios otorgados sobre los objetos del usuario Privilegios sobre los objetos otorgados al usuario Privilegios otorgados sobre las columnas de los objetos del usuario Privilegios otorgados al usuario sobre columnas especficas

Quitar privilegios sobre los Objetos


Usar el comando REVOKE para quitar los privilegios otorgados a otros usuarios. Tambin se puede quitar los privilegios dados a otros a travs de la opcin WITH GRANT OPTION. Alice, como usuario, le quita los privilegios de SELECT y INSERT sobre la tabla DEPT otorgados al usuario Scott. Revoke On To select, insert dept scott;

Creacin de un Sinnimo
Simplificar el acceso a los objetos creando un sinnimo (otro nombre para un objeto). Hacer referencia a una tabla propia o de otro usuario. Permite acortar la longitud de los nombres de los objetos.

Create synonym For

dept alice.dept;

Creacin de un Sinnimo: Ejemplos


Crear un nombre abreviado para la vista dept_sum_vu. Create synonym For d_sum dept_sum_vu;

Los sinnimos pblicos son creados y eliminados nicamente por el DBA. Create public synonym dept For

alice.dept;

Eliminar un sinnimo.
Drop synonym dept;

Resumen
CREATE USER GRANT Le permite al DBA crear un usuario. Le permite al usuario otorgar los privilegios a otros usuarios para que accedan a los objetos que le son propios. Le permite al DBA crear una coleccin de privilegios.

CREATE ROLE

ALTER USER
REVOKE CREATE SYNONYM

Le permite al usuario cambiar su password.


Le quita a los usuarios privilegios sobre los objetos. Provee un nombre alternativo para los objetos.

You might also like