HashiCorp Vault Associate
The certifications page covers three exams; this is the deep profile of a fourth, HashiCorp's other flagship associate credential. Where the Terraform Associate certifies that you can provision infrastructure with HCL, the Vault Associate certifies that you can operate the tool sitting next to it in the same vendor's stack: authentication methods, policies, tokens, leases, secrets engines, and Transit's encryption-as-a-service model. Below: what it is, the nine official domains straight from HashiCorp's own exam guide, the substance behind each one, real exam logistics, and how to prepare using the lessons already on this site — chiefly the HashiCorp Vault tool page, which this exam maps onto almost one-for-one.
Imagine a test about the safe from the vault chapter you already read — not about building anything, just knowing that safe cold. Who's allowed to ask it to open (auth methods), what a written-down permission slip is allowed to say (policies), how the temporary pass it hands you actually works and when it expires (tokens and leases), which drawer to open for which kind of secret (secrets engines), and how the "encrypt this for me without ever showing me the key" trick works (Transit). One hour, closed book, no real safe in front of you — just questions about how this one works.
What the Vault Associate is, and who it's for
☺ Like you're 10: A one-hour, closed-book, multiple-choice test about one specific tool's security model — no terminal, no real Vault cluster touched.
The HashiCorp Certified: Vault Associate is HashiCorp's entry-level credential for people who operate, configure, or build against Vault. Like the Terraform Associate and unlike the CKA, it is entirely knowledge-based — multiple choice, true/false, scenario-based items, and occasional UI-area-selection questions, delivered online and proctored remotely, with no live terminal and no cluster actually deployed during the exam. It certifies foundational knowledge of Vault itself: how identity and policy gate access, how secrets get issued and revoked, and how the server protects data at rest. It does not certify the vendor-neutral secrets-management thinking that sits one layer up — that's what Secrets & Credential Management covers, and this exam assumes you already hold it.
It targets anyone who configures Vault, writes or reviews its policies, or builds applications and pipelines that authenticate against it — platform and security engineers standing up the shared instance, and application engineers consuming secrets from it day to day. HashiCorp does not formally require anything before you sit it, but its own learning path lists three assumed baselines worth taking seriously: basic terminal skills, a basic understanding of on-premise or cloud architecture, and a basic level of security understanding. This is not the exam to attempt before you've run vault kv get against something real at least a few times.
| Item | What is generally published |
|---|---|
| Format | Online, remotely proctored, closed-book — multiple choice, true/false, and scenario-based questions, no hands-on lab component |
| Question count | Approximately 57–60 (third-party reported; HashiCorp does not always publish an exact count — verify at the official page) |
| Duration | 60 minutes (plan roughly 90 minutes including check-in and identity verification) |
| Passing score | Not officially published by HashiCorp; informally reported around 70% — verify at the vendor's own page before you plan around a number |
| Price | Historically around USD $70.50 for HashiCorp associate-level exams — the same figure quoted for the Terraform Associate; confirm the current fee before you register |
| Prerequisites | None formally required — HashiCorp's own learning path assumes basic terminal skills, basic on-prem/cloud architecture knowledge, and basic security understanding |
| Validity | 2 years from the date you pass |
| Current version | 003 (exam code HCVA0-003), tested against Vault 1.16 — see the version note below before you study from anything older |
003 vs. the retired 002: what changed, and why it matters if you're studying with old material
☺ Like you're 10: If your study notes never mention the Vault Agent or the Vault Secrets Operator, they were probably written for the older version of this test.
The exam you'll actually sit today is version 003 (HCVA0-003), tested against Vault 1.16. As with Terraform's 003-to-004 transition, HashiCorp does not leave the retired 002 version registerable, but plenty of study decks, flashcard sets, and old blog posts written against it are still circulating — and they are a common way candidates walk in with a blind spot. The core substance carries over largely intact: authentication, policies, tokens, leases, and secrets engines were the spine of 002 and remain the spine of 003. The clearest tell that material predates 003 is the domain this page calls Access management architecture — coverage of the Vault Agent and the Vault Secrets Operator. Both tools existed before 003 shipped, but a study guide that never mentions either of them by name is worth treating as stale until you've checked it against HashiCorp's current exam guide.
The safest check: open HashiCorp's own exam content list and confirm you're reading the 003 objectives. If a practice-question source doesn't say which version it targets at all, treat it as suspect rather than assuming it's current — Vault's own feature set moves quickly enough (Transit, the KV engine, and the Kubernetes integrations have all shipped meaningful changes in recent years) that a deck frozen a version behind can look 90% right while missing the newest, least-covered corner of a domain.
The official domain breakdown
☺ Like you're 10: Nine topics, and — like the Terraform Associate — HashiCorp doesn't publish a percentage weight for each one, so don't assume any single domain is "the big one."
HashiCorp's own exam content list groups the nine domains into four themes, which is also how its official learning path is organized — a useful map for study order even though the exam itself doesn't test in this sequence. Across the nine domains, HashiCorp publishes 40 individual sub-objectives (labeled 1a through 9b), unevenly distributed: the three domains under "Access Vault" alone account for 17 of the 40, more than the other six domains combined.
The full nine, in HashiCorp's own published order, with what each one actually asks you to know:
- Authentication methods — why auth methods exist, choosing the right one for a use case, the difference between human and system (machine) authentication, the purpose of identities and groups, and authenticating and configuring auth methods through the API, CLI, and UI.
- Vault policies — the value a policy provides, the
pathandcapabilitiessyntax, choosing a policy shape for a stated requirement, and configuring policies through the UI and CLI. - Vault tokens — choosing between service and batch tokens for a use case, root token uses and lifecycle, the purpose of token accessors, the effect of time-to-live, what an orphaned token is, and creating a token that fits a specific need.
- Vault leases — the purpose of a lease ID, and how to renew and revoke a lease.
- Secrets engines — choosing an engine for a use case, static vs. dynamic secrets and when each applies, the uses of the Transit engine specifically, the general purpose of secrets engines, the use of response wrapping, the value of short-lived dynamic secrets, and enabling and reading secrets through the API, CLI, and UI.
- Encryption as a Service — encrypting and decrypting data through Transit, and rotating the encryption key.
- Vault architecture fundamentals — how Vault encrypts data at rest, how sealing and unsealing works, and Vault's environment variables.
- Vault deployment architecture — cluster strategy for self-managed vs. HashiCorp-managed clusters, the uses of different storage backends, Shamir secret sharing and unsealing, disaster-recovery and performance replication, and the practical differences between self-managed and HCP-managed Vault.
- Access management architecture — the Vault Agent, and the Vault Secrets Operator.
Domain wording above is a close, study-oriented paraphrase of HashiCorp's own published objectives, not a verbatim quote — check the exact current sub-bullet text on HashiCorp's own exam content list before treating any single phrase as exam-verbatim.
Notice the shape: domains 1–3 are about gating access (who's asking, what they're allowed to do, what proof they were given), domains 4–6 are about what Vault hands out (leases, secrets engines, Transit), and domains 7–9 are about the server itself (how it protects data, how it's deployed, and the newer tooling — Agent, VSO — that sits at its edge). If you already understand Vault's secret engines and auth methods from the tool page, most of your remaining study time belongs in the last third: architecture, deployment, and the two access-management tools most candidates have used least.
What you actually need to know cold
☺ Like you're 10: Here's the real substance behind each domain — the facts your instincts need to reach for without looking anything up.
Authentication and identity (domain 1)
Every auth method answers the same question — "is this really who it claims to be" — with different proof depending on who's asking. The exam-relevant distinction is human vs. system authentication: Userpass, LDAP, and OIDC/SSO prove a person is who they say they are; AppRole, the Kubernetes auth method, and the cloud auth methods (AWS, Azure, GCP) prove a machine or workload is who it says it is, usually by trusting a platform-native identity rather than a standing shared secret. Every successful login — regardless of method — ends in a token, and Vault's identity subsystem can link multiple auth-method aliases (a Kubernetes service account, an LDAP username) back to one canonical entity, which is what makes group-based policy assignment possible across more than one login path. Full method-by-method detail, including the AppRole RoleID/SecretID split, lives on the Vault tool page's auth methods section.
Policies: path and capabilities (domain 2)
A policy is an HCL document naming paths and the capabilities allowed on each: create, read, update, delete, list, plus the special sudo and explicit deny. Vault is deny-by-default — a path with no matching statement is unreachable, not silently open — which is the exam's favorite trap to test in reverse: give a policy that looks permissive and ask what it actually denies.
path "secret/data/checkout/prod/*" {
capabilities = ["read"]
}
path "database/creds/checkout-readonly" {
capabilities = ["read"] # mints a fresh, TTL-bound DB user on every read
}
# everything else: denied, by omission — deny-by-default, not deny-by-exceptionOne fact worth memorizing outright because it's a classic wrong-answer trap: KV version 2's real HTTP paths nest under a data/ segment that the vault kv CLI adds for you automatically. A hand-written policy for secret/checkout/* silently matches nothing against a KV v2 mount — it needs to read secret/data/checkout/*.
Tokens: service vs. batch, accessors, TTL, orphans (domain 3)
Every authenticated request carries a token, and domain 3 tests the vocabulary around it precisely.
| Concept | What it means |
|---|---|
| Service token | The default type — persisted in the storage backend, renewable up to its max_ttl, revocable individually, and capable of having child tokens |
| Batch token | Encoded rather than stored server-side, so issuing thousands imposes almost no storage load — cannot be renewed and has no children, which trades flexibility for the ability to hand out high volumes of short-lived tokens cheaply |
| Root token | Created once by vault operator init, bypasses policy entirely — meant only to bootstrap a real admin identity, then get revoked |
| Token accessor | A non-secret reference ID for a token, returned alongside it — lets tooling look up metadata or revoke a specific token without ever holding (or needing) the token's actual secret value |
| TTL | A token's default_ttl is its starting lifetime; renewal can extend it, but never past max_ttl — after that, only a fresh login produces a new token |
| Orphaned token | A token created with no parent, so revoking whatever issued it does not cascade to revoke it — used deliberately for tokens that need to outlive the process or session that created them |
$ vault token create -policy=checkout-prod-deploy -ttl=1h
$ vault token create -policy=checkout-prod-deploy -orphan # no parent, survives its creator's revocation
$ vault token create -policy=checkout-ci -type=batch -ttl=15m # batch: cheap, non-renewable, no children
$ vault token lookup -accessor # inspect without touching the secret value
$ vault token revoke -accessor # revoke the same way
$ vault token revoke # revokes this token AND its whole child tree Leases and secrets engines: static vs. dynamic (domains 4–5)
Every dynamic secret Vault hands out is attached to a lease — an ID that tracks how long that specific secret is valid and who's responsible for renewing or revoking it. The two operations domain 4 tests are exactly the two verbs: vault lease renew extends a lease up to its role's max_ttl, and vault lease revoke — with an optional -prefix — ends it (and everything under that prefix) immediately.
Domain 5's central distinction is static vs. dynamic secrets. A static secret (KV v2) is a value a human or system wrote in; Vault stores and versions it but doesn't generate it. A dynamic secret (the database, PKI, and cloud engines) is generated by Vault on the spot, scoped to a role, and bound to a lease — which is what makes "the value of short-lived, dynamic secrets" its own tested sub-objective: a credential that's minted per request and expires on its own is a credential an attacker has a much smaller window to make use of, even if it leaks. Response wrapping is the exam's answer to the bootstrap problem every auth method eventually hits — how do you hand someone their very first credential safely — by returning a single-use wrapping token that fails loudly if anyone other than the intended recipient tries to unwrap it first.
$ vault read database/creds/checkout-readonly # dynamic: a brand-new DB user, own lease, own TTL
$ vault lease renew database/creds/checkout-readonly/2f3a9c...
$ vault lease revoke -prefix database/creds/checkout-readonly # kill every lease under this role, nowFull engine-by-engine depth — KV v2, the database engine, PKI, and the cloud engines, each with working examples — lives on the Vault tool page's secret engines section; this exam expects you to recognize the pattern across all of them, not just recite one.
Transit: encryption as a service (domain 6)
Transit is the one engine that stores nothing of the caller's: an application sends plaintext, Vault encrypts it with a named key it manages entirely server-side, and hands back ciphertext — the key material never leaves Vault in either direction. Domain 6 is narrow and mechanical: encrypt, decrypt, and rotate.
$ vault write -f transit/keys/checkout-pii
$ vault write transit/encrypt/checkout-pii plaintext=$(base64 <<< "4111-1111-1111-1111")
$ vault write transit/decrypt/checkout-pii ciphertext="vault:v1:8SDd3WHDOjf7..."
$ vault write transit/rotate/checkout-pii # new writes use the new key version; old versions still decryptThe fact worth holding onto: rotating a Transit key does not invalidate data encrypted under the previous version — old ciphertext keeps decrypting against the version it was written with, and a min_decryption_version setting is what actually retires an old version once nothing needs it anymore.
Architecture, sealing, and deployment (domains 7–8)
Domain 7 is the barrier, in order: every value Vault writes is encrypted with an AES-256-GCM encryption key, which is itself encrypted at rest by a root key. vault operator init generates the root key once and splits it via Shamir's Secret Sharing into N shares, any threshold of which reconstruct it — never written to disk, only ever held in memory on an unsealed node. A restarted server comes up sealed until vault operator unseal is run once per share up to the threshold, or until auto-unseal — an external KMS (AWS KMS, Azure Key Vault, GCP KMS, or another Vault's Transit engine) — unwraps it automatically. Domain 7 also expects the core environment variables cold: VAULT_ADDR (the server URL every CLI command needs), VAULT_TOKEN (the credential the CLI sends), VAULT_CACERT / VAULT_SKIP_VERIFY (TLS trust, and the flag that dangerously disables checking it), and VAULT_NAMESPACE (Vault Enterprise's tenant-scoping header).
Domain 8 zooms out to the cluster: storage backends — Raft integrated storage (the default and recommended choice since Vault 1.4) versus Consul (legitimate if you're already running Consul for service discovery); replication — Performance Replication for read scaling across regions and Disaster Recovery Replication for a warm standby cluster, both Enterprise features; and the practical line between self-managed Vault (you run the cluster, you hold the unseal keys) and HCP Vault Dedicated (HashiCorp runs the cluster for you, on your cloud account, unsealing handled for you). Full depth on the barrier and the storage-backend tradeoffs, with a diagram of the exact reconstruct-decrypt-decrypt chain, lives on the Vault tool page.
Vault Agent and the Vault Secrets Operator (domain 9)
The newest domain covers two tools that sit at Vault's edge rather than inside it. Vault Agent is a client-side daemon (or sidecar) that handles authentication on an application's behalf — it logs in using an auto-auth method, caches and renews the resulting token, and can template secrets straight to a file on disk, so the application itself never has to speak Vault's API or hold a Vault token at all. The Vault Secrets Operator (VSO) does the equivalent job natively for Kubernetes: it's a controller that watches custom resources like VaultStaticSecret and VaultDynamicSecret, and syncs whatever they name into ordinary native Kubernetes Secret objects — so a Pod mounts a normal Secret and never talks to Vault directly, while VSO keeps that Secret's contents current as the underlying value rotates or a dynamic lease renews. The two solve the same integration problem — "give an app secrets without teaching it to be a Vault client" — for two different runtimes: Agent for a VM or a non-Kubernetes host, VSO for anything already running on a cluster.
On a throwaway VM or container, run vault server -dev. Enable KV and write a secret; write the checkout-prod-deploy policy above and mint a token scoped to it, then confirm it can read what the policy names and gets a flat denial on anything it doesn't; enable the database engine against a disposable Postgres container and pull two dynamic credentials back to back, noting the two different usernames and their lease IDs; renew one lease and revoke the other; create one orphaned token and one batch token and compare what vault token lookup shows for each. Every one of those actions maps directly onto a domain 1–5 sub-objective.
How to prepare using this site
☺ Like you're 10: One page here covers almost the entire exam — the map below points you at the exact section for each domain.
| Domain | Study here |
|---|---|
| 1–3 · Access Vault (auth, policies, tokens) | Vault's auth methods & identity section and policies section; Secrets & Credential Management for the vendor-neutral identity-based-access model underneath |
| 4–5 · Manage Secrets (leases, secrets engines) | Vault's secret engines section — KV, database, PKI, cloud engines, all with working CLI examples |
| 6 · Encryption as a Service (Transit) | Vault's Transit coverage, in the same secret-engines section |
| 7–8 · Architecture & deployment | Vault's architecture section — the barrier, seal/unseal, Raft vs. Consul, HA; HashiCorp Consul for the storage-backend alternative in depth |
| 9 · Access management (Agent, VSO) | Kubernetes for the cluster context the Vault Secrets Operator runs inside; the Vault tool page's closing section on how Vault integrates with the rest of the toolchain |
| Hands-on practice | Drill — Secure a Vulnerable Pipeline · Capstone Part 6 — Security Hardening |
| Speed & recall | Flashcards for CLI-command and vocabulary drilling · Glossary for terminology |
| The neighboring HashiCorp cert | Terraform Associate — same exam style, same vendor, the provisioning half of the toolchain instead of the secrets half |
A workable shape for most candidates: start with Secrets & Credential Management to lock in the vendor-neutral model, spend most of the remaining time inside the Vault tool page actually typing every CLI example rather than reading it, run Timmy's workshop above at least twice, and finish with the nine-domain list further up this page recited from memory, out loud, without looking anything up.
Exam logistics — verify these yourself before you register
☺ Like you're 10: Prices, proctoring vendors, and question counts drift over time — read HashiCorp's own page the week you plan to book, not a page like this one from months ago.
| Item | What is generally published |
|---|---|
| Delivery | Online, remotely proctored through HashiCorp's certification portal — third-party reports name a proctoring platform, which is worth confirming rather than assuming stays fixed |
| Retake policy | A waiting period before a retake is standard practice across HashiCorp's associate exams, with no free retake bundled in — confirm the current window on the vendor's page |
| Permitted resources | Closed-book — no documentation, notes, or second monitor during the exam, unlike the CKA's open-book format |
| Results | Pass/fail is generally shown immediately after submission; a domain-level performance report has been reported to follow within a couple of business days |
| Recertification | Retaking the current version of the exam before your 2-year validity lapses |
| Study materials HashiCorp itself provides | An official learning path, exam content list, and sample questions, all published on the same certification page — a legitimate first stop before any third-party material |
Price, question count, passing score, proctoring vendor, and retake policy all change without much notice. This site is independent and unofficial. Confirm current details on HashiCorp's own certification page before you pay for anything, and read the current exam content list in full — it is the only source that's authoritative about which sub-bullets are current for version 003 specifically.
Where it sits, and who should take it
☺ Like you're 10: It's the narrow, fast half of a two-certification HashiCorp résumé — provisioning is the other half, and together they cover most of what the toolchain actually does.
The Vault Associate is, structurally, the Terraform Associate's twin: same vendor, same knowledge-based format, same one-hour closed-book exam, same absence of a live terminal. The two are also the natural pairing for anyone building a HashiCorp-specific résumé, because they cover the two halves of the toolchain that show up together constantly in this course — infrastructure as code provisions the systems, and secrets management is what those systems need at runtime to actually talk to anything. Holding both signals you can operate the provisioning tool and the secrets tool most likely to sit next to it in a real HashiCorp-shop stack.
| Vault Associate | Terraform Associate | |
|---|---|---|
| Question | Do you know Vault's access model and secrets lifecycle? | Do you know Terraform's syntax and workflow? |
| Format | Knowledge-based, multiple choice | Knowledge-based, multiple choice |
| Scope | One tool — authentication, policy, secrets, encryption | One tool — HCL, state, providers, modules |
| Domains | 9, ungrouped by percentage weight | 9, ungrouped by percentage weight |
| Pairs naturally with | Terraform Associate — the provisioning half | Vault Associate — the secrets half |
Take it if: you configure Vault, write or review its policies, or build services that authenticate against it, and want that knowledge externally checked; or you already hold the Terraform Associate and want the matching secrets-management half of a HashiCorp-stack résumé. Consider skipping it if: your organization runs a cloud-native secrets manager exclusively (AWS Secrets Manager, Azure Key Vault, GCP Secret Manager) and has no near-term Vault adoption plan — study the vendor-neutral concepts instead, which transfer regardless of which product you end up operating; or your actual gap is provisioning rather than secrets, in which case Terraform Associate or the performance-based CKA is the better use of your study time first.
Foxy: I just passed the Terraform Associate. Do I really need a second HashiCorp exam right after it?
Timmy the Turtle: Depends what you're proving. Terraform Associate says you can provision the infrastructure. It says nothing about whether you know how that infrastructure should get its database password.
Recon: And that's a real gap, Foxy — I've watched a perfectly good Terraform config read a secret straight out of a .tfvars file because nobody on the team had gone one exam further.
Ellie the Elephant: Same format as the Terraform exam, at least — one hour, closed book, no new terminal to learn. Nine domains, no published weights, same as before.
Foxy: Which domain's the trap? There's always a trap.
Timmy the Turtle: Domain 2, every time. Someone writes a policy for secret/checkout/*, forgets KV v2 needs data/ in the real path, and the exam question is built to catch exactly that.
Gizmo the Gremlin: Or just answer "root token" for every question about access. Root can do anything, right? 🤑
Timmy the Turtle: Domain 3 exists specifically to catch that instinct, Gizmo. A root token that never gets revoked is the finding every security review flags first.
1. Is the Vault Associate exam hands-on/performance-based like the CKA, or knowledge-based? 2. Name the nine official domains — or at least six of them. 3. What is the clearest tell that a piece of study material was written for the retired 002 version instead of 003? 4. What's the difference between a service token and a batch token, and when would you reach for each? 5. Why does a hand-written policy for secret/checkout/* commonly fail to match anything under a KV v2 mount? 6. What do the Vault Agent and the Vault Secrets Operator each let an application avoid doing?
Check your answers
- Knowledge-based — multiple choice, true/false, and scenario-based questions, with no hands-on lab component, unlike the 100% performance-based CKA.
- Authentication methods; Vault policies; Vault tokens; Vault leases; secrets engines; Encryption as a Service; Vault architecture fundamentals; Vault deployment architecture; access management architecture.
- Study material that never mentions the Vault Agent or the Vault Secrets Operator (domain 9) by name — that domain covers tooling that only became exam content with version 003.
- A service token is persisted server-side, renewable, revocable individually, and can have children — the default choice for most logins. A batch token is encoded rather than stored, cannot be renewed, and has no children, which makes it cheap to issue at high volume for short-lived, high-throughput use cases.
- KV v2's real HTTP API paths include a
data/segment (secret/data/checkout/*) that thevault kvCLI adds automatically but a hand-written HCL policy must include explicitly. Missing it means the policy matches nothing, and Vault's deny-by-default model turns that into a silent, total denial. - Vault Agent lets a client-side application avoid speaking Vault's API or holding a Vault token directly — it authenticates and renews on the app's behalf and can template secrets to a file. The Vault Secrets Operator lets a Kubernetes Pod avoid talking to Vault at all — it syncs Vault secrets into native Kubernetes
Secretobjects that a Pod mounts normally.