Courseiva
Compare authentication methodsmediumMultiple ChoiceObjective-mapped

VA-003 Compare authentication methods Practice Question

A SaaS company uses AppRole authentication for their CI/CD pipeline. The pipeline runs on a Jenkins server. The pipeline generates a secret ID using the AppRole 'ci-role' and then logs in to Vault to read a database credential. Recently, the pipeline started failing intermittently with errors like 'secret ID is expired' or 'secret ID is used'. The pipeline generates a new secret ID every run. The team verified that the AppRole's secret_id_ttl is set to 0 (unlimited) and the secret_id_num_uses is set to 1. The pipeline runs multiple jobs concurrently, sometimes using the same AppRole. What is the most likely cause and solution?

⚠ Common exam trap

HashiCorp often tests the misconception that increasing TTL or usage limits solves concurrency issues, but the real problem is the race condition inherent in generating and consuming single-use secret IDs concurrently, which response wrapping resolves by providing unique, atomic delivery.

Answer choices

Why each option matters

Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.

Correct answer & explanation

Use response wrapping for the secret ID delivery to ensure each job gets a unique wrapped token.

The intermittent failures ('secret ID is expired' or 'secret ID is used') occur when multiple concurrent pipeline jobs generate a new secret ID for the same AppRole 'ci-role' with secret_id_num_uses=1. Since each secret ID can only be used once, concurrent jobs may attempt to reuse an already-consumed secret ID or generate overlapping IDs. Response wrapping delivers a unique wrapped token to each job, ensuring that each job receives a fresh, single-use secret ID without race conditions, as the wrapping token is unwrapped only once per job.

Answer analysis

Option-by-option breakdown

For each option: why learners choose it and why it is or isn't the right answer here.

  • Set secret_id_num_uses to 0 to allow unlimited uses.

    Why it's wrong here

    Unlimited uses would reduce security; better to handle concurrency differently.

  • Create separate AppRoles for each pipeline job.

    Why it's wrong here

    Not scalable and doesn't address the reuse issue.

  • Use response wrapping for the secret ID delivery to ensure each job gets a unique wrapped token.

    Why this is correct

    Response wrapping creates a one-time use token independent of secret_id_num_uses.

  • Increase secret_id_ttl to a high value like 24h.

    Why it's wrong here

    TTL is already unlimited; expiry is not the issue.

About these practice questions

This VA-003 question is part of Courseiva's 498-question bank — original exam-style content with full explanations and wrong-answer analysis, never real exam questions or exam dumps. Learn why practice questions differ from exam dumps →

How Courseiva writes practice questions · Editorial policy

JA

Written by Johnson Ajibi, MSc IT Security

Senior Network & Security Engineer · founder of Courseiva

This VA-003 practice question is part of Courseiva's free HashiCorp certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the VA-003 exam.