HashiCorp HCVA0-003 Exam
HashiCorp Certified: Vault Associate (003) (Page 9 )

Updated On: 9-Feb-2026

Which of the following policies would permit a user to generate dynamic credentials on a database?

  1. path "database/creds/read_only_role" { capabilities = ["generate"] }
  2. path "database/creds/read_only_role" { capabilities = ["update"] }
  3. path "database/creds/read_only_role" { capabilities = ["list"] }
  4. path "database/creds/read_only_role" { capabilities = ["read"] }

Answer(s): D

Explanation:

Comprehensive and Detailed in Depth
The Database secrets engine generates dynamic credentials for database access. The endpoint database/creds/<role> (e.g., read_only_role) provides these credentials via a read operation. Let's analyze:
Option A: capabilities = ["generate"]
There's no generate capability in Vault policies. Capabilities are create, read, update, delete, list, etc.

This is invalid. Incorrect.
Option B: capabilities = ["update"]
update (PUT) modifies existing data, not generates credentials. The creds endpoint uses GET.
Incorrect.
Option C: capabilities = ["list"]
list retrieves metadata or paths, not credential data. Incorrect.
Option D: capabilities = ["read"]
Generating dynamic credentials involves a GET request to database/creds/<role>, mapped to the read capability. This policy allows it. Correct.
Detailed Mechanics:
For a role read_only_role defined with vault write database/roles/read_only_role db_name=my-db creation_statements="CREATE USER...", a user with read on database/creds/read_only_role can run vault read database/creds/read_only_role to get temporary credentials. Vault's policy system aligns HTTP verbs to capabilities: GET = read, PUT = update. This counterintuitive mapping (GET for creation) is specific to dynamic secrets.
Overall Explanation from Vault Docs:
"Generating database credentials requires read capability on database/creds/<role>... Despite creating credentials, the HTTP request is a GET."


Reference:

https://developer.hashicorp.com/vault/tutorials/db-credentials/database-secrets



Which scenario most strongly indicates a need to run a self-hosted Vault cluster instead of using HCP Vault Dedicated?

  1. Your organization doesn't require any custom security policies or intricate network topologies
  2. You want to offload all operational tasks and rely on HashiCorp to manage patching, upgrades, and infrastructure
  3. You prefer a fully managed environment that is readily scalable with minimal configuration overhead
  4. You must maintain specific compliance or custom integration requirements that demand full control over the Vault environment, including infrastructure provisioning and plugin development

Answer(s): D

Explanation:

Comprehensive and Detailed in Depth
HCP Vault Dedicated is a managed service, while self-hosted Vault (Community or Enterprise) requires user management. Let's evaluate:
A: Simple needs favor HCP Vault's managed simplicity. Incorrect.
B: Offloading tasks aligns with HCP Vault, not self-hosted. Incorrect.
C: Managed scalability suits HCP Vault. Incorrect.
D: Compliance, custom integrations, and plugin development need full control, only possible with self-hosted Vault. Correct.
Detailed Mechanics:
Self-hosted Vault allows custom plugins, FIPS 140-2 compliance, and specific network configs (e.g., air-gapped setups), unavailable in HCP Vault Dedicated due to its standardized, managed nature.

Overall Explanation from Vault Docs:
"Self-managed Vault supports custom requirements... HCP Vault Dedicated offloads operations but limits control."


Reference:

https://developer.hashicorp.com/vault/tutorials/get-started/available-editions



From the options below, select the benefits of using a batch token over a service token (select four).

  1. Often used for ephemeral, high-performance workloads
  2. Can be a root token
  3. Can be used on performance replication clusters (if orphan)
  4. Has accessors
  5. Lightweight and scalable
  6. No storage cost for token creation

Answer(s): A,C,E,F

Explanation:

Comprehensive and Detailed in Depth
Batch tokens are lightweight alternatives to service tokens, with trade-offs. Let's analyze:
A: Designed for short-lived, high-performance tasks. Correct.
B: Cannot be root tokens; root status is service-token-specific. Incorrect.
C: Orphan batch tokens work in replication. Correct.
D: No accessors; unique to service tokens. Incorrect.
E: Minimal overhead makes them scalable. Correct.
F: No disk storage reduces cost. Correct.
Overall Explanation from Vault Docs:
"Batch tokens are encrypted blobs... lightweight, scalable, no storage cost, ideal for ephemeral workloads."


Reference:

https://developer.hashicorp.com/vault/tutorials/tokens/batch-tokens



Which of the following are accurate statements regarding the use of a KV v2 secrets engine (select three)?

  1. Issuing a vault kv destroy command permanently deletes the current version of the secret
  2. Issuing a vault kv destroy command deletes all versions of a secret
  3. Issuing a vault kv delete command performs a soft delete of the current version
  4. Issuing a vault kv metadata delete command permanently deletes the secret

Answer(s): A,C,D

Explanation:

Comprehensive and Detailed in Depth
KV v2 supports versioning. Let's evaluate:
A: destroy removes a specific version permanently. Correct.
B: destroy targets specified versions, not all. Incorrect.
C: delete soft-deletes the current version. Correct.
D: metadata delete removes all versions and metadata. Correct.
Overall Explanation from Vault Docs:
"kv delete soft-deletes... kv destroy permanently removes versions... kv metadata delete wipes everything."


Reference:

https://developer.hashicorp.com/vault/docs/secrets/kv/kv-v2



Which of the following is NOT a valid way in which a lease can be revoked in Vault?

  1. Using the user interface (UI)
  2. Automatically when the TTL or Max-TTL expires
  3. Using the API to call the /v1/sys/leases endpoint
  4. Via the CLI using the vault token command

Answer(s): D

Explanation:

Comprehensive and Detailed in Depth
Leases manage dynamic secrets' lifecycles. Let's check:
A: UI allows lease revocation. Valid.
B: TTL expiration auto-revokes leases. Valid.
C: API endpoint revokes leases. Valid.
D: vault token manages tokens, not leases directly. Invalid.
Overall Explanation from Vault Docs:
"Leases can be revoked via API, UI, CLI (vault lease revoke), or TTL expiry... vault token is for tokens."


Reference:

https://developer.hashicorp.com/vault/docs/concepts/lease






Post your Comments and Discuss HashiCorp HCVA0-003 exam prep with other Community members:

Join the HCVA0-003 Discussion