Files
clusterlogs/docs/adr/0002-ssh-identity.md
T

1.5 KiB

ADR-0002: Identidad por llave SSH y prueba mediante commit firmado

  • Estado: aceptada
  • Fecha: 2026-08-12

Contexto

Los administradores ya usan llaves SSH y los agentes operan en su sesión local. Se busca evitar un sistema adicional de usuarios y contraseñas, pero una llave pública almacenada no basta para probar que una operación la realizó quien posee la privada.

Decisión

  • El registro data/admins.json asocia una o más huellas públicas con cada administrador.
  • La CLI resuelve la identidad a partir de una llave local.
  • El contenido conserva admin_id y huella para trazabilidad.
  • Las escrituras de producción usan --commit para crear un commit Git firmado por SSH.
  • config/allowed_signers se genera desde administradores activos.
  • CI y protección de rama verifican firmas y autorización.

Consecuencias positivas

  • Reutiliza la práctica operativa existente.
  • Evita secretos de aplicación dentro del repositorio.
  • La evidencia se integra con el historial Git.
  • Los agentes pueden usar el mismo contrato sin conocer la llave privada.

Consecuencias negativas

  • La configuración inicial de Git/OpenSSH requiere cuidado.
  • Rotación y revocación deben gobernarse explícitamente.
  • Una operación sin --commit queda atribuida sólo de manera declarativa.
  • El proveedor Git debe aplicar políticas de firma y rama.

Regla de interpretación

La huella es identidad declarada; una firma válida y autorizada es evidencia criptográfica. Nunca deben tratarse como equivalentes.