「さくらのクラウド シークレットマネージャ」に登録されているシークレット情報との差分の有無を確認するツールを作ってみた
さくらインターネット Advent Calendar 2025 シリーズ 3 5日目の記事です。
さくらのクラウド シークレットマネージャ に登録されているシークレット情報との差分の有無を確認するツールを作ってみました。
使い方
シークレットマネージャ のドキュメントより「シークレット保管庫」を作成済みかつ、 APIキー のドキュメントより「さくらのクラウド シークレットマネージャ」を利用するための API キーを作成済みであることを前提に使い方を説明していきます。
環境変数の設定
# 作成した API キーのクレデンシャルを設定する
$ export SAKURACLOUD_ACCESS_TOKEN="your-access-token"
$ export SAKURACLOUD_ACCESS_TOKEN_SECRET="your-access-token-secret"
# 作成したシークレット保管庫のリソース ID を設定する
$ export SAKURACLOUD_SECRETS_ID="your-vault-resource-id"
差分あり
$ printf '%s' "$(cat example.yaml)" | sakura-secrets-diff -name api-token
api-token : With Differences
$
差分なし
$ printf '%s' "$(cat example.yaml)" | sakura-secrets-diff -name secret.yaml
secret.yaml : No Differences
なんで作ったのか
シークレット情報を暗号化してリポジトリで管理し zinrai/sakura-secrets と GitHub Actions を組み合わせて「さくらのクラウド シークレットマネージャ」にシークレット情報を登録する構成を考えたときに、シークレット情報を更新するときのオペレーションにて編集したシークレット情報以外に変更がないことを確認できると安心してシークレット情報の更新ができるのではないかと考え作りました。