コンテンツにスキップ

HashiCorp Vault

認証

ログイン

vault login [認証トークン]

ログイン中のtoken情の報等

vault token lookup

トークンを省略すれば対話的に聞いてくる

OIDCでCLIログイン

vault login -method=oidc [-path=***] roke=****

初期処理

init

vault operator init

Unseal KeyとRoot Tokenが出力されるのでメモしておく

unseal

vault operator unseal

Unseal keyの入力を求められるのでinit実行時に出力されたキーを入力する。
Sealed trueSealed falseになるまで繰り返す。

secret engine

secret一覧

vault secrets list

secret engineの有効化

データ保持用の入れ物を作るイメージ。
KVシークレットエンジンであれば以下の通り。

vault secrets enable -path=my-secret kv

これでmy-secretというパスにKVシークレットエンジンが作成される。

KV secret engine

キー一覧

vault kv list <secret-engine-name>

データ保存

データはkey-value形式。ややこしいけど。

vault kv put -mount=<secret-engine-name> <key-name> key1=value1 key2=value2 ...

これも一緒

vault kv put <secret-engine-name>/<key-name> key1=value1 key2=value2 ...

繰り返し実行すればversion更新される。

データ参照

vault kv get -mount=<secret-engine-name> <key-name>

これも一緒

vault kv get <secret-engine-name>/<key-name>

RESTであれば

curl -H "X-Vault-Token: ${token}" http://server:port/v1/<secret-engine-name>/data/<key-name>

curl -H "X-Vault-Token: ${token}" http://192.168.0.75:8200/v1/kv/data/zzz?version=1とか。
KV - Secrets Engines - HTTP API | Vault | HashiCorp Developer

auth

token確認

vault token lookup

role

リスト

vault list auth/path/role

内容確認(policyなど)

vault read auth/path/role/key

削除

vault delete auth/path/role/key

hvac

Hashicorp Vault用Pythonライブラリ

コンストラクタ

証明書検証オフはverify=Falseを加えればOK

import urllib3
import os
import hvac

urllib3.disable_warnings()

client = hvac.Client(
    url='https://vault.example.org',
    token=os.environ['VAULT_TOKEN'],
    verify=False
)