Vault Associate / Operations の試験範囲は、ポリシー、認証方式、シークレットエンジン、トークン/リース、監査などの基礎を広く問います。ローカル開発モードだけでなく、HCP Vault(マネージド)を使ってクラウド環境で手を動かすと、ネットワーク公開や最小権限設計まで含めて理解が深まります。
ここでは、HCP Vault の無料トライアル/無料枠を前提に、できるだけ安全に始める方法、CLI での初期設定、最小構成の演習(KV と AppRole)までを、試験で狙われやすいポイントと紐づけて解説します。機能や料金・プラン名称は時期により変わることがあるため、最終的には HCP コンソールおよび公式ドキュメントで確認してください。
HCP Vault は HashiCorp Cloud Platform 上のマネージド Vault クラスタです。無料トライアルや開発(非本番)向けのプランでは、単一ノード・機能制限・期間/クレジット制限などが設けられる場合があります。最新の提供条件は HCP コンソールと公式ドキュメント(developer.hashicorp.com/vault)で必ず確認してください。
学習目的でも、公開設定とトークン運用には注意が必要です。最小権限のポリシーを作り、パブリックエンドポイントを使う場合は IP 許可リストで自分の端末のグローバル IP のみに絞るのが安全です。初期の強権トークンはブートストラップと検証後に速やかに無効化・保管ルール徹底が基本です。
| 項目 | ローカル開発モード(vault server -dev) | HCP Vault(開発/無料枠想定) | HCP Vault(標準プラン想定) |
|---|---|---|---|
| 用途 | 個人PCでの即席検証 | 学習/非本番のマネージド環境 | 非本番〜本番のマネージド環境 |
| 可用性 | 単一プロセス、SLAなし | 単一ノード(変更の可能性あり) | HA/スケール(プラン依存) |
| アンシール | 自動(開発モードの擬似動作) | 自動アンシール(HCP管理) | 自動アンシール(HCP管理) |
| ネットワーク | ローカルのみ | パブリックEP+IP許可、HVN/Private Linkも可(構成依存) | HVN/Private Link 前提(推奨) |
| 運用負荷 | 自己管理(短期検証向け) | HCPが基盤運用を管理 | HCPが基盤運用を管理 |
| 試験の適合 | CLI/概念の理解に最適 | ネットワーク制御/実運用に近い演習が可能 | 運用/SLA観点まで含む実務寄り |
HCP コンソールでプロジェクトを作成し、Vault クラスタを新規作成します。学習ではリージョンは近い場所を選び、公開を急ぐ場合はパブリックエンドポイントを有効化したうえで、IP 許可リストを自分のグローバル IP のみに限定します。HVN(HashiCorp Virtual Network)は自動作成でも手動でも構いません。
Terraform で再現性を持たせる場合は HCP プロバイダを使います。provider と resource の属性はバージョンにより変わる可能性があるため、実行前に developer.hashicorp.com の最新リファレンスを参照してください。
参考: Terraform(HCP プロバイダ)で開発用クラスタを作る最小例
terraform {
required_providers {
hcp = {
source = "hashicorp/hcp"
version = ">= 0.88.0"
}
}
}
provider "hcp" {}
# 学習用の HVN(必要に応じて)
resource "hcp_hvn" "lab" {
hvn_id = "hvn-lab"
cloud_provider = "aws"
region = "us-west-2"
cidr_block = "172.25.16.0/20"
}
# 開発/無料枠相当のクラスタ(属性名はプロバイダ版数で変わる可能性あり)
resource "hcp_vault_cluster" "lab" {
cluster_id = "vault-lab-01"
hvn_id = hcp_hvn.lab.hvn_id
tier = "dev" # 学習用ティア例。実際はコンソールの名称に合わせる
public_endpoint = true # 学習の簡便さ重視
# IP 許可リストはコンソールまたは専用リソースで設定(プロバイダの最新docs参照)
}
output "vault_public_address" {
value = hcp_vault_cluster.lab.public_endpoint_url
}ローカル端末に Vault CLI を導入し、環境変数 VAULT_ADDR と VAULT_TOKEN を設定します。HCP の初期トークンは強権です。ポリシー/ロールのブートストラップにのみ使い、学習用の限定トークンに早めに置き換えます。
接続構成は下記のようになります。学習ではパブリックエンドポイント+IP 許可でシンプルに開始し、慣れてきたら HVN/Private Link へ移行すると運用寄りの観点が身につきます。
学習用の最小接続イメージ
CLI 初回接続と最小ブートストラップ
# macOS 例: CLI インストール
brew tap hashicorp/tap && brew install hashicorp/tap/vault
# HCP 表示のアドレスと初期トークンを設定(初期トークンは一時利用)
export VAULT_ADDR="https://<your-cluster>.<region>.aws.hashicorp.cloud:8200"
export VAULT_TOKEN="hvs.<initial-root-or-admin-token>"
# 接続確認
vault status
# 学習用の読み取り専用ポリシー例(kv v2 の read に限定)
cat > app-read.hcl <<'EOF'
path "secret/data/app/*" {
capabilities = ["read"]
}
EOF
vault policy write app-read app-read.hcl
# 最小権限のトークンを発行(例: 1h 生存、再新可)
vault token create -policy=app-read -ttl=1h -renewable=true試験と実務の両方で頻出なのは、KV v2、Auth Method(userpass/AppRole/OIDC)、ポリシー、トークン/リース、監査です。まずは KV v2 を有効化し、ポリシーでアクセスを絞り、AppRole でアプリ向け認証を作る流れを押さえましょう。
監査デバイスは本番で重要ですが、学習環境でもファイル監査の基本を体験しておくと設計問題に強くなります(HCP では監査先の取り扱いに制約がある場合があるため、ローカル dev でも一度試すと理解が進みます)。
KV v2 と AppRole を有効化して基本を確認
# KV v2(secret/)を有効化
vault secrets enable -path=secret -version=2 kv
# シークレット投入と参照(v2 は data/ を使う)
vault kv put secret/app/config db_user=demo db_pass=s3cr3t
vault kv get secret/app/config
# AppRole を有効化し、ポリシーを付与
vault auth enable approle
cat > app.hcl <<'EOF'
path "secret/data/app/*" {
capabilities = ["read", "list"]
}
EOF
vault policy write app app.hcl
vault write auth/approle/role/myapp \
token_policies="app" \
token_ttl="30m" \
token_max_ttl="4h" \
secret_id_ttl="30m" \
secret_id_num_uses=1この演習では、AppRole の RoleID/SecretID を使ってクライアントトークンを得て、KV v2 からシークレットを読む一連の流れを確認します。試験では、どのトークン/リースがどこで発行され、何を Renew/Revoke できるかを図解できると強いです。
SecretID の使い捨て(num_uses=1)や短い TTL は、学習でも実務でも基本戦術です。漏えい面積を小さく保ち、ローテーションを前提に設計してください。
AppRole でログインして KV を読む一連のコマンド
# RoleID と SecretID を取得
ROLE_ID=$(vault read -field=role_id auth/approle/role/myapp/role-id)
SECRET_ID=$(vault write -field=secret_id auth/approle/role/myapp/secret-id)
echo "ROLE_ID=$ROLE_ID"
echo "SECRET_ID=$SECRET_ID"
# AppRole ログインでクライアントトークン取得
APP_TOKEN=$(vault write -field=token auth/approle/login role_id="$ROLE_ID" secret_id="$SECRET_ID")
echo "APP_TOKEN=$APP_TOKEN"
# アプリ視点で KV 読み取り(ポリシーの許可範囲のみ)
VAULT_TOKEN="$APP_TOKEN" vault kv get secret/app/config
# TTL 確認と更新
VAULT_TOKEN="$APP_TOKEN" vault token lookup
VAULT_TOKEN="$APP_TOKEN" vault token renew
# 使い終わったら明示的に取り消し
VAULT_TOKEN="$APP_TOKEN" vault token revoke -self接続不可の多くは IP 許可リストの未更新、または会社/自宅でグローバルIPが変わったケースです。まずは HCP コンソールの Allowed CIDR を再確認します。証明書エラーは VAULT_ADDR のタイポやプロキシ干渉が原因になりがちです。
トークン関連では、TTL 超過やポリシー不足で操作が失敗します。vault token lookup で現在の TTL とポリシーを確認し、必要なら renew、設計上の不要トークンは revoke します。学習終了後はクラスタの停止/削除でコスト事故を防ぎましょう。
よく使う確認コマンド
# ステータス/診断
vault status
# トークンとポリシーの確認
vault token lookup
# ポリシーの中身を確認
vault policy read app
# KV v2 のメタデータを確認
vault list secret/metadata/app/
# 監査(ローカル dev で練習)
# vault audit enable file file_path=/tmp/vault_audit.logAssociate / Ops
問題 1
学習用に HCP Vault(無料枠/開発プラン想定)を最小のリスクで公開し、KV v2 と AppRole の演習を行いたい。最も適切な初期対応はどれか。
正解: A
最小公開と最小権限が基本方針。パブリックエンドポイントを使う場合は IP 許可リストを自端末の /32 に限定し、強権の初期トークンはブートストラップ後に限定トークンへ移行する。B は default の拡張で誰でも読める状態を作り危険。C はトークン/SecretID の適切な保護/TTL の原則に反する。D は 0.0.0.0/0 による過剰公開で不適切。
HCP Vault の無料枠やトライアルの期間・リソースは固定ですか?
期間やクレジット、利用可能なティア/ノード構成は時期や地域で変更されることがあります。必ず HCP コンソールの記載と公式ドキュメントを確認し、超過しないように学習終了後はクラスタを削除してください。
学習でもパブリックエンドポイントは使わない方が良いですか?
最も安全なのは Private Link/HVN 経由ですが、最初の学習ではパブリックエンドポイントを使いつつ IP 許可リストで自分の /32 のみに限定すれば、手軽さと安全性のバランスを取りやすいです。慣れたらプライベート接続に移行しましょう。
初期の root/管理トークンはどう扱えばよいですか?
表示は一度限りの場合があり、権限も強力です。ポリシーとロールのブートストラップにのみ使用し、以後は最小権限のトークンを使ってください。不要になったら revoke、保管は避け、手順で再生成が必要な場合は HCP コンソール/サポートのガイダンスに従います。
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...