Roles y Privilegios de Usuario
Roles y Privilegios de Usuario
Roles y Privilegios de Usuario
PRIVILEGIO
Privilegio es un derecho para ejecutar un tipo particular de sentencia SQL para acceder un objeto de otro usuario Existen dos maneras de hacerlo: Explcitamente (usuario y objeto especfico) A travs de un rol (conjunto nominado de privilegios)
PRIVILEGIO
Tipos: Sistema: Un privilegio del sistema es el derecho a realizar una accin particular, o realizar una accin sobre cualquier objeto de un tipo particular.
PRIVILEGIO
Borrado de filas en una tabla de una data base EN PROMEDIO EXISTEN MS DE 90 PRIVILEGIOS DE SISTEMA
PRIVILEGIO DE OBJETO
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
PRIVILEGIO DE OBJETO
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
Algunos Privilegios
CREATE SESSION ALTER SESSION CREATE TABLE SELECT ANY TABLE CREATE CLUSTER CREATE SYNONYM CREATE VIEW CREATE SEQUENCE CREATE DATABASE LINK CREATE PROCEDURE CREATE TRIGGER CREATE TYPE
Sentencia
La instruccin GRANT se utiliza para conceder determinados permisos genricos o bien permisos sobre objetos a usuarios de la base de datos. La sintaxis de la misma es la siguiente: GRANT [privilegios_de_sistema | roles] TO [usuarios | roles |PUBLIC] {WITH GRANT OPTION }
Sentencia
Para conceder permisos genricos GRANT [ALL {PRIVILEGES} | SELECT | INSERT | UPDATE | DELETE] ON objeto TO [usuario | rol | PUBLIC] {WITH GRANT OPTION}
Sentencia
Permiso sobre objetos
Imaginemos que tenemos un usuario 'U_VISTA', que crea una vista con una consulta que consulta informacin de un objeto de otro usuario 'U_DATOS'. Hasta aqu es sencillo, ya que con un GRANT del usuario 'U_DATOS' al usuario 'U_VISTA' sobre esos objetos: