HashiCorp Vault
認証
ログイン
vault login [認証トークン]
ログイン中のtoken情の報等
vault token lookup
トークンを省略すれば対話的に聞いてくる
OIDCでCLIログイン
vault login -method=oidc [-path=***] role=****
初期処理
init
vault operator init
Unseal KeyとRoot Tokenが出力されるのでメモしておく
unseal
vault operator unseal
Unseal keyの入力を求められるのでinit実行時に出力されたキーを入力する。
Sealed trueがSealed 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
一覧
vault auth list
token確認
vault token lookup
role
リスト
pathはvault auth listの出力で確認できる。
vault list auth/path/role
内容確認(policyなど)
vault read auth/path/role/key
削除
vault delete auth/path/role/key
identity/entity
Implement identity entities and groups | Vault | HashiCorp Developer
ID一覧
vault list identity/entity/id
vault list identity/entity-alias/id
policy
一覧
vault policy list
作成/更新
vault policy write my-policy-name <<__EOL__
path ... {
...
}
__EOL__
参照
vault policy read my-policy-name
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
)
OIDC
JWT/OIDC — hvac 2.3.0 documentation