Try each one before opening the answer. Every option is explained, with the HashiCorp documentation page that proves it.
Question 1 · choose 1
A vendor application must log in to PostgreSQL as the existing user vendor_app, because its licence is bound to that username. The DBA wants that user's password rotated automatically every 24 hours, and the application reads the current password from Vault at startup. Which setup meets this?
AA database secrets engine dynamic role with default_ttl set to 24h
BThe connection configured with vendor_app as its own user, with the root credential rotated daily
CA KV v2 secret holding the vendor_app password with delete_version_after set to 24h
DA database secrets engine static role mapped to vendor_app with rotation_period set to 24h
Show the answer and why
AA database secrets engine dynamic role with default_ttl set to 24h
Incorrect
Dynamic roles do not keep a fixed username such as vendor_app.
BThe connection configured with vendor_app as its own user, with the root credential rotated daily
Incorrect
After a root rotation the connection user's password is accessible to Vault alone, so the application could not read it.
CA KV v2 secret holding the vendor_app password with delete_version_after set to 24h
Incorrect
That only removes old versions from Vault; it does not change the password in the database.
DA database secrets engine static role mapped to vendor_app with rotation_period set to 24h
Correct
A static role maps to one existing database user, and Vault rotates its password on the schedule.
Static roles fit existing accounts whose name cannot change.
A DBA requires every password that Vault generates for dynamic database users to be 32 characters long with at least two symbols, stricter than what Vault produces by default. What does Vault offer?
AA creation statement that sets the password inside the database
BA KV v2 secret holding a list of approved passwords for Vault to hand out
CA password policy, named in the database connection's password_policy
DAn ACL policy with allowed_parameters on the database/creds path
Show the answer and why
AA creation statement that sets the password inside the database
Incorrect
Creation statements receive the password Vault generated through {{password}}; they do not decide its format.
BA KV v2 secret holding a list of approved passwords for Vault to hand out
Incorrect
Dynamic credentials are generated by Vault, not drawn from stored values.
CA password policy, named in the database connection's password_policy
Correct
A password policy defines the length and character rules, and the connection uses it when generating passwords.
DAn ACL policy with allowed_parameters on the database/creds path
Incorrect
ACL parameter rules constrain request parameters; they do not shape generated passwords.
Without password_policy, the database engine generates 20-character passwords with at least one uppercase letter, one lowercase letter, one number and one dash. Password policies are unrelated to ACL policies despite the name.
An operator adds a new dynamic role named report to a database connection that already serves the role app. Requests for report credentials fail with an error that the role is not allowed to use the connection, while app still works. What is missing?
ARead on report's creds endpoint in the operator's own policy
Breport added to the connection's allowed_roles list
CA root credential rotation, which re-authorizes the connection
DA second connection, since each connection serves only one role
Show the answer and why
ARead on report's creds endpoint in the operator's own policy
Incorrect
A missing policy grant returns permission denied, not an error from the connection about the role.
Breport added to the connection's allowed_roles list
Correct
allowed_roles lists the roles that may use a connection; it defaults to none, and * allows any role.
CA root credential rotation, which re-authorizes the connection
Incorrect
rotate-root changes Vault's own password on the connection and does not change which roles may use it.
DA second connection, since each connection serves only one role
Incorrect
One connection can serve many roles once they are allowed on it.
Each connection names the roles that may use it in allowed_roles; the default empty list allows none, and * allows every role.