2021年6月15日火曜日

helm secrets を使ってみたけどうまく dec ができなかった話

helm secrets を使ってみたけどうまく dec ができなかった話

概要

helm secrets は sops を使って YAML ファイルを暗号/復号化する方法です Key には gpg or aws/arn, gcp/kms などが使えます 今回は gpg キーを使っています なおなぜか dec がうまく動作しなかったのでそれも紹介します

環境

  • Ubuntu 18.04
  • helm 3.5.2

helm-secrets のインストール

helm のプラグインとしてインストールします バージョンを指定するのがオススメの方法のようです

SOPS のインストール

pip があるなら pip が一番簡単だと思います

  • pip install --upgrade sops

gpg キーの登録

何でも OK です 今回は SOPS のサンプルから取得して登録します

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 件のコメント:

コメントを投稿