Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Datos
Semana 13
Facultad de10-1
Facultad de Ingeniería Industrial
Ingeniería Industrial yy de
de Sistemas
Sistemas Copyright © OracleProfesor
Corporation,
Prof. Ing.Ing.
Ponte Roca
Ponte 2001.
Miguel
Roca Todos los derechos reservados.
Angel
Miguel Angel 11
Objetivos
Al finalizar esta lección, usted estará capacitado
para:
• Incluye 2 procesos:
– Permitir únicamente a ciertos usuarios
acceder, procesar o modificar datos.
– Nivel de llamada:
– Para prevenir llamadas excesivas en la ejecución de
una sentencia SQL, se pueden establecer límites de
recursos.
– Si el límite es excedido se detiene la ejecución de la
sentencia y se envía un mensaje de error.
– Tiempo de CPU
Perfiles:
– En el contexto de recursos de sistemas, un perfil es
un conjunto de límites de recursos que pueden ser
asignados a un usuario.
Usos comunes:
Administrar los privilegios para una aplicación de
base de datos.
Administrar los privilegios para un grupo de
usuarios.
1. Rol de usuario:
Un grupo de usuarios con requerimientos de
privilegios comunes.
2. Rol de aplicación:
Establece los privilegios necesarios para ejecutar
una aplicación.
a. Confidencialidad
- Introducción
- Acceso a la base de datos (usuarios)
- Autorización de acceso a datos (permisos y roles)
- Uso de recursos del sistema (perfiles)
b. Seguridad
- Introducción
- Tipos de Ataques
- Auditorias
c. Encriptación
• Tipos de Acciones:
1) Cuentas de Usuario: autentican a los usuarios para
permitir el acceso a la base de datos.
Nombre de usuario y Contraseña.
Identificación por Hardware
Características bioantropométricas (huellas
dactilares, voz, retina)
Conocimientos, aptitudes y hábitos del usuario
• Tipos de Usuarios:
Usuario: nombre definido en la BD que puede conectarse y
acceder a objetos de la BD.
– Usuario externo: usuarios externos al DBMS (p.e: usuarios
de un Sistema Operativo)
– Usuarios de empresa (global): grupo de usuarios
(gestionados en un directorio) con permisos a la misma BD
sin necesidad de crear una cuenta o esquema en cada BD.
• Definición:
– Esquema: colección de objetos (tablas, vistas, clusters,
procedimientos, paquetes, etc.)
EJEMPLO:
– EJEMPLOS:
1. Usuario „Pepe‟ identificado de forma externa cuya cuenta no
expire y cuyo tablespace temporal sea „espacio_temporal‟.
2. Usuario „María‟ identificado con pwd „Maria‟ con tablespace
por defecto „espacio_infinito‟ y espacio en este tablespace
ilimitado.
3. Usuario „Juan‟ identificado de forma global como „Juanito‟ y
cuya cuenta está inicialmente bloqueada.
Facultad de Ingeniería Industrial y de Sistemas
10-18 Copyright © OracleProf. Ing. Ponte Roca Miguel Angel
Corporation, 2001. Todos los derechos reservados. 18
a. Confidencialidad.
1) Cuentas de Usuarios
• Sintaxis de Modificación de Usuarios (1/2):
EJEMPLO:
ALTER USER user303
IDENTIFIED BY user303
DEFAULT TABLESPACE dbd_tablespace
QUOTA 10M ON dbd_tablespace
PROFILE dbd_perfil
PASSWORD EXPIRE
DEFAULT ROLE rol_user303;
Facultad de10-19
Ingeniería Industrial y de Sistemas Copyright © OracleProf.
Corporation, 2001.
Ing. Ponte Roca Miguel Todos los derechos reservados.
Angel 19
a. Confidencialidad: 1) Cuentas de Usuarios
– EJEMPLOS:
1. Modificar el usuario „Pepe‟ identificado de forma interna
por el password „pepito‟ cuya cuenta expire.
2. Modificar el usuario „María‟ identificado de forma
externa con tablespace por defecto „espacio_infinito‟ y
espacio en este tablespace limitado a 30 MB. Además,
este usuario ha de tener el rol por defecto llamado
„rol_usuarios_habituales‟.
• Objetivo:
– Proporcionar a los usuarios privilegios de acceso a objetos de
la BD.
• Definición:
– Permiso: privilegio de acceso a objetos de la BD
– Rol: conjunto de privilegios (agrupados).
– Simplificación en la gestión de privilegios
EJEMPLO
• Borrar
EJEMPLO DROP ROLE usuario_dbd;
– Limitar recursos:
– A nivel de sesión: a cada sesión un determinado
tiempo de CPU, determinada cantidad de memoria.
– A nivel de llamadas: ordenes SQL.
EJEMPLO
Actualización/Consulta
de Información
Violación de Actualización/Consulta
Seguridad Autorizada
CLIENTE
DBMS
SO
DATOS
INTERNET
Ejemplos
EJEMPLO
EJEMPLO
Concurencia a la Base de
Datos
Semana 14
Facultad de Ingeniería Industrial y de Sistemas Prof. Ing. Ponte Roca Miguel Angel 1
Facultad de 10-43
Ingeniería Industrial y de Sistemas Copyright © OracleProfesor
Corporation, 2001.
Ing. Ponte Roca Todos los derechos reservados.
Miguel Angel 1
Objetivos
TRANSACCION
ROLLBACK SAVEPOINT A
ROLLBACK
Tiempo
COMMIT
Transacción
DELETE
SAVEPOINT A
INSERT
UPDATE
SAVEPOINT B
INSERT ROLLBACK ROLLBACK ROLLBACK
to SAVEPOINT B to SAVEPOINT A
UPDATE...
SAVEPOINT update_done;
Savepoint created.
INSERT...
ROLLBACK TO update_done;
Rollback complete.
Segmentos
de rollback
datos
SELECT * cambiados y
FROM Scott.employees; Imagen sin cambiar
consistente antes del
de lectura cambio
de datos
“antiguos”
Usuario B
• Verifique la adición.
1 row created.
4 rows created.
1 row created.
• Verifique
SELECT *FROMlos
SCOTT.EMP
resultados
WHERE DEPTNO=30;
UPDATE table
SET column = value [, column = value, ...]
[WHERE condition];
UPDATE copy_emp
SET department_id = (SELECT department_id
FROM employees
WHERE employee_id = 100)
WHERE job_id = (SELECT job_id
FROM employees
WHERE employee_id = 200);
1 row updated.
Facultad de Ingeniería Industrial y de Sistemas Prof. Ing. Ponte Roca Miguel Angel 1
Facultad de 10-88
Ingeniería Industrial y de Sistemas Copyright © OracleProfesor
Corporation, 2001.
Ing. Ponte Roca Todos los derechos reservados.
Miguel Angel 1
Objetivos
Objeto Descripción
Una secuencia:
• Genera automáticamente números únicos.
• Es un objeto compartible.
• Normalmente se utiliza para crear un valor de
clave primaria.
• Sustituye al código de aplicación.
• Acelera la eficacia del acceso a los valores de
secuencia al almacenarse en memoria caché.
Un índice:
• Es un objeto de esquema.
• Oracle Server lo utiliza para acelerar la recuperación de
filas utilizando un puntero.
• Puede reducir la E/S de disco mediante un método de
ruta de acceso rápido para encontrar datos.
• Es independiente de su tabla indexada.
• Oracle Server lo utiliza y mantiene automáticamente.
Index created.
SELECT *
FROM departments
WHERE UPPER(department_name) = 'SALES';
• Borre un sinónimo.
DROP SYNONYM d_sum;
Synonym dropped.