Contenido del curso
Bases de Datos: De Cero a Experto

🎯 Objetivo:

Profundizar en cómo administrar usuarios, configurar permisos avanzados y controlar el acceso para proteger la base de datos con mayor precisión.


🧠 Conceptos clave

Concepto Definición
Permisos a nivel de objeto Controlar acceso a tablas, columnas o vistas específicas.
Permisos con roles jerárquicos Crear roles con permisos específicos y roles que heredan otros roles.
Permisos dinámicos Asignar y revocar permisos según cambios en el equipo o proyectos.
Auditoría Registrar acciones de usuarios para monitorear accesos y cambios.

🛠️ Ejemplos prácticos en MySQL

Permisos a nivel de columna (MySQL no soporta directamente, ejemplo en PostgreSQL)

En MySQL, no hay permisos columnares por defecto, pero se puede limitar mediante vistas.


Crear roles jerárquicos

sql
 
CREATE ROLE lector;
GRANT SELECT ON tienda.* TO lector;

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

CREATE ROLE gerente;
GRANT lector, editor TO gerente;


Asignar roles a usuarios

sql
 
GRANT gerente TO 'ana'@'localhost';
SET DEFAULT ROLE gerente TO 'ana'@'localhost';

Revocar permisos específicos

sql
 
REVOKE INSERT ON tienda.productos FROM 'ana'@'localhost';

Auditoría básica

  • MySQL tiene plugins para auditoría (audit_log).

  • En PostgreSQL, puedes usar extensiones como pgaudit.

  • Permite revisar qué usuarios hicieron qué cambios y cuándo.


💡 Buenas prácticas avanzadas

  • Usa roles para agrupar permisos, no asignar directamente a usuarios.

  • Revisa periódicamente los permisos asignados y actualiza según sea necesario.

  • Implementa auditorías para cumplir con normativas y mejorar seguridad.

  • Documenta las políticas de acceso para el equipo.


📝 Ejercicio práctico

  1. Crea tres roles: lector, editor y admin con permisos acordes.

  2. Asigna roles a usuarios nuevos y existentes.

  3. Revoca permisos de edición a un usuario específico sin quitar el rol completo.

  4. Investiga cómo activar auditoría en tu base de datos (MySQL o PostgreSQL).


✅ Revisión rápida

  • ¿Por qué es mejor usar roles en vez de permisos individuales para cada usuario?

  • ¿Qué ventajas da la auditoría en la base de datos?

  • ¿Cómo limitar permisos a nivel muy granular?

Scroll al inicio