Inicio / Blog / Ciclo de vida de secretos
Seguridad de aplicaciones y operaciones backend

Gestión de secretos en backends pequeños: de la creación a la revocación

Muchos proyectos empiezan con una clave API en un archivo local y terminan con credenciales copiadas en CI, paneles de hosting, notas y logs. El riesgo no es solo dónde se guarda el secreto: importa su alcance, quién puede obtenerlo, cómo llega al proceso y cuánto se tarda en revocarlo. Un equipo pequeño puede controlar el ciclo sin montar un departamento de seguridad.

Trata cada credencial como un ciclo de vida

Identifica qué existe, quién lo consume y cómo sustituirlo con seguridad
1 / ClasificarFinalidad, responsable, entorno e impacto.
2 / CrearValor aleatorio robusto o identidad de workload.
3 / GuardarGestor dedicado, nunca código fuente.
4 / EntregarSolo al runtime y job que lo necesitan.
5 / RotarSolapa, valida consumidores y retira el anterior.
6 / RevocarDesactiva y revisa el historial de acceso.

Inventaría antes de elegir una bóveda

CredencialLimita el acceso aOpción preferible
Base de datosUna aplicación, base y operaciones necesariasIdentidad de workload o acceso temporal
Clave API externaUna integración y endpoints mínimosClave restringida del proveedor
Despliegue CIRepositorio, entorno y rol concretosFederación OIDC y credencial temporal
Clave de firmaServicio y propósito específicosFirma protegida por KMS/HSM cuando sea viable

Mantén un inventario sin valores secretos: identificador, responsable, consumidor, entorno, fecha de creación, última rotación, vencimiento y procedimiento urgente de revocación. Separa desarrollo, pruebas y producción; un job de test no debería heredar permisos de producción por comodidad.

Evita que los secretos lleguen a Git, artefactos o logs

Para el desarrollo local, usa un archivo ignorado y un ejemplo con nombres de variables pero sin valores. En producción, inyecta credenciales desde la plataforma o recupéralas mediante identidad autenticada en runtime. No las incluyas en imágenes, bundles frontend, logs de build, informes de errores ni URLs.

El enmascaramiento de CI es una protección visual de último recurso, no evita que un workflow pueda exfiltrar el valor. Revisa quién puede modificar workflows y entornos. Prefiere OIDC entre CI y la nube para no guardar claves duraderas en la configuración del repositorio.

Rota sin interrupciones inesperadas

Prepara una segunda credencial o un método con período de solapamiento. Crea la nueva, entrégala al consumidor, verifica la autenticación y luego revoca la anterior. Vigila los fallos y conserva una ventana limitada de rollback si el proveedor lo admite. Si no permite solapamiento, documenta el riesgo y ensaya el mantenimiento; no supongas que el cambio es atómico.

Rota de inmediato si sospechas exposición y aplica un calendario proporcional al riesgo. Sin inventario de consumidores ni comprobación de revocación, las credenciales antiguas pueden seguir activas para siempre.

Ensaya la revocación de emergencia

Conoce el método para desactivar una clave, qué servicios fallarán y cómo emitir otra. Practica sin mostrar el valor real. Si aparece en un repositorio público, revoca primero: borrar el commit no elimina clones, cachés ni notificaciones. Después revisa accesos y logs, cambia credenciales dependientes y documenta cómo mejorar la detección.

En resumen

Gestionar secretos consiste en diseñar el acceso, la entrega, la rotación y la revocación. Registra responsables y consumidores, separa entornos, usa identidades temporales cuando puedas, evita que los valores aparezcan en código y telemetría y prueba la sustitución antes de una emergencia. Un inventario pequeño y actualizado vale más que una bóveda llena de claves olvidadas.

Referencias