Las Bases De Datos
Enviado por abelinno • 6 de Diciembre de 2012 • 1.521 Palabras (7 Páginas) • 360 Visitas
UNIDAD 4. SEGURIDAD
INTRODUCCION
En cualquier sistema es necesaria la seguridad y esta necesidad se acentua cuando, como el caso de Oracle, el sistema es multiusuario. Sera necesario como minimo establecer la autenticacion y administracion de usuarios, la administracion de privilegios y funciones, la administracion de contraseñas de usuario y el establecimiento de limites de recursos de la base de datos.
4.1 Tipos de usuarios
cualquier usuario que intente conectarse a la base de datos debe hacerlo con un nombre de usuario determinado para que Oracle auentifique que dicha persona está autorizada a usar la cuenta. Oracle utiliza la autenticación de contraseña, autenticación de sistema operativo y autenticación global de usuario.
La autenticación de contraseña, consiste en un nombre de usuario y una contraseña asociada, es tipica en entornos distribuidos y sobre todo en sistemas cliente-servidor.
La autenticación de sistema operativo, tipica en sistemas de terminales con conexion directa al servidor, consiste en que Oracle autentica un nombre de usuario usando el sistema operativo del computador que ejecuta el servidor de base de datos.
En el caso de autenticacion global de usuario, Oracle autentica un nombre de usuario usando un servicio de red externo.
4.2 Creacion de usuarios
Oracle permite crear un usuario con autenticación de contraseña mediante la sentencia CREATE USER, cuya sintaxis es la siguiente:
CREATE USER usuario IDENTIFIED
{BY contraseña |EXTERNALLY|GLOBALLY AS 'external_name'}
[ { DEFAULT TABLESPACE tablespace
| TEMPORARY TABLESPACE tablespace
| QUOTA {entero [K | M] | UNLIMITED } ON tablespace
[QUOTA {entero [K | M] | UNLIMITED } ON
tablespace]...
| PROFILE perfil
| PASSWORD EXPIRE
| ACCOUNT { LOCK | UNLOCK}
}...
]
;
CREATE USER define el usuario de la cuenta.
IDENTIFIED BY define la contraseña
IDENTIFIED EXTERNALY indica que se produce una autenticación de sistema operativo (el acceso se verifica mediante la seguridad del sistema operativo).
IDENTIFIED GLOBALY AS indica que se produce una autenticación global de usuario.
TEMPORARY TABLESPACE es el espacio de la tabla donde se crean los objetos temporales necesarios para las operaciones.
QUOTA indica el tamaño en kilobytes o megabytes del espacio de tabla (normal o temporal) que se reserva para el usuario (la clausula UNLIMITED permite al usuario utilizar el espacio de tabla sin ninguna limitacion de espacio).
PROFILE asigna un perfil al usuario para limitar el uso de recursos de la base de datos (si no especificamos ningun perfil Oracle asigna el perfil DEFAULT al usuario).
PASSWORD EXPIRE se utiliza si se quiere que la contraseña dek usuario expire.
ACCOUNT UNLOCK indica apertura de la cuenta.
En el ejemplo siguiente se crea un usuario de conmbre sydney con autenticación por la contraseña welcome, con una cuota de 10 megabytes de espacio en el tablespace por defecto demo, con tablespace temporal de nombre temp, con 5 megabytes de espacio en el tablespace SYSTEM, con limite a los recursos de la base de datos determinados por el perfil app-user y con password expirada, de modo que el usuario deberá cambiarla desoués de hacer login en la base de datos.
Modificacion de usuarios
Oracle permite cambiar la contraseña de usuario mediante la sentencia ALTER USER. En el ejemplo siguiente se cambia la contraseña a lion y el tablespace por defecto a tbs_1 para el usuario oe.
Sql> ALTER USER oe
IDENTIFIED BY lion
DEFAULT TABLESPACE tbs_1;
Eliminacion de usuarios.
Oracle permite eliminar usuarios mediante la sentencia DROP USER, cuya sintaxis es la siguiente:
DROP USER user [CASCADE];
Se especifica CASCADE para borrar todos los objetos del esquema del usuario antes de borrar el usuario. Si el esquema contiene tablas, Oracle borrara las tablas y automaticamente eliminará cualquier restriccion de integridad referencial referida a claves primarias o únicas de tablas en otros esquemas.
Ejemplo:
sql>DROP USER sidney CASCADE;
4.3 Privilegios a usuarios.
Una vez creados los usuarios será necesario dotarlos de privilegios para que puedan realizar operaciones especificas en la base de datos. Estos privilegios suelen clasificarse en privilegios del sistema (permiten al usuario realizar algun tipo de operacion que afecta a todo el sistema) y privilegios de objeto (permiten al usuario realizar operaciones especificas sobre objetos especificos de la base de datos como tablas, vistas, etc.).
Los privilegios de sistema más comunes son:
PRIVILEGIOS
DESCRIPCION
CREATE SESSION
Conexion al servidor de base de datos y establecimiento de sesion
CREATE TABLE
Crear una tabla en el esquema propio
CREATE ANY TABLE
Crear una tabla en cualquier esquema de la base de la datos.
SELECT ANY TABLE
Hacer peticiones acualquier tabla de la base de datos.
EXECUTE ANY PROCEDURE
Ejecutar cualquier procedimiento almacenadi, función o componentes de paquete de base de datos.
ALTER DATABASE
Modifica la estrucutura fisica y la capacidad del sistema de base de datos.
Los privilegios de objeto dependen del tipo de objeto. Para una tablas los privilegios tipicos son:
PRIVILEGIOS
SELECT
INSERT
UPDATE
DELETE
ALTER
INDEX
REFERENCES
Para una vista los privilegios son:
PRIVILEGIOS
SELECT
INSERT
UPDATE
DELETE
Sentencia GRANT
La sentencia que permite administrar privilegios en Oracle es GRANT. Su sintaxis es la siguiente:
GRANT { privilegios_sistemas
| privilegios_objeto
...