🎯 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
Asignar roles a usuarios
Revocar permisos específicos
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
-
Crea tres roles:
lector,editoryadmincon permisos acordes. -
Asigna roles a usuarios nuevos y existentes.
-
Revoca permisos de edición a un usuario específico sin quitar el rol completo.
-
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?