Vault

Vault Token Accessorの実務と試験対策: 監査とトークン無効化を最短で行う

2026-04-19
NicheeLab編集部

Token Accessorは、トークン本体を晒さずに参照・更新(更新可能な場合)・失効を行うための識別子で、監査とインシデント対応の要です。

本稿では、監査ログとの紐付け、revocation手順、必要なポリシー権限、運用上の落とし穴を実例ベースでまとめます。

Token Accessorの基礎: 何ができて何ができないか

Vaultは各トークンに対してアクセサ(Accessor)という短い識別子を生成します。アクセサは認証には使えませんが、管理API経由で対象トークンの照会、(更新可能なら)延長、失効に用いることができます。これにより、トークン値を直接扱わずに運用が可能になります。

監査の観点では、リクエスト/レスポンスの監査エントリにアクセサが含まれるため、SOCが疑わしいリクエストを特定したら、そのアクセサをキーに即時の失効が可能です。アクセサはトークンのライフサイクルに紐付き、一意で、トークンが失効すると無効になります。

  • できること: lookup-accessor、renew-accessor(更新可のみ)、revoke-accessor。
  • できないこと: アクセサでの認証、シークレット参照、トークン値の復元。
  • 監査ログに現れるため、調査と無効化のハブとして機能する。

監査ログでのアクセサ活用: 収集から無効化までの流れ

Vaultの監査デバイスは、認証後のリクエストに関する情報をJSONで記録します。ここにアクセサが含まれるため、トークン文字列を扱わずに事後追跡が可能です。監査デバイスは機密フィールドをHMAC化しますが、環境設定によりアクセサもHMAC表記になる場合があります(例: hmac-sha256:...)。

運用では、SIEMで疑わしいリクエストを検知→アクセサ抽出→管理トークンでlookup→必要ならrevoke-accessorで無効化、という流れを標準化すると対応が速くなります。

  • 監査エントリ(type=request/response)のauth.accessorで特定。
  • client_tokenはHMAC化されるが、accessorで同定と失効が可能。
  • 複数の監査デバイスを同時に有効化してもアクセサは一貫して同一トークンを指す。

監査から失効までのシグナルフロー

ClientVaultauth.accessor loggedAuditIngest/RulesAlertPlaybook (revoke)revoke-accessor via admin token監査から失効までのシグナルフロー

監査ログからアクセサ抽出の例(JSON Lines)

tail -f /var/log/vault_audit.log | jq -r 'select(.type=="request") | .auth.accessor' | grep -v null

トークンの無効化・参照・延長をアクセサで行う

アクセサはインシデント対応の中核です。まずlookup-accessorで対象を確定し、不要または不審であればrevoke-accessorで即時無効化します。更新可能なトークンであればrenew-accessorでTTLを延長できます。

いずれのエンドポイントもHTTPメソッドはPOST(書き込み)で、適切なポリシー権限(update、場合によりsudo)が必要です。見つからないアクセサに対しては404相当のエラーが返ります。

  • Lookup: /v1/auth/token/lookup-accessor
  • Renew: /v1/auth/token/renew-accessor
  • Revoke: /v1/auth/token/revoke-accessor

cURLによるアクセサ運用の最小セット

# 管理トークンを使う
export VAULT_ADDR=https://vault.example.com
export VAULT_TOKEN=s.xxxxx

# 1) Lookup: アクセサからメタデータを確認
curl -s \
  --header "X-Vault-Token: $VAULT_TOKEN" \
  --request POST \
  --data '{"accessor":"h1234567-..."}' \
  $VAULT_ADDR/v1/auth/token/lookup-accessor | jq

# 2) Renew: 更新可能な場合にTTL延長(3600秒)
curl -s \
  --header "X-Vault-Token: $VAULT_TOKEN" \
  --request POST \
  --data '{"accessor":"h1234567-...", "increment": "3600"}' \
  $VAULT_ADDR/v1/auth/token/renew-accessor | jq

# 3) Revoke: 即時無効化(子トークンも失効)
curl -s \
  --header "X-Vault-Token: $VAULT_TOKEN" \
  --request POST \
  --data '{"accessor":"h1234567-..."}' \
  $VAULT_ADDR/v1/auth/token/revoke-accessor

必要な権限とポリシー設計の勘所

アクセサ系エンドポイントはいずれも書き込み(update)権限が必要で、トークン管理に相当するため、一般ユーザーではなく運用(デューティ)トークンや自動化ロールに限定します。特にrevoke-accessorは影響範囲が広いため、意図しない無効化を防ぐために細かいガードレールが必須です。

EnterpriseのNamespacesを使う場合、アクセサはそのNamespaceのコンテキスト内で有効です。誤Namespaceでの操作は失敗するため、運用スクリプトでは必ずNamespaceヘッダ/環境変数を明示します。

  • 最小権限: lookup/renewは特定範囲のトークンに限定、revokeは運用チームのみに付与。
  • ポリシーはauth/token/* の対象パスにupdate(必要に応じてsudo)を付与。
  • 自動化では実行前にlookupで二重確認→条件一致のみrevoke。

ポリシー例(HCL): アクセサ操作専用ロール

path "auth/token/lookup-accessor" {
  capabilities = ["update", "sudo"]
}
path "auth/token/renew-accessor" {
  capabilities = ["update", "sudo"]
}
path "auth/token/revoke-accessor" {
  capabilities = ["update", "sudo"]
}
# 追加の安全策: 対象を運用で許可するprefix等に制限する場合は、
# Sentinel/OPA等のポリシー統制と組み合わせる。

運用パターンと落とし穴: 失敗しないための注意点

アクセサは便利ですが万能ではありません。更新不能なトークンではrenew-accessorは失敗します。また、既に失効済みのアクセサはlookupもrevokeも対象が存在せずエラーとなります。監査ログのタイムラグや並行失効で“見えない”ことは珍しくありません。

親子関係に注意。親トークンのrevokeは子トークンも連鎖的に失効します。影響範囲の確認のため、事前のlookupでpolicies、display_name、creation_path、ttlなどを確認し、必要に応じて段階的な失効戦略(対象のスコープ絞り込み)を取りましょう。

  • renew-accessorは更新可能トークンのみ。非更新・期限固定はエラー。
  • アクセサが不明(404等)でも、監査時系列の整合性は保つ。SIEM側で再集計。
  • revoke-accessorは子トークンも失効。影響範囲の確認を徹底。
  • 自動化は冪等に: lookupで存在確認→条件合致→revokeの順。
  • 監査デバイスのHMAC設定によりアクセサ表示がハッシュ化される場合がある。

Associate試験向けチェックポイントと比較表

試験では、アクセサの用途(照会・更新・失効)と“認証には使えない”点、監査ログでの役割、revoke-accessorの効果(子トークン含む)が頻出です。エンドポイント名と必要権限(update/場合によりsudo)を正確に記憶しておきましょう。

混同しやすい概念との差分を下表にまとめます。現場では“監査はアクセサ、認証はトークン値”という原則で整理すると誤操作を防げます。

  • Accessorは運用・監査のキー、Token値は認証のキー。
  • lookup/renew/revokeはいずれもPOSTでupdate権限。
  • revoke-accessorは即時かつ子トークンも巻き取る。
項目Token AccessorToken値(クライアントトークン)Entity ID (Identity)
認証に使用可能か不可不可(認証結果の統合識別子)
監査ログへの出力あり(auth.accessor)HMAC化が一般的場合によりauth.entity_id等
無効化に利用可否可(revoke-accessor)可(revoke等だがトークン値が必要)直接不可(ロール/ポリシー変更で間接対応)
参照で得られる情報ポリシー、TTL、作成経路など(トークン値は得られない)N/A(値そのもの)マッピング情報(グループ/別名)
露出リスク低(ただし管理権限があれば操作可能)高(即不正利用の恐れ)
代表APIlookup/renew/revoke-accessorlookup-self/renew-self/revokeidentity関連API

問題で確認

Associate

問題 1

SOCが監査ログで不審なリクエストを検知し、auth.accessorの値を特定しました。最も迅速かつ安全にそのトークンを無効化する適切なAPIはどれですか?

  1. auth/token/revoke-accessor
  2. auth/token/lookup-accessor
  3. auth/token/renew-accessor
  4. sys/leases/revoke

正解: A

auth/token/revoke-accessorはアクセサを用いて該当トークン(および子トークン)を即時失効させます。lookup-accessorは照会のみ、renew-accessorはTTL延長、sys/leases/revokeはシークレットのリース向けでトークン失効ではありません。

よくある質問

アクセサが漏えいした場合、どの程度のリスクがありますか?

アクセサ自体では認証できずシークレットも取得できませんが、適切な権限を持つ運用トークンがあればlookupやrevokeの対象にされ得ます。公開情報として扱うべきではありませんが、トークン値の漏えいほどの重大性はありません。

アクセサを新しい値にローテートできますか?

できません。アクセサはトークン作成時に付与され、トークンのライフサイクルに固定されます。必要であれば新規トークンを発行し、旧トークンはrevoke-accessorで無効化してください。

renew-accessorが失敗します。何が考えられますか?

対象トークンが更新不可(固定TTL)である、すでに失効している、Namespaceが誤っている、またはポリシーでupdate/sudo権限が不足している可能性があります。まずlookup-accessorでttl、renewable、作成経路などを確認してください。

この記事で学んだ内容を問題で確認しましょう

16,000問以上の問題で実力チェック

無料で問題を解いてみる
この記事の著者

NicheeLab編集部

データエンジニアリング・クラウド資格の専門家。Databricks・Snowflake等の認定資格を保有し、実務経験に基づいた問題作成・解説を行っています。NicheeLab運営。


関連記事
Vault

Vault のコア概念を最短距離で理解する:Secret / Auth / Policy / Token

HashiCorp Vault Associate レベルで押さえるべきコア概念(Secret Engine、Auth ...

Vault

Vault Operations Professional: 上位資格としての範囲を実務目線で押さえる

HashiCorp Vault Operations Professional(Ops Pro)の出題範囲を、Assoc...

Vault

Vaultにおけるパスベースのルーティング: マウントとAPI構造を読み解く

HashiCorp Vaultのパスベースのルーティングを、マウント設計とAPIパスの観点から整理。Associateレ...

Vault

Vault Tokens の基礎: 認証の起点となる概念

HashiCorp Vault におけるトークンの役割、種類、ライフサイクル、ポリシー連携、設計パターンをAssocia...

Vault

Vault のトークン種類を正しく使い分ける: service / batch 実践

HashiCorp Vault Associate 向けの試験対策と実務運用を両立させた、service トークンと b...

Vaultの記事一覧 (100件)
© 2026 NicheeLab All rights reserved.