Saltar la navegación

9.- Usuarios. Roles. Privilegios

Caso práctico

Juan.
Ministerio de Educación (Uso educativo nc)



Juan debe consultar al cliente qué usuarios van a acceder a la base de datos y qué privilegios se les va a otorgar. Esta parte es primordial si queremos salvaguardar el contenido de la base de datos. ¿Qué ocurriría si cualquiera pudiera ver la información personal de todos los usuarios registrados? Estaríamos cometiendo un fallo de seguridad además de incumplir la ley de protección de datos.

Muñeco usuario.
Francisco Mochis (Dominio público)


A la hora de conectarnos a la base de datos es necesario que utilicemos un modo de acceso, de manera que queden descritos los permisos de que dispondremos durante nuestra conexión. En función del nombre de usuario tendremos unos permisos u otros.

Un usuario es un conjunto de permisos que se aplican a una conexión de base de datos. 

Tiene además otras características: 

  • Es el propietario de ciertos objetos (tablas, vistas, etc.).
  • Realiza las copias de seguridad.
  • Tiene asignada una cuota de almacenamiento.
  • TIene asignado un tablespace por defecto para los objetos en Oracle.

Pero no todos los usuarios deberían poder hacer lo mismo cuando acceden a la base de datos. Por ejemplo, un administrador debería tener más privilegios que un usuario que quiere realizar una simple consulta.

¿Qué es un privilegio? No es más que un permiso dado a un usuario para que realice ciertas operaciones, que pueden ser de dos tipos:

  • De sistema: necesitará el permiso de sistema correspondiente.
  • Sobre objeto: necesitará el permiso sobre el objeto en cuestión.

¿Y no sería interesante poder agrupar esos permisos para darlos juntos? Para eso tenemos el rol.

Un rol de base de datos no es más que una agrupación de permisos de sistema y de objeto.

Podemos tener a un grupo determinado de usuarios que tengan permiso para consultar los datos de una tabla concreta y no tener permiso para actualizarlos. Luego un rol permite asignar un grupo de permisos a un usuario. De este modo, si asignamos un rol con 5 permisos a 200 usuarios y luego queremos añadir un permiso nuevo al rol, no tendremos que ir añadiendo este nuevo permiso a los 200 usuarios, ya que el rol se encarga de propagarlo automáticamente.

Unidad lógica de almacenamiento dentro de una base de datos Oracle.

Es la persona o equipo de personas profesionales responsables del control y manejo del sistema de base de datos, generalmente tiene experiencia en Sistemas Gestores de Base de Datos, diseño de bases de datos, sistemas operativos, comunicación de datos y programación

Autoevaluación

Rellena los huecos con los conceptos adecuados.

Al nombre utilizado para acceder a una base de datos, se le llama . Los permisos dados a usuarios para que realicen ciertas operaciones se les llama . Si tengo una agrupación de permisos juntos, tenemos un .

Habilitar JavaScript