Vault の /secret パスは version2 なんだなぁ

Vault の Getting Started をやっている。

Vault Curriculum - HashiCorp Learn

/secret のパスに例えば

vault write secret/hoge foo=piyo

とやると下記エラーが表示される。

Error writing data to secret/hoge: Error making API request.

URL: PUT http://127.0.0.1:8200/v1/secret/hoge
Code: 404. Errors:


WARNING! The following warnings were returned from Vault:

  * Invalid path for a versioned K/V secrets engine. See the API docs for the
  appropriate API endpoints to use. If using the Vault CLI, use 'vault kv put'
  for this operation.

「そんなパスないから、vault kv put 使えよ」 と言っている。

put を使ってやってみる。

vault kv put secret/hoge foo=piyo
Key              Value
---              -----
created_time     2019-03-19T15:10:19.246453Z
deletion_time    n/a
destroyed        false
version          1

正常にできる。

どうも、デフォルトである /secret のパスは v2 の Secrets Engine になっているみたい。 stackoverflow.com

www.vaultproject.io

vault secrets enable -path=kv kv

とかで、自分で追加した Secrets Engine は v1 になっているみたい。

vault secrets enable -version=2 -path=kv2 kv

とかすると v2 になる。

コマンドから version を確認する手段がわからなくて、下記URLから確認したら version が確認できた。 http://localhost:8200/ui/vault/secrets

f:id:k6i:20190320002750p:plain