概述 #
Helm Secrets 是 Helm 的一个插件,能够利用 Helm 模板化 Secrets 资源。它使用 SOPS(Mozilla 研发)来加密 Secret。SOPS 是一个加密文件的编辑器,采用的是非对称加密,支持 YAML、JSON、ENV、INI 和二进制格式,并支持 AWS KMS、GCP KMS、Azure Key Vault 和 PGP 进行加密。
Helm Secrets 还支持其他后端,例如:vals,它是一种用于管理来自各种来源的配置值和秘密的工具。目前已经支持:
- Vault
- AWS SSM Parameter Store
- AWS Secrets Manager
- AWS S3
- GCP Secrets Manager
- Azure Key Vault
- SOPS-encrypted files
- Terraform State
- Plain File
下文以 PGP 方式为例,进行说明。
安装 #
gpg:
brew install gpg
sops:
brew install sops
helm-secrets:
helm plugin install https://github.com/jkroepke/helm-secrets --version v3.12.0
原理 #
加密 #
- 加密敏感信息文件 secret.yaml
- 调用 helm secrets enc命令
- 读取 gpg 公钥
- 加密结果覆盖源文件
解密 #
- 解密文件 secret.yaml
- 调用 helm secrets dec命令
- 读取 gpg 私钥
- 解密结果写入新文件 secret.yaml.dec