Objetivo: firmar imágenes Docker usando cosign y verificar la firma antes del despliegue.
1) Requisitos
- Cuenta en un registry (GHCR, Docker Hub, etc.).
- cosigninstalado (- brew install cosigno binario oficial).
2) Generar clave (modo keyless o con clave)
# con clave (ed25519 por defecto)
cosign generate-key-pair
# genera cosign.key y cosign.pubEn entornos modernos puedes usar keyless con OIDC (GitHub Actions, Google, etc.).
3) Construir y subir la imagen
IMAGE=ghcr.io/usuario/app:1.0.0
docker build -t $IMAGE .
docker push $IMAGE4) Firmar la imagen
# con clave
COSIGN_PASSWORD="...si usaste passphrase..." cosign sign --key cosign.key $IMAGE
# keyless (OIDC)
cosign sign $IMAGE5) Verificar la firma en CI
cosign verify --key cosign.pub $IMAGEAñade un job que falle si la verificación no pasa.
6) Política de admisión (opcional)
En Kubernetes, usa una política (Kyverno/OPA Gatekeeper) que exija firmas válidas para desplegar.
