SOPS encrypt
sops -e -i secrets.yaml
Cifra los secretos de los ficheros de configuración con SOPS, protegiendo los valores sensibles de la IaC en el repositorio.
Ejecútalo cuando quieras versionar los secretos de la IaC sin exponerlos: sops cifra los valores de los ficheros (YAML, JSON, ENV, INI) con las claves de los proveedores (KMS, GCP KMS, Azure Key Vault, age, PGP) y el resultado se versiona de forma segura — los secretos cifrados en el repo, descifrados en el deploy (sops -d). Es la gestión de los secretos de la IaC de referencia (de Mozilla): el fichero de configuración con los secretos cifrados en el repositorio. En el DevSecOps, SOPS es la pieza de la gestión de secretos de la IaC: los secrets.yaml cifrados y las claves gestionadas por el proveedor (con el acceso controlado por los roles).
No lo uses como gestión de secretos en runtime: SOPS cifra en reposo (los ficheros) — los secretos en runtime (las variables de entorno del deploy, el secret management del clúster) se cubren con las herramientas del entorno (Vault, los secrets de K8s, los secret managers del cloud). Y ojo: la clave de SOPS (la del proveedor) es el punto único — su gestión (el acceso por roles) es la seguridad de los secretos; una clave comprometida descifra todos los ficheros. Los ficheros cifrados se versionan con cuidado (el historial de git con los secretos en claro previos se purga). Para los secretos de la aplicación (no de la IaC), los secret managers; SOPS es la capa de la IaC.