Contenido del curso
Bases de Datos: De Cero a Experto

🎯 Objetivo:

Aprender a crear usuarios, asignar permisos y usar roles para administrar el acceso a una base de datos de forma segura, siguiendo el principio del mínimo privilegio.


🧠 ¿Qué son los usuarios y roles?

  • Un usuario es una cuenta que se conecta a la base de datos.

  • Un rol es un grupo de permisos (como lectura, escritura, eliminación) que se puede asignar a uno o más usuarios.

  • Esto permite que cada persona tenga solo el acceso que necesita.


🔐 Principio de mínimo privilegio

👉 Solo dar acceso a lo que realmente necesita un usuario.
Ejemplo:

  • Un cajero solo necesita insertar y consultar ventas.

  • Un analista solo necesita consultar.

  • Un administrador puede modificar estructuras y usuarios.


🛠️ Comandos básicos en MySQL (válido también en MariaDB)

🧾 Crear un usuario:

sql
 
CREATE USER 'analista'@'localhost' IDENTIFIED BY 'segura123';

🔹 Esto crea un usuario local llamado analista con contraseña segura123.


🧾 Dar permisos específicos:

sql
 
GRANT SELECT ON tienda.* TO 'analista'@'localhost';

🔹 El usuario puede consultar cualquier tabla en la base de datos tienda, pero no modificar nada.


🧾 Crear un rol (MySQL 8+):

sql
CREATE ROLE 'editor';
GRANT SELECT, INSERT, UPDATE ON tienda.* TO 'editor';

🧾 Asignar un rol a un usuario:

sql
 
GRANT 'editor' TO 'juan'@'localhost';
SET DEFAULT ROLE 'editor' TO 'juan'@'localhost';

🔹 juan hereda los permisos del rol editor.


🧾 Ver permisos de un usuario:

sql
 
SHOW GRANTS FOR 'analista'@'localhost';

🧾 Revocar permisos:

sql
 
REVOKE INSERT ON tienda.* FROM 'editor';

🧩 Ejemplo real: Roles en una tienda

Usuario Rol asignado Permisos
camila lector SELECT
juan editor SELECT, INSERT, UPDATE
admin admin ALL PRIVILEGES

🧼 Buenas prácticas de seguridad

✅ No uses root para operar en producción
✅ Crea roles según funciones reales (lector, editor, admin)
✅ Revoca permisos cuando alguien ya no los necesita
✅ Usa contraseñas seguras para todos los usuarios


📝 Desafío práctico

  1. Crea un usuario consultor con solo permiso de lectura sobre la base ventas.

  2. Crea un rol vendedor con permisos para insertar y consultar.

  3. Asigna el rol vendedor a dos usuarios.

  4. Luego revoca el permiso INSERT del rol vendedor.


✅ Revisión rápida

  • ¿Qué hace un GRANT?

  • ¿Qué diferencia hay entre un usuario y un rol?

  • ¿Cómo aplicarías el principio de mínimo privilegio en tu base de datos?

Scroll al inicio