概要
helm secrets は sops を使って YAML ファイルを暗号/復号化する方法です Key には gpg or aws/arn, gcp/kms などが使えます 今回は gpg キーを使っています なおなぜか dec がうまく動作しなかったのでそれも紹介します
環境
- Ubuntu 18.04
- helm 3.5.2
helm-secrets のインストール
helm のプラグインとしてインストールします バージョンを指定するのがオススメの方法のようです
- helm plugin install https://github.com/jkroepke/helm-secrets --version v3.7.0
SOPS のインストール
pip があるなら pip が一番簡単だと思います
- pip install --upgrade sops
gpg キーの登録
何でも OK です 今回は SOPS のサンプルから取得して登録します
- git clone https://github.com/mozilla/sops.git
- cd sops
- gpg --import pgp/sops_functional_tests_key.asc
gpg キーのハッシュ値の確認
ハッシュ値はあとで使います
- gpg --list-secret-keys
/root/.gnupg/pubring.kbx
------------------------
sec rsa2048 2019-08-29 [SC]
FBC7B9E2A4F9289AC0C1D4843D16CEE4A27381B4
uid [ unknown] SOPS Functional Tests Key 1 (https://github.com/mozilla/sops/) <secops@mozilla.com>
ssb rsa2048 2019-08-29 [E]
sec rsa1024 2019-08-29 [SC]
D7229043384BCC60326C6FB9D8720D957C3D3074
uid [ unknown] SOPS Functional Tests Key 2 (https://github.com/mozilla/sops/) <secops@mozilla.com>
ssb rsa1024 2019-08-29 [E]
.sops.yaml ファイルの作成
暗号/複合時に使用するキーのハッシュ値を登録します AWS の場合は arn を登録します
- vim .sops.yaml
---
creation_rules:
- pgp: >-
FBC7B9E2A4F9289AC0C1D4843D16CEE4A27381B4,
D7229043384BCC60326C6FB9D8720D957C3D3074
動作確認
- vim test.yaml
name: hawksnowlog
暗号化します
- helm secrets enc test.yaml
これで再度 test.yaml を確認すると値の部分が暗号化されているのが確認できると思います
復号化するには dec を使います
- helm secrets dec test.yaml
本来ならこれで test.yaml.dec というファイルが新規で作成されるのですがなぜか自分は作成されずまた test.yaml に復号化されたデータが上書きされることもありませんでした 原因は不明です
しかし復号化した中身自体は view で確認できました
- helm secrets view test.yml
もしかするとバグかもしれません
0 件のコメント:
コメントを投稿