Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Unidad 3
El objetivo de la seguridad es
proteger la Base de Datos contra
accesos no autorizados, o estar libre
de todo peligro o dao.
Caractersticas
Confidencialidad: nos dice que los objetos de un sistema han de
ser accedidos nicamente por elementos autorizados a ello, y que
esos elementos autorizados no van a convertir esa informacin en
disponible para otras entidades.
Disponibilidad:
Medidas de seguridad
Fsicas: controlar el acceso al equipo, mediante tarjetas de
acceso.
Personal:
acceso solo de
identificacin directa de personal.
SGBD:
personal
autorizado,
Usuarios y Privilegios
El acceso al servidor MySQL est controlado por usuarios y
privilegios. Los usuarios del servidor MySQL no tienen
ninguna correspondencia con los usuarios del sistema
operativo.
En la prctica es comn que algn administrador de MySQL
asigne los mismos nombres que los usuarios tienen en el
sistema.
El usuario administrador del sistema MySQL se llama
ROOT.
Creacin de Usuarios
CREATE USER usuario IDENTIFIED BY contrasea;
Ejemplos:
CREATE USER pepito IDENTIFIED BY griyo;
CREATE USER anonimo@localhost;
CREATE USER alumno@192.168.0.% IDENTIFIED BY
alumno;
Ver los usuarios:
SELECT User,Host,Password FROM mysql.user;
Borrar un usuario:
SET
PASSWORD
PASSWORD(contrasea);
FOR
usuario
La Sentencia GRANT
La sintaxis simplificada de GRANT consta de tres secciones. No
puede omitirse ninguna, y es importante el orden de las mismas:
La Sentencia GRANT
Es posible asignar una contrasea a la cuenta al mismo tiempo
que se crea y se le otorgan privilegios:
La Sentencia GRANT
En la misma sentencia es posible tambin otorgar permisos a ms
de un usuario y asignarles, o no, contrasea:
Mysql > GRANT UPDATE, INSERT, SELECT
-> ON demo.precios
-> TO visitante@localhost,
-> TO visitante@localhost;
-> ON *
-> TO visitante@localhost;
Especificacin de columnas
A continuacin un ejemplo donde se especifican las columnas sobre las que
se otorgan privilegios con el comando GRANT:
Mysql > GRANT UPDATE(precio,empresa)
-> ON demo.precios
-> TO visitante@localhost;
Podemos especificar privilegios diferentes para cada columna o grupos de
columnas:
Mysql > GRANT UPDATE(precio), SELECT (precio, empresa)
-> ON demo.precios
-> TO visitante@localhost;
-> TO operador@localhost
-> WITH GRANT OPTION;
Limites de uso
Los recursos fsicos del servidor siempre son limitados: si se conectan
muchos usuarios al mismo tiempo al servidor y realizan consultas o
manipulaciones de datos complejas, es probable que pueda decaer el
rendimiento notablemente. Una posible solucin a este problema es
limitar a los usuarios el trabajo que pueden pedir al servidor con tres
parmetros:
Limites de uso
La sintaxis de estas limitaciones es como se muestra a continuacin:
Mysql > GRANT ALL
-> ON *.*
-> TO
-> WITH MAX_CONECTIONS_PER_HOUR 3
-> MAX_QUERIES_PER_HOUR 300
Eliminar privilegios
El comando REVOKE permite eliminar privilegios otorgados con
GRANT a los usuarios. Veamos un ejemplo representativo:
REVOKE ALL
ON *.*
FROM visitante@localhost;
Al ejecutar este comando se le retiran al usuario visitante todos sus
privilegios sobre todas las bases de datos, cuando se conecta desde
localhost.
Eliminar usuarios
Antes de proceder a la eliminacin de un usuario, es
necesario asegurarse de que se le han quitado primero todos
sus privilegios. Una vez asegurado este detalle, se procede a
eliminarlo mediante el comando DROP USER:
mysql > DROP USER visitante;