Saltar al contenido principal

Lab 12: Auditoría de Costos y Gobernanza

Objetivo​

Auditar los costos de sesiones complejas, implementar políticas de configuración administrada para un equipo, configurar auto mode con reglas ask/deny y usar safe mode para diagnosticar problemas de configuración.

Prerrequisitos​

  • Claude Code instalado y autenticado
  • Historial de sesiones previas (labs anteriores completados)
  • Acceso a configuración de equipo (plan Team o Enterprise, o simulación)

Duración estimada​

40 minutos

Pasos​

Paso 1: Auditar costos de una sesión compleja​

Ejecuta una sesión con múltiples tareas para generar consumo medible:

cd ~/lab12-proyecto
claude

Dentro de la sesión, ejecuta tareas variadas:

Explora la estructura de este proyecto, identifica los 5 archivos más
complejos, sugiere refactorizaciones y genera tests para el archivo principal.

Al finalizar, revisa los costos:

/cost

Documenta detalladamente:

  • Total de tokens de entrada
  • Total de tokens de salida
  • Tokens de caché (si aplica)
  • Costo estimado en USD
  • Número de llamadas a herramientas

Paso 2: Comparar costos entre modelos​

Ejecuta la misma tarea con diferentes modelos para comparar:

Con Haiku:

/model haiku

Ejecuta la tarea y registra /cost.

Con Sonnet:

/model sonnet

Ejecuta la misma tarea y registra /cost.

Crea una tabla comparativa:

MétricaHaikuSonnet
Tokens entrada
Tokens salida
Costo estimado
Calidad percibida (1-5)
Tiempo de respuesta

Paso 3: Implementar configuración administrada (Managed Settings)​

Crea un archivo de políticas que simule una configuración empresarial. Este archivo representa lo que un administrador desplegaría para su equipo.

Crea managed-settings.json:

{
"permissions": {
"allow": [
"Bash(npm test)",
"Bash(npm run build)",
"Bash(npm run lint)",
"Bash(git status)",
"Bash(git diff)",
"Bash(git log)"
],
"deny": [
"Bash(rm -rf *)",
"Bash(sudo *)",
"Bash(curl * | bash)",
"Bash(wget * | bash)",
"Bash(npm publish)",
"Bash(git push --force)"
]
},
"env": {
"CLAUDE_CODE_MAX_TOKENS": "4096",
"CLAUDE_CODE_DISABLE_AUTO_APPROVE": "true"
}
}

Documenta el propósito de cada regla:

  • allow: Comandos seguros que el equipo necesita frecuentemente
  • deny: Operaciones peligrosas que nunca deben ejecutarse automáticamente

Paso 4: Configurar auto mode con reglas ask/deny​

Configura el comportamiento automático en .claude/settings.json:

{
"permissions": {
"allow": [
"Read(*)",
"Glob(*)",
"Grep(*)",
"Bash(npm test)",
"Bash(npm run lint)"
],
"deny": [
"Bash(rm *)",
"Bash(git push *)",
"Write(*.env)",
"Write(*credentials*)"
]
}
}

Explica la estrategia de permisos:

  • allow: Operaciones de solo lectura y comandos de CI seguros se aprueban automáticamente
  • deny: Operaciones destructivas y escritura de archivos sensibles se bloquean siempre
  • ask (implícito): Todo lo demás requiere confirmación del usuario

Paso 5: Probar las reglas configuradas​

Ejecuta operaciones que prueben cada categoría:

Operación auto-aprobada (allow):

Lee el archivo package.json y ejecuta npm test

Operación bloqueada (deny):

Elimina todos los archivos temporales con rm -rf /tmp/*

Operación que requiere confirmación (ask):

Crea un nuevo archivo src/nuevo-modulo.js con una función de utilidad

Documenta el comportamiento en cada caso.

Paso 6: Diagnosticar con safe mode​

Simula un problema de configuración. Introduce un error intencional en la configuración:

{
"permissions": {
"allow": ["Bash(npm test)"],
"deny": ["Bash(npm test)"]
}
}

Ejecuta Claude Code en modo seguro para diagnosticar:

claude --safe-mode

Dentro del modo seguro:

  • Verifica qué configuraciones están activas
  • Identifica conflictos entre allow y deny
  • Revisa la jerarquía de configuración aplicada
  • Confirma que las reglas se resuelven correctamente

Paso 7: Crear reporte de gobernanza​

Produce un reporte completo de gobernanza para tu equipo:

## Reporte de Gobernanza - Claude Code

### Política de Permisos
- Comandos auto-aprobados: [lista]
- Comandos bloqueados: [lista]
- Comandos que requieren aprobación: [criterio]

### Análisis de Costos
- Costo promedio por sesión: $X.XX
- Modelo recomendado para tareas rutinarias: Haiku
- Modelo recomendado para tareas complejas: Sonnet
- Presupuesto mensual estimado por desarrollador: $X.XX

### Configuración de Seguridad
- Hooks activos: [lista]
- Restricciones de archivos: [lista]
- Auditoría de sesiones: [frecuencia]

Verificación​

  • Auditaste costos de al menos una sesión compleja
  • Comparaste costos entre Haiku y Sonnet
  • Configuraste managed settings con allow y deny
  • Probaste reglas de auto mode (allow/deny/ask)
  • Ejecutaste safe mode para diagnosticar un problema
  • Generaste el reporte de gobernanza

Entrega​

Documenta en un archivo lab12-entrega.md:

  1. Tabla de costos comparativa entre modelos
  2. Archivo managed-settings.json completo con justificaciones
  3. Configuración de auto mode con reglas ask/deny
  4. Resultado del diagnóstico con safe mode
  5. Reporte de gobernanza completo

Criterios de evaluación​

CriterioPuntos
Auditoría de costos detallada20
Comparación de costos entre modelos15
Managed settings con políticas justificadas20
Auto mode con reglas ask/deny funcionales20
Diagnóstico con safe mode10
Reporte de gobernanza completo15
Total100