SOPS:密钥管理工具,22k Star
文章目录SOPS密钥管理工具22k StarSOPS密钥管理工具22k StarSOPS斩获了 22k 的 StarSOPS 全称 Secrets OPerationS是一款开源的加密文件编辑器。它能处理 YAML、JSON、ENV、INI 和 BINARY 这些常见格式加密方式支持 AWS KMS、GCP KMS、Azure Key Vault、HuaweiCloud KMS、age 以及 PGP。这个项目 2015 年在 Mozilla 启动2023 年捐赠给了 CNCF现在是 Cloud Native Computing Foundation 的 Sandbox 项目。用 SOPS 编辑加密文件操作很直接。打开文件修改内容保存整个过程对用户透明。它不会把整个文件都加密而是只加密敏感字段这样你还能看到文件结构方便对比和审查。SOPS 的加密机制有个特点它用的是信封加密。数据本身用对称密钥加密对称密钥再用 KMS 或 PGP 公钥加密。这样做的好处是你可以灵活控制谁有权解密换密钥也方便。支持的加密后端覆盖面广。如果你用 AWS可以直接用 KMS用 GCP 或 Azure 也一样。不想绑云服务的话age 和 PGP 都是本地方案。HuaweiCloud KMS 的支持也让国内用户有了更多选择。安装方式很简单Go 用户直接go install其他平台有预编译的二进制文件。配置好密钥后一条命令就能加密或解密sops --encrypt secrets.yaml secrets.enc.yaml sops secrets.enc.yaml第二条命令会打开编辑器改完保存SOPS 自动加密回去。SOPS 还有个实用功能密钥轮换。你可以随时更换加密密钥不用手动解密再加密SOPS 处理好了整个流程。对于团队协作场景SOPS 配合 Git 使用很方便。加密后的文件可以直接提交到仓库不用担心密钥泄露。只有拥有对应密钥的人才能解密查看。SOPS 的输出格式保持和输入一致。输入是 YAML输出也是 YAML输入是 JSON输出也是 JSON。这样在 CI/CD 流程里集成起来很顺畅不需要额外的格式转换。配置文件.sops.yaml可以定义加密规则。你可以指定哪些文件需要加密哪些字段是敏感的。这样团队成员用同一份配置加密行为就统一了。SOPS 还支持多密钥加密。一个文件可以用多个 KMS 密钥加密这样不同团队或不同环境的密钥都能解密同一个文件。文档在 getsops.io 上写得比较全从入门到高级用法都有覆盖。遇到安全问题可以通过 GitHub 的 advisory form 私下报告。许可证是 Mozilla Public License 2.0对商业使用友好。许可证是 Mozilla Public License 2.0对商业使用友好。