En general los permisos de sistema, permiten ejecutar comandos del tipo DDL (Data definition Language), como CREATE, ALTER y DROP o del tipo DML (Data Manipulation Language.
Privilegio | Descripción | ||
CREATE ANY INDEX | Crear cualquier índice. | ||
CREATE [PUBLIC] SYNONYM | Crear sinónimos [públicos]. | ||
CREATE [ANY] TABLE | Crear tablas. El usuario debe tener cuota en el espacio de tablas, o ha de tener asignado el privilegio UNLIMITED TABLESPACE. | ||
CREATE [ANY] VIEW | Crear vistas. | ||
ALTER ANY INDEX | Alterar cualquier índice. | ||
ALTER ANY TABLE | Alterar cualquier tabla | ||
DROP ANY INDEX | Borrar cualquier índice. | ||
DROP ANY SYNONYM | Borrar cualquier sinónimo. | ||
DROP PUBLIC SYNONYM | Borrar sinónimos públicos. | ||
DROP ANY VIEW | Borrar cualquier vista. | ||
DROP ANY TABLE | Borrar cualquier tabla. | ||
SELECT ANY TABLE | Efectuar selecciones de cualquier tabla o vista. | ||
INSERT ANY TABLE | Insertar en cualquier tabla o vista. | ||
DELETE ANY TABLE | Borrar filas de cualquier tabla o vista, y también truncar. | ||
ALTER SESSION | Alterar los parámetros de la sesión. | ||
CREATE SESSION | Conectarse a la BD. | ||
CREATE PROFILE | Crear perfiles de usuario. | ||
CREATE ROLE | Crear roles. | ||
CREATE ROLLBACK SEGMENT | Creación de segmentos de rollback. | ||
CREATE TABLESPACE | Crear espacios de tablas. | ||
CREATE USER | Crear usuarios. | ||
ALTER PROFILE | Alterar perfiles existentes. | ||
ALTER ANY ROLE | Alterar cualquier rol. | ||
ALTER ROLLBACK SEGMENT | Alterar segmentos de rollback. | ||
ALTER TABLESPACE | Alterar espacios de tablas. | ||
ALTER USER | Alterar usuarios. | ||
DROP PROFILE | Borrar un perfil existente. | ||
DROP ANY ROLE | Borrar cualquier rol. | ||
DROP ROLLBACK SEGMENT | Borrar un segmento de rollback existente. | ||
DROP TABLESPACE | Borrar un espacio de tablas. | ||
DROP USER | Borrar un usuario. Añadir CASCADE si el usuario posee objetos. | ||
ALTER DATABASE | Permite una sentencia ALTER DATABASE. | ||
GRANT ANY PRIVILEGE | Otorgar cualquiera de estos privilegios. | ||
GRANT ANY ROLE | Otorgar cualquier rol a un usuario. | ||
UNLIMITED TABLESPACE | Puede usar una cantidad de almacenamiento ilimitada. | ||
DROP PROFILE | Borrar un perfil existente. |
Sintaxis para otorgar permisos.
SQL> GRANT CREATE USER, ALTER USER, DROP USER TO (nombre_usurio);
Ejemplo:
SQL> GRANT CONNECT, RESOURCE TO inventario ;
PRIVILEGIOS SOBRE LOS OBJETOS
Este tipo de privilegios le permite al usuario hacer cierta acción en un objeto de la base de datos, como puede ser una tabla, vista, función etc. Si a un usuario no se le dan estos privilegios solo podrías acceder a sus propios objetos. Y estos tipos de privilegios los da el dueño del objeto, el administrador o alguien que haya recibido este permiso explícitamente. Los privilegios sobre objetos consienten que un objeto (creado por un usuario) estos privilegios puede ser de SELECT, de UPDATE, de DELETE, de INSERT.
Privilegio | Descripción | ||||
SELECT | Puede consultar a un objeto. | ||||
INSERT | Puede insertar filas en una tabla o vista. Puede especificarse las columnas donde se permite insertar dentro de la tabla o vista. | ||||
UPDATE | Puede actualizar filas en una tabla o vista. Puede especificarse las columnas donde se permite actualizar dentro de la tabla o vista. | ||||
DELETE | Puede borrar filas dentro de la tabla o vista. | ||||
ALTER | Puede alterar la tabla. | ||||
INDEX | Puede crear índices de una tabla. | ||||
REFERENCES | Puede crear claves ajenas que referencie a esta tabla. | ||||
EXECUTE | Puede ejecutar un procedimiento, paquete o función. | ||||
READ | Permite leer archivos |
Roles y perfiles
ROLES
Los roles son conjuntos de privilegios. Un rol puede tener garantizados una serie de privilegios tanto del sistema como sobre objetos, y a la vez puede tener garantizado otros roles.
Por defecto cuando creamos un usuario desde el Enterprise Manager se le asigna el permiso de Connect, lo que permite al usuario conectarse a la BD y crear sus propios objetos en su propio esquema. De otra manera, debemos asignarlos en forma manual.
Sintaxis para crear un Rol y asignarlo a un usuario:
SQL> CREATE ROLE appl_dba;
Opcionalmente, se puede asignar una clave al Rol:
SQL> SET ROLE appl_dba IDENTIFIED BY app_pwd;
Para asignar este Rol a un usuario:
SQL> GRANT appl_dba TO jperez;
Otro uso común de los roles es asignarles privilegios a nivel de Objetos, por ejemplo en una Tabla de Facturas en donde sólo queremos que se puedan hacer Querys e Inserts:
SQL> CREATE ROLE consulta;
SQL> GRANT SELECT, INSERT on analista.factura TO consulta;
PERFILES
Los perfiles permiten definir limitaciones de recursos. Por ejemplo podemos definir un perfil que limite el número de sesiones abiertas concurrentemente por un usuario cualquiera, y posteriormente aplicar este perfil a uno o más usuarios concretos.
ESQUEMA BASICO DE SEGURIDAD
Ejercicios prácticos
SHOW USER.- saber con que usuario se esta trabajando
SQL> SHOW USER
el usuario es "SYSTEM"
Creación de usuario
SQL> CREATE USER US3
2 IDENTIFIED BY PUS3
3 PASSWORD EXPIRE
4 ACCOUNT LOCK;
Usuario creado.
Conceder privilegios
SQL> GRANT CREATE SESSION TO US3;
Concesión terminada
Autor:
Pilar Quito
Página anterior | Volver al principio del trabajo | Página siguiente |