Presentación — Unidad 3
Objetivos de la unidad
Section titled “Objetivos de la unidad”Explicar el propósito de la auditoría e identificar qué debe registrarse
Configurar e interpretar accesos, privilegios y cambios de estructura
Consultar, interpretar y conservar bitácoras
Redactar reglas verificables de acceso, respaldo, retención y cambios
Construir propietarios, catálogo y diccionario de datos
Configuración de auditoría con bitácora interpretada
De la Unidad 2 a la Unidad 3
Section titled “De la Unidad 2 a la Unidad 3”Usuarios, roles, privilegios, cifrado, hardening. Actúa antes de la operación: permite o niega.
Bitácoras, auditoría del dato, políticas y responsables. Actúa durante y después: registra, sea o no autorizado.
Una cuenta con privilegio legítimo de UPDATE puede cambiar un dato por error o por abuso. El control de acceso no lo detecta, porque la operación está permitida.
El caso de la unidad
Section titled “El caso de la unidad”El RFC de María García (
id = 3) aparece modificado en un reporte de facturación.
app_ventas tiene UPDATE. También el DBA. ¿Alguien más?
¿Qué aplicación, qué equipo, a qué hora?
Sin el valor anterior, facturación no puede corregirlo
La pregunta de la unidad
Section titled “La pregunta de la unidad”CONTROL DE ACCESO (Unidad 2) "¿quién PUEDE?" │ ▼AUDITORÍA Y TRAZABILIDAD "¿qué OCURRIÓ?" ┌────┼──────────────┐ ▼ ▼ ▼eventos bitácoras políticas prácticas └──────────┬────────┘ ▼ GOBIERNO PRÁCTICO DE DATOS "¿quién RESPONDE?" ▼ EVIDENCIAS PARA AUDITORÍA INTERNAActividad 1: Diagnóstico
Section titled “Actividad 1: Diagnóstico”- ¿Por qué ese control de acceso no permite responder quién cambió el RFC?
- ¿Qué tendría que haber existido antes del cambio para poder responder?
- ¿A quién le corresponde decidir cuál es el RFC correcto?
Registra tus ideas previas. Las retomaremos al final de la unidad.
El gestor primero, el despliegue después
Section titled “El gestor primero, el despliegue después”Un mismo servidor PostgreSQL o MongoDB puede estar instalado de varias formas. Las instrucciones del gestor son las mismas en todas.
| Despliegue | Qué cambia | Qué no cambia |
|---|---|---|
| Instalación nativa (Linux, macOS, Windows) | Cómo se inicia y reinicia el servicio, rutas de archivos | SQL, psql, mongosh, parámetros del motor |
| Máquina virtual | La dirección del servidor | Lo mismo |
| Contenedor | Cómo se abre una terminal y se reinicia | Lo mismo |
| Servicio administrado en la nube (DBaaS) | Los parámetros y las bitácoras se gestionan desde la consola del proveedor | Los conceptos: qué registrar, cómo interpretarlo, cuánto conservarlo |
En esta unidad aprenderás a preguntarle al propio motor dónde está su configuración y su bitácora, en lugar de depender de cómo se instaló.
Dos tipos de sesión con psql
Section titled “Dos tipos de sesión con psql”Configura el servidor y lee la bitácora.psql -U postgres -d comercial
En algunos despliegues se abre de otra forma, por ejemplo sudo -u postgres psql en Linux.
Simula a la aplicación y a los usuarios, que entran con contraseña. Es idéntica en cualquier despliegue.
psql "postgresql://app_ventas:Ventas_Practica_2026@127.0.0.1/comercial?application_name=app-ventas-web" -c "SELECT 1"Las contraseñas son de práctica. En las evidencias se sustituyen por <REDACTED>.
La cadena de conexión, pieza por pieza
Section titled “La cadena de conexión, pieza por pieza”postgresql://app_ventas:Ventas_Practica_2026@127.0.0.1/comercial?application_name=app-ventas-web| Parte | Significado |
|---|---|
postgresql:// | Protocolo de PostgreSQL |
app_ventas:Ventas_Practica_2026@ | Usuario (rol) y contraseña |
127.0.0.1 | Servidor. Al usar una dirección, la conexión viaja por TCP y se evalúan las reglas host de pg_hba.conf |
/comercial | Base de datos |
?application_name=... | Nombre de la aplicación que verá el servidor (%a en la bitácora) |
-c "..." | Ejecuta esa sentencia y termina. Cada -c es una sentencia |
La misma cadena funciona en Bash, Zsh y PowerShell. Si el servidor está en otro equipo, solo cambia 127.0.0.1. En producción la contraseña no va en la cadena: proviene de .pgpass o de un gestor de secretos (Unidad 2).
Preguntarle al motor por su instalación
Section titled “Preguntarle al motor por su instalación”SELECT version();SHOW data_directory;SHOW config_file;SHOW hba_file; PostgreSQL 16.14 (Debian 16.14-1.pgdg13+1) on x86_64-pc-linux-gnu, ... /var/lib/postgresql/data /var/lib/postgresql/data/postgresql.conf /var/lib/postgresql/data/pg_hba.confDentro de psql, las órdenes que empiezan con \ (\q, \x, \password) son metacomandos: los ejecuta el cliente, no el servidor.
Las rutas dependen del despliegue. Las consultas son las mismas en todos

