「さくらのクラウド シークレットマネージャ」からシークレット情報を取得するツールを作ってみた
さくらインターネット Advent Calendar 2025 シリーズ 2 4日目の記事です。
さくらのクラウド シークレットマネージャ からシークレット情報を取得するツールを作ってみました。
使い方
シークレットマネージャ のドキュメントより「シークレット保管庫」を作成済みかつ、 APIキー のドキュメントより「さくらのクラウド シークレットマネージャ」を利用するための API キーを作成済みであることを前提に使い方を説明していきます。
環境変数の設定
# 作成した API キーのクレデンシャルを設定する
$ export SAKURACLOUD_ACCESS_TOKEN="your-access-token"
$ export SAKURACLOUD_ACCESS_TOKEN_SECRET="your-access-token-secret"
設定ファイルの作成
対象の「シークレット保管庫」に登録されているシークレット情報を指定して dest には書き出すパスとファイル名を設定します。 ( id には作成した「シークレット保管庫」のリソース ID を設定します。 )
$ cat << EOF > secrets-config.yaml
vault:
id: "123456789012" # Your vault resource ID
secrets:
- name: production-db-password
dest: db_password
EOF
シークレット情報の取得
設定に従い「シークレット保管庫」からシークレット情報を取得しファイルに書き出します。
$ sakura-secrets-pull -config secrets-config.yaml
なんで作ったのか
「さくらのクラウド シークレットマネージャ」には SSH 秘密鍵やシークレット情報などを含んだ設定ファイルなどが登録されるはずで、シークレット情報をファイルとして取得して利用するケースがあるだろうと考え、これを実現するためのツールが存在しなかったため作りました。