userpass は Vault に内蔵されたシンプルな人間向け認証方式で、ラボや小規模利用に最適です。
本稿では、最小手順のセットアップ、認証フロー、ポリシー付与、運用の基本、他方式との比較、試験の落とし穴をまとめます。
userpass は、Vault に対してユーザー名とパスワードでログインし、トークンを発行する認証方式です。外部 IdP を必要としないため、単体の Vault を素早く検証したいときに向いています。
一方で、企業規模の運用では SSO 連携 (OIDC など) やマシン認証 (AppRole, Kubernetes など) が推奨です。userpass は学習・小規模・一時的運用に限定すると割り切るのが現実的です。
Vault が初期化・アンシール済みで、管理者トークンを持っている前提です。CLI は VAULT_ADDR と VAULT_TOKEN を適切に設定してください。
userpass を有効化し、ユーザーを作成してポリシーを割り当てれば、すぐにログインできます。
有効化とユーザー作成(CLI と HTTP API)
## 有効化(CLI)
$ vault auth enable userpass
## ユーザー作成(CLI)
$ vault write auth/userpass/users/alice \
password="s3cr3t!" \
policies="default,dev"
## ログイン(CLI)
$ vault login -method=userpass username=alice password="s3cr3t!"
## 有効化(HTTP API)
$ curl -sS \
--header "X-Vault-Token: $VAULT_TOKEN" \
--request POST \
$VAULT_ADDR/v1/sys/auth/userpass \
--data '{"type":"userpass"}'
## ユーザー作成(HTTP API)
$ curl -sS \
--header "X-Vault-Token: $VAULT_TOKEN" \
--request POST \
$VAULT_ADDR/v1/auth/userpass/users/alice \
--data '{"password":"s3cr3t!","policies":"default,dev"}'userpass のログインは /v1/auth/userpass/login/:username にパスワードを送信し、応答の auth.client_token をクライアントが保存して以降のリクエストに使用します。トークンの有効期限 (ttl) は Vault 側の設定に従います。
auth method ごとに発行トークンのデフォルト TTL と最大 TTL をチューニングできます。CLI の vault auth tune で -token_ttl および -token_max_ttl を指定します。
userpass 認証フロー(概念図)
トークンの確認と TTL チューニング
## トークンの属性を確認
$ vault token lookup
## userpass が発行するトークンの TTL を調整(例: デフォルト1h、最大4h)
$ vault auth tune -token_ttl=1h -token_max_ttl=4h userpass/
## トークンの延長(renewable な場合)
$ vault token renewuserpass ユーザーには ACL ポリシーでアクセス境界を与えます。個人学習やチーム検証では、読み取り専用のスコープを明確にし、書き込みは限定的にします。
ポリシーの更新は次回発行されるトークンから反映されます。既存トークンに即時反映させたい場合は、対象トークンを revoke して再ログインさせます。
サンプルポリシーとユーザーへの適用
# dev.hcl(例:KV v2 の読み取りと限定的な書き込み)
path "secret/data/dev/*" {
capabilities = ["create", "update", "read", "list"]
}
path "secret/metadata/dev/*" {
capabilities = ["list", "read"]
}
# ポリシー登録
$ vault policy write dev dev.hcl
# ポリシーを付与してユーザー作成/更新
$ vault write auth/userpass/users/alice \
password="rotate-2026-04" \
policies="default,dev"小規模でも運用の要点は同じです。不要なアカウントやトークンを残さない、パスワードを定期的にローテーションする、監査ログを確認する、という基本を守ります。
auth method を無効化すると、そのメソッドが発行したトークンはすべて無効になります。計画的に実施してください。
よく使う運用コマンド
## パスワード変更
$ vault write auth/userpass/users/alice password="new-P@ss-2026"
## ユーザー一覧
$ vault list auth/userpass/users
## ユーザー削除
$ vault delete auth/userpass/users/alice
## トークンの失効(強制ログアウト)
$ vault token revoke <token>
## auth method の無効化(影響大:要計画)
$ vault auth disable userpass/学習や小規模用途では userpass の手軽さが強みです。対して、組織内運用では OIDC による SSO、マシンワークロードでは AppRole や Kubernetes Auth が現実解になります。
試験対策では、各方式の主目的と人間/マシン適性、導入コストの違いを言語化できることが重要です。
| 方法 | 主要ユースケース | 規模適性 | 人間/マシン |
|---|---|---|---|
| userpass | ラボ/PoCの人間ログイン | 小規模 | 人間 |
| GitHub | GitHub 組織の開発者認証 | 小〜中 | 人間 |
| OIDC | 企業 SSO と統合 | 中〜大 | 人間 |
| AppRole | CI/CD・バッチ等のマシン認証 | 小〜大 | マシン |
Associate レベルでは、userpass の有効化、ユーザー作成、ログインフロー、ポリシー付与、トークン TTL 調整といった基本操作が問われやすいです。CLI と HTTP API の両方のパスを把握しておくと有利です。
TTL/Lease の混同に注意。auth が発行するのはトークンで、tune の対象は token_ttl/token_max_ttl。一方でシークレットエンジンはデフォルト/最大リース TTL を調整します。
覚えておくと得点しやすいスニペット
# 有効化と TTL 調整(まとめ)
$ vault auth enable userpass
$ vault auth tune -token_ttl=1h -token_max_ttl=4h userpass/
# 作成・ログイン・確認
$ vault write auth/userpass/users/alice password="p" policies="dev"
$ vault login -method=userpass username=alice password="p"
$ vault token lookupAssociate
問題 1
ラボ環境で 3 名の開発者が Vault にログインし、最小のセットアップと運用コストでテストしたい。最も適切なアプローチはどれか。
正解: A
学習・小規模用途では userpass が最短で安全に始められる。AppRole はマシン向け、OIDC は初期コストが高い、root トークン配布は不適切。
パスワードの複雑度や有効期限を Vault 側で強制できますか?
userpass 自体はパスワードポリシーの強制機能を提供しません。組織のルールに従い、手動運用や外部仕組みで管理してください。必要に応じて OIDC など IdP 連携を検討します。
ユーザーのポリシーを変更したのに権限が反映されません。
既に発行済みのトークンには変更が反映されません。新しい権限を適用するには、対象トークンを revoke して再ログインさせるか、トークンの期限切れを待って再発行させてください。
userpass で発行されるトークンの TTL はどこで調整しますか?
auth method 単位で調整します。vault auth tune -token_ttl と -token_max_ttl を userpass/ に対して設定してください。
NicheeLab編集部
データエンジニアリング・クラウド資格の専門家。Databricks・Snowflake等の認定資格を保有し、実務経験に基づいた問題作成・解説を行っています。NicheeLab運営。
Vault のコア概念を最短距離で理解する:Secret / Auth / Policy / Token
HashiCorp Vault Associate レベルで押さえるべきコア概念(Secret Engine、Auth ...
Vault Operations Professional: 上位資格としての範囲を実務目線で押さえる
HashiCorp Vault Operations Professional(Ops Pro)の出題範囲を、Assoc...
Vaultにおけるパスベースのルーティング: マウントとAPI構造を読み解く
HashiCorp Vaultのパスベースのルーティングを、マウント設計とAPIパスの観点から整理。Associateレ...
Vault Tokens の基礎: 認証の起点となる概念
HashiCorp Vault におけるトークンの役割、種類、ライフサイクル、ポリシー連携、設計パターンをAssocia...
Vault のトークン種類を正しく使い分ける: service / batch 実践
HashiCorp Vault Associate 向けの試験対策と実務運用を両立させた、service トークンと b...