Rotar las claves API regularmente es una práctica de seguridad importante. Aquí está cómo rotar de forma segura tus claves sin interrumpir tu servicio.
¿Por qué rotar claves API?
Mejor práctica de seguridad: Limita la exposición si una clave alguna vez se ve comprometida
Cambios de miembros del equipo: Cuando desarrolladores se van o cambian de rol
Sospecha de compromiso: Si crees que una clave puede haber sido expuesta
Cumplimiento: Algunas políticas de seguridad requieren rotación periódica de claves
Cambios de entorno: Al migrar infraestructura o refactorizar
Proceso de rotación estándar (sin tiempo de inactividad)
Paso 1: Crear una nueva clave
Inicia sesión en Ajustes → API
Haz clic en "Crear nueva clave API"
Nómbrala descriptivamente (ej., "Web Producción v2")
Copia la nueva clave inmediatamente - solo se muestra una vez
Almacénala de forma segura
Paso 2: Actualizar tu aplicación
Despliega la nueva clave a tu aplicación (variables de entorno, gestor de secretos, etc.)
Reinicia tu aplicación para cargar la nueva clave
Verifica que la nueva clave funciona correctamente
Monitorea por cualquier error
Paso 3: Monitorear la transición
Mantén ambas claves activas temporalmente
Verifica Ajustes → API para ver fechas de "Último uso"
Espera hasta que la clave antigua no muestre actividad reciente
Asegura que todas las instancias/servicios han cambiado a la nueva clave
Paso 4: Eliminar la clave antigua
Una vez confirmado que la clave antigua ya no está en uso
Elimina o desactiva la clave antigua en Ajustes → API
Documenta la rotación para tus registros
Proceso de rotación rápida (si está comprometida)
Si una clave está definitivamente comprometida y necesitas actuar inmediatamente:
Elimina primero la clave comprometida en Ajustes → API
Crea una nueva clave de reemplazo
Despliega rápidamente la nueva clave a todas las aplicaciones
Acepta un breve tiempo de inactividad para prevenir acceso no autorizado
Monitorea logs de uso para cualquier actividad sospechosa
Contacta con soporte si es necesario
Estrategia de rotación multi-entorno
Para sistemas de producción, usa un enfoque por fases:
Semana 1: Desarrollo
Crear y desplegar nueva clave al entorno dev
Probar exhaustivamente
Semana 2: Staging
Desplegar nueva clave a staging
Ejecutar pruebas de integración
Monitorear por problemas
Semana 3: Producción
Desplegar nueva clave a producción durante período de bajo tráfico
Monitorear de cerca
Mantener clave antigua activa por 24-48 horas como respaldo
Semana 4: Limpieza
Verificar que clave antigua no muestra actividad
Eliminar clave antigua
Actualizar documentación
Ejemplo de automatización
Script para ayudar a verificar que la rotación de clave está completa:
#!/bin/bash
# check-api-key.sh
OLD_KEY="sk_live_OLD123..."
NEW_KEY="sk_live_NEW789..."
echo "Probando clave antigua..."
OLD_RESPONSE=$(curl -s -w "%{http_code}" -X POST https://api.cathopic.com/resources \
-H "x-api-key: $OLD_KEY" \
-H "Content-Type: application/json" \
-d '{"query":"test","page":1,"page_size":1}')
echo "Probando clave nueva..."
NEW_RESPONSE=$(curl -s -w "%{http_code}" -X POST https://api.cathopic.com/resources \
-H "x-api-key: $NEW_KEY" \
-H "Content-Type: application/json" \
-d '{"query":"test","page":1,"page_size":1}')
echo "Estado clave antigua: ${OLD_RESPONSE: -3}"
echo "Estado clave nueva: ${NEW_RESPONSE: -3}"
if [ "${NEW_RESPONSE: -3}" == "200" ]; then
echo "✅ ¡La nueva clave funciona!"
else
echo "❌ ¡La nueva clave falló!"
fi
Mejores prácticas
Rota regularmente: Cada 90 días para claves de producción
Documenta rotaciones: Mantén un log de cuándo se rotaron las claves y por qué
Prueba antes de eliminar: Siempre verifica que la nueva clave funciona antes de eliminar la antigua
Usa múltiples claves: Claves separadas por entorno facilitan la rotación
Automatiza donde sea posible: Usa herramientas de gestión de secretos que soporten rotación automática
Lista de verificación post-rotación
Confirma estos elementos después de rotar:
✅ Todas las instancias de producción usando nueva clave
✅ Todos los entornos staging/dev actualizados (si usan la misma clave)
✅ Variables de entorno actualizadas
✅ Secretos de CI/CD actualizados
✅ Documentación actualizada
✅ Miembros del equipo notificados
✅ Clave antigua eliminada
✅ Rotación registrada para propósitos de auditoría