用途:在 Git 仓库中安全存放密钥与配置,通过 SOPS 加密、age 管理密钥。数值使用 AES256-GCM 加密,密钥为 X25519 密钥对。
主要能力:生成 age 密钥、加密/解密文件、编辑加密文件、更新接收者、轮换数据密钥;支持多环境 creation_rules、按正则选择性加密敏感字段、通过 exec-env 或 exec-file 将密钥传给进程而不落地文件。
必要用法:生成密钥 age-keygen -o keys.txt,提取公钥 age-keygen -y keys.txt;加密 sops encrypt file.yaml > file.enc.yaml;解密 sops decrypt file.enc.yaml;编辑 sops edit file.enc.yaml;更新接收者 sops updatekeys -y file.enc.yaml;轮换 sops rotate -i file.enc.yaml。仓库根目录需有 .sops.yaml 定义 creation_rules。CI 中可设置 SOPS_AGE_KEY 或 SOPS_AGE_KEY_FILE。
适用场景:需要将密钥纳入版本控制、多环境分级访问、CI/CD 自动解密、仅加密部分敏感字段。
限制与注意:私钥不得提交,应加入 .gitignore;生产文件应限制接收者;建议定期轮换数据密钥;path_regex 使用正则而非 glob;解密失败常因密钥路径或密钥不匹配。官方文档见 https://getsops.io/docs/ 与 https://github.com/getsops/sops。