Oracle
Esta sentencia sirve para dar permisos (o privilegios) a un usuario o a un rol.
Un permiso, en oracle, es un derecho a ejecutar un sentencia (system privileges) o a acceder aun objeto de otro usuario (object privileges).
El conjunto de permisos es fijo, esto quiere decir que no se pueden crear nuevos tipos de permisos.
Si un permiso se asigna a rol especial PUBLICsignifica que puede ser ejecutado por todos los usuarios.
Permisos para acceder a la base de datos (permiso de sistema):
GRANT CREATE SESSION TO miusuario;
Permisos para usuario demodificación de datos (permiso sobre objeto):
GRANT SELECT, INSERT, UPDATE, DELETE ON T_PEDIDOS TO miusuario;
Permisos de solo lectura para todos:
GRANT SELECT ONT_PEDIDOS TO PUBLIC;
Permisos de sistema (system privileges)
Los permisos de sistema mas importantes son CREATE SESSION, CREATE TABLE, CREATE VIEW, CREATE USER, ...
Sintaxis:GRANT system_priv(s) TO {user, | role, |PUBLIC}
[IDENTIFIED BY password] [WITH ADMIN OPTION]
GRANT role TO {user, | role, |PUBLIC}[IDENTIFIED BY password] [WITH ADMIN OPTION]
GRANT ALL PRIVILEGES TO {user, | role, |PUBLIC}
[IDENTIFIED BY password][WITH ADMIN OPTION]
Podemos obtener la lista de permisos del sistema asi:
select * from system_privilege_map;
Los permisos de sistema son auditables.
GRANT CREATESESSION, CREATE TABLE, CREATE VIEW, CREATE PROCEDURE,CREATE SYNONYM,
ALTER TABLE, ALTER VIEW, ALTER PROCEDURE,ALTER SYNONYM,
DROP TABLE, DROP VIEW, DROPPROCEDURE,DROP SYNONYM TO programador;
Permisos sobre objetos (object privileges)
Los permisos sobre objetos mas importantes son: SELECT, UPDATE, INSERT, DELETE, ALTER, DEBUG, EXECUTE, INDEX,...
Regístrate para leer el documento completo.