zaki work log

作業ログやら生活ログやらなんやら

[HashiCorp Vault] シークレットエンジンの有効/無効化のREST操作

以前作成した以下のエントリ、「作成済みのKVシークレットエンジンへのキーの読み書き」はCLIとRESTの操作をメモしていたのに、その前段の「KVシークレットエンジンの有効化・無効化」が抜けてたのでメモ。というかやろうとしたらドキュメント(エンドポイント)がどこかわからずだいぶ時間を溶かしてしまったので備忘録。
まぁ、わかってしまえば何てことないんだけどね。。

zaki-hmkc.hatenablog.com

エンドポイント

/sys/mount/:pathを使う。

developer.hashicorp.com

KVシークレットエンジンの有効化(作成)

before

/ $ vault secrets list
Path            Type         Accessor              Description
----            ----         --------              -----------
cubbyhole/      cubbyhole    cubbyhole_b5a7105b    per-token private secret storage
foo/            kv           kv_3fe575f1           n/a
hvac_sample/    kv           kv_5bfa470a           n/a
identity/       identity     identity_79aa0f1c     identity store
secret/         kv           kv_ed2bec7b           n/a
sys/            system       system_82fb3e3b       system endpoints used for control, policy and debugging

rest-sampleというパスのKVシークレットエンジンをRESTで有効化する。
シークレットエンジンの種別やバージョン(今回はkvのバージョン2)はパラメタに指定する。

curl -s -H "X-Vault-Token: $VAULT_TOKEN" \
  -X POST \
  -d '{ "type": "kv", "options": { "version": "2" } }' \
  http://192.168.0.75:8200/v1/sys/mounts/rest-sample

after

/ $ vault secrets list
Path            Type         Accessor              Description
----            ----         --------              -----------
cubbyhole/      cubbyhole    cubbyhole_b5a7105b    per-token private secret storage
foo/            kv           kv_3fe575f1           n/a
hvac_sample/    kv           kv_5bfa470a           n/a
identity/       identity     identity_79aa0f1c     identity store
rest-sample/    kv           kv_32088881           n/a
secret/         kv           kv_ed2bec7b           n/a
sys/            system       system_82fb3e3b       system endpoints used for control, policy and debugging

KVシークレットエンジンrest-sampleが作成された。
その他のパラメタはAPIリファレンスを参照。

KVシークレットエンジンの無効化(削除)

有効化で作成したrest-sampleを無効化する。

curl -s -H "X-Vault-Token: $VAULT_TOKEN" \
  -X DELETE \
  http://192.168.0.75:8200/v1/sys/mounts/rest-sample

実行後は以下の通り削除された。

/ $ vault secrets list
Path            Type         Accessor              Description
----            ----         --------              -----------
cubbyhole/      cubbyhole    cubbyhole_b5a7105b    per-token private secret storage
foo/            kv           kv_3fe575f1           n/a
hvac_sample/    kv           kv_5bfa470a           n/a
identity/       identity     identity_79aa0f1c     identity store
secret/         kv           kv_ed2bec7b           n/a
sys/            system       system_82fb3e3b       system endpoints used for control, policy and debugging
/ $ 

まとめ

確認した環境はVault 1.18.1
シークレットエンジン自体の有効/無効化や、設定については/sys/mountsのリファレンスを見ればOK

developer.hashicorp.com