En los SGBD en general pueden intervenir una gran cantidad de usuarios, cada uno con mayor o menor
nivel de acceso y cualificación. Respecto a la seguridad de una base de datos, conviene recordar qué tipo
de usuarios se distinguen:
El DBA (Database Administrator) es aquella persona o grupo de personas que sostiene la máxima
responsabilidad en el mantenimiento de una SGDB. Sus funciones se pueden resumir en: Definir el
esquema lógico de la base de datos. Definir el esquema físico. Definir los subesquemas (lo que
conocemos como vistas o consultas). Llevar un mantenimiento de los mencionados esquemas. Concretar
qué procedimientos seguir para mantener la seguridad, integridad y privacidad de los datos.
Usuario especializado
Este tipo de usuario es el que desarrolla otros sistemas más complejos a partir del SGBD. También caen
en esta categoría aquellos usuarios que utilizan el SGDB como fuente de información específica para su
labor, volcando grandes cantidades de datos para su análisis en bloque.
Son aquellos que elaboran aplicaciones del SGDB para ser utilizadas por los usuarios finales
Usuario técnico
Usuario final
Usuarios no especializados. Utilizan las aplicaciones diseñadas por los técnicos para manejar la base de
datos. La información que tratan está restringida al marco de su actividad concreta por medio de los
subesquemas (vistas) previamente definidos.
Implementación de políticas de seguridad
El SGBD debe garantizar que la información esté accesible únicamente a aquellos usuarios que estén
autorizados, impidiendo el acceso en caso contrario. En MySQL, esta función la realiza el sistema de
privilegios, el cual establece quién puede conectar al servidor. También garantiza que cada usuario
ejecute sólo aquellas operaciones para las que esté autorizado. El servidor de MySQL trabaja con cuentas
(nombre de host, usuario, contraseña y privilegios) organizadas en el diccionario de datos. Al acceder a él,
primero se comprueba la identidad del usuario y a continuación los permisos para hacer operaciones
sobre la base de datos. En ambas etapas se usan tablas user, db y host. Permisos La segunda etapa del
control de acceso consiste en una serie de operaciones que realiza el servidor para verificar que cada
cliente tiene suficientes privilegios para realizar sus peticiones. En este proceso, se accede a las tablas:
user: permisos de acceso global. host: permisos de acceso al servidor.
Protocolo Transport Layer Security
Como seguridad extra, se pueden utilizar protocolos de cifrado de datos a la conexión entre el cliente y el
servidor de bases de datos. Destacamos como ejemplo principal el protocolo Transport Layer Security
(TLS), sucesor de Security Socket Layer (SSL). Este protocolo incorpora cuatro elementos de seguridad en
una conexión: Confidencialidad: Garantizar, mediante encriptación, que los datos sean enviados a los
destinatarios válidos y que no se pueda acceder a ellos sin autorización. Integridad: Evitar, mediante
firma digital, que los datos puedan ser modificados sin notificar al usuario. Este elemento está muy
relacionado con la autenticación del usuario. Autenticación: Verificar la autoría del mensaje o
modificación por parte del usuario. No repudio: Evitar que el emisor del mensaje o modificación niegue
su autoría tras ser autentificado. Para utilizar conexiones SSL entre el servidor y los programas cliente es
necesario disponer de claves privadas y públicas y certificados. Para ell