HashiCorp Vault Knowledge Patch
Use this skill when planning, implementing, reviewing, or troubleshooting modern
Vault deployments, clients, plugins, policies, authentication, secrets engines,
PKI, integrated storage, or upgrades. Prefer the repository's manifests,
configuration, running-server behavior, and tests when they disagree with this
guidance.
Reference index
| Reference |
Topics |
| Audit, events, billing, and UI |
Audit records, event delivery, quotas, billing and utilization, telemetry, and UI behavior |
| Authentication, identity, and policy |
Auth methods, identity and SCIM, OAuth, MFA, ACLs, namespaces, and proxy certificate handling |
| Migration and known issues |
Breaking changes, retirements, upgrade blockers, compatibility switches, and workarounds |
| PKI, Transit, and managed keys |
PKI issuance, ACME/SCEP, Transit algorithms, KMIP, managed keys, and cryptographic modes |
| Plugins, agents, and delivery |
Plugin registration, containers, Vault Agent and Proxy, SDK helpers, Terraform, and VSO delivery |
| Secrets, rotation, and synchronization |
Cloud and database engines, Rotation Manager, static roles, Secret Sync, imports, and recovery |
| Server, cluster, and storage |
Listeners, Raft, seals, storage backends, diagnostics, limits, and cluster health |
Upgrade blockers first
Remove duplicate HCL attributes
Duplicate attributes in server configuration and policy HCL are hard parse
errors. The temporary compatibility environment variable is gone. Find and
remove duplicates before starting an upgraded server.
Set integrated-storage memory locking explicitly
When using integrated storage, configure disable_mlock explicitly as true
or false; omission prevents startup. Current containers cannot call
mlock(), so container deployments normally set it to true and prevent swap
at the host or runtime layer.
Migrate retired authentication and credential modes
- The Active Directory secrets plugin is retired; migrate its workloads.
- Snowflake password authentication is retired; use key-pair authentication.
- Centrify authentication is no longer officially supported.
- Exact-match list policy comparison is retired; use per-element matching.
- The Vault Agent API proxy is deprecated; use Vault Proxy.
- Remove the obsolete LDAP
deny_null_bind setting.
Check plugin signing compatibility
Enterprise releases 1.19.17, 1.20.11, 1.21.6, and 2.0.1 cannot verify the
renewed signing key used by Enterprise plugins released on or after April 21,
2026. Upgrade to the patched release in the same line before registering such
plugins.
Account for changed API schemas and statuses
- Managed-key usage values are names such as
encrypt and sign, not integers.
- Activity exports use
token_creation_time instead of timestamp.
- Utilization bundles use
snapshot_records and decoded_snapshot.
- Invalid cross-cluster consistency tokens may return HTTP 403 instead of 412.
- External-CA
pem_bundle certificate fields can include a private key.
- AWS credential consumers should read
session_token, not security_token.
See Migration and known issues for
the complete upgrade checklist and unresolved release-line issues.
Authentication, identity, and ACL quick reference
Harden privileged and forwarded authentication
- Root generation, DR operation-token generation, and rekey endpoints
authenticate callers by default. Opt into legacy unauthenticated access only
with
enable_unauthenticated_access.
- Vault strips Vault tokens from forwarded
Authorization headers unless the
header is explicitly configured for passthrough.
- Certificate auth accepts RFC 9440 forwarded certificate headers and can work
behind a TLS-terminating proxy even when listener TLS is disabled.
- Validate and constrain trusted proxy headers;
X-Forwarded-For values must be
valid IP addresses.
Update identity and policy controls
- Entity merges require
sudo; merges involving SCIM-managed entities are
rejected.
- Enable
force_identity_deduplication only when intentionally resolving
duplicate entities and groups by rename.
allowed_parameters and denied_parameters use per-element list matching.
Policy names are lowercased before constraint evaluation.
- Set
deny_slash_in_templated_path = true when rendered identity values must
never create additional path segments.
- Wildcards in rendered identity templates are rejected, and
resultant-acl
includes segment-wildcard paths in glob_paths.
Adopt workload identity features deliberately
Vault can authenticate SPIFFE JWTs and X.509 identities and can issue JWT-SVIDs.
Its OAuth resource server can authorize registered agents with JWTs and apply
Rich Authorization Request constraints. Enterprise SCIM manages entities,
aliases, and groups but preserves a strict ownership boundary around managed
entities.
See Authentication, identity, and policy
for exact fields, endpoints, and auth-method behavior.
Server and storage quick reference
Detect removed or unhealthy nodes
Use sys/health, sys/seal-status, and vault status to distinguish a removed
node from an unhealthy standby. Do not reuse Raft data from a removed node:
join rejects it, and removed nodes stop serving requests and seal.
Bound requests and queues
- Configure JSON nesting, string, object-entry, and array-element limits.
- Configure
max_token_header_size; it defaults to 8 KB and -1 disables it.
- Event subscriber queues are unbuffered by default. A positive
VAULT_EVENT_NOTIFICATIONS_BOUNDED_QUEUE_SIZE enables a bounded buffer up to
1000 but can trade backpressure for missed events.
- Large random-byte responses use correspondingly more memory.
Operate snapshots and seals safely
Enterprise snapshot loading supports delegated recovery and recovery into a
different path. Automated snapshots can be autoloaded, and a forced unload can
clear a stuck snapshot. Seal HA requires every seal to be healthy before
persisting the barrier keyring.
See Server, cluster, and storage for
health codes, listener settings, Raft details, storage credentials, and
diagnostics.
Secrets and rotation quick reference
Treat partial updates and rotations explicitly
- AWS secrets configuration writes preserve omitted fields; send a zero value
to clear an existing field.
- Rotation Manager schedules are UTC. Configure retries and monitor orphaned
entries after exhausted attempts.
- Manually rotating an LDAP static role does not reset its automated TTL.
Toggle
disable_automated_rotation to start a new cadence.
- Space Azure static-role rotations by several minutes to avoid propagation
races and orphaned credentials.
Protect synchronization and recovery
Secret Sync destinations support workload identity, network allowlists, and GCP
customer-managed encryption keys. force_delete can leave provider-side
secrets orphaned, while disabling or deleting a source mount unsyncs secrets
immediately. Snapshot recovery supports KV v1, KV v2, cubbyhole, database
static-role, and SSH CA recovery where applicable.
See Secrets, rotation, and synchronization
for engine-specific migration and operational details.
PKI and cryptography quick reference
Enforce issuance constraints
PKI enforces issuer extensions, name constraints, chain validation, path length,
and configured maximum TTLs. Use leaf_not_after_behavior = "always_enforce_err" when overlong leaf lifetimes must fail even for CA and
ACME issuance. Bound CRL growth with max_crl_entries.
Handle modern algorithms and managed keys
Transit supports post-quantum signatures, RSA PKCS#1 v1.5 encryption, AES-CBC,
envelope encryption, and managed-key operations according to edition and
feature maturity. PKCS#11 slot and token_label are mutually exclusive; clear
the old selector while setting the new one.
Treat certificate bundles as secrets
External CA responses requested as pem_bundle can place the private key in the
certificate field. Protect logs, caches, and parsers that handle that field.
See PKI, Transit, and managed keys
for algorithms, protocols, constraints, and managed-key endpoint support.
Plugins, agents, delivery, and UI
Register plugins from the intended artifact
External plugin registration expects an extracted artifact in the plugin
directory. Official-plugin automatic downloads are beta, and Enterprise can
override pinned versions when mounting or tuning supported backends. Prefer the
detailed registration client APIs; the older RegisterPlugin variants are
deprecated.
Prepare minimal containers
Containers run as the vault user, lack built-in IPC_LOCK, and UBI images no
longer include gnupg, openssl, or procps. Supply required operational tools
separately rather than assuming they exist in the image.
Update UI links and automation
Secrets-engine UI routes use /secrets-engines, and the list no longer supports
bulk deletion. Pagination has a known issue when page size changes away from
page 1. Root-token GUI access under an EGP can fail for the UI mounts endpoint;
use CLI/API access or explicitly permit that endpoint.
See Plugins, agents, and delivery
and Audit, events, billing, and UI
for delivery mechanisms, UI capabilities, reporting, and event semantics.
Review workflow
- Identify the exact Vault edition, release, enabled plugins, and storage type.
- Read the migration reference before changing binaries or container tags.
- Validate listener, seal, storage, and policy configuration in a non-production
environment.
- Exercise authentication, rotation, lease, event, and recovery workflows that
the deployment actually uses.
- Update clients for changed fields, endpoints, status codes, and retry rules.
- Inspect audit, billing, utilization, and rotation evidence after rollout.
1---2name: hashicorp-vault-knowledge-patch-23description: HashiCorp Vault4license: MIT5---678# HashiCorp Vault Knowledge Patch910Use this skill when planning, implementing, reviewing, or troubleshooting modern11Vault deployments, clients, plugins, policies, authentication, secrets engines,12PKI, integrated storage, or upgrades. Prefer the repository's manifests,13configuration, running-server behavior, and tests when they disagree with this14guidance.1516## Reference index1718| Reference | Topics |19| --- | --- |20| [Audit, events, billing, and UI](references/audit-events-billing-and-ui.md) | Audit records, event delivery, quotas, billing and utilization, telemetry, and UI behavior |21| [Authentication, identity, and policy](references/auth-identity-and-policy.md) | Auth methods, identity and SCIM, OAuth, MFA, ACLs, namespaces, and proxy certificate handling |22| [Migration and known issues](references/migration-and-known-issues.md) | Breaking changes, retirements, upgrade blockers, compatibility switches, and workarounds |23| [PKI, Transit, and managed keys](references/pki-transit-and-managed-keys.md) | PKI issuance, ACME/SCEP, Transit algorithms, KMIP, managed keys, and cryptographic modes |24| [Plugins, agents, and delivery](references/plugins-agents-and-delivery.md) | Plugin registration, containers, Vault Agent and Proxy, SDK helpers, Terraform, and VSO delivery |25| [Secrets, rotation, and synchronization](references/secrets-rotation-and-sync.md) | Cloud and database engines, Rotation Manager, static roles, Secret Sync, imports, and recovery |26| [Server, cluster, and storage](references/server-cluster-and-storage.md) | Listeners, Raft, seals, storage backends, diagnostics, limits, and cluster health |2728## Upgrade blockers first2930### Remove duplicate HCL attributes3132Duplicate attributes in server configuration and policy HCL are hard parse33errors. The temporary compatibility environment variable is gone. Find and34remove duplicates before starting an upgraded server.3536### Set integrated-storage memory locking explicitly3738When using integrated storage, configure `disable_mlock` explicitly as `true`39or `false`; omission prevents startup. Current containers cannot call40`mlock()`, so container deployments normally set it to `true` and prevent swap41at the host or runtime layer.4243### Migrate retired authentication and credential modes4445- The Active Directory secrets plugin is retired; migrate its workloads.46- Snowflake password authentication is retired; use key-pair authentication.47- Centrify authentication is no longer officially supported.48- Exact-match list policy comparison is retired; use per-element matching.49- The Vault Agent API proxy is deprecated; use Vault Proxy.50- Remove the obsolete LDAP `deny_null_bind` setting.5152### Check plugin signing compatibility5354Enterprise releases 1.19.17, 1.20.11, 1.21.6, and 2.0.1 cannot verify the55renewed signing key used by Enterprise plugins released on or after April 21,562026. Upgrade to the patched release in the same line before registering such57plugins.5859### Account for changed API schemas and statuses6061- Managed-key usage values are names such as `encrypt` and `sign`, not integers.62- Activity exports use `token_creation_time` instead of `timestamp`.63- Utilization bundles use `snapshot_records` and `decoded_snapshot`.64- Invalid cross-cluster consistency tokens may return HTTP 403 instead of 412.65- External-CA `pem_bundle` certificate fields can include a private key.66- AWS credential consumers should read `session_token`, not `security_token`.6768See [Migration and known issues](references/migration-and-known-issues.md) for69the complete upgrade checklist and unresolved release-line issues.7071## Authentication, identity, and ACL quick reference7273### Harden privileged and forwarded authentication7475- Root generation, DR operation-token generation, and rekey endpoints76 authenticate callers by default. Opt into legacy unauthenticated access only77 with `enable_unauthenticated_access`.78- Vault strips Vault tokens from forwarded `Authorization` headers unless the79 header is explicitly configured for passthrough.80- Certificate auth accepts RFC 9440 forwarded certificate headers and can work81 behind a TLS-terminating proxy even when listener TLS is disabled.82- Validate and constrain trusted proxy headers; `X-Forwarded-For` values must be83 valid IP addresses.8485### Update identity and policy controls8687- Entity merges require `sudo`; merges involving SCIM-managed entities are88 rejected.89- Enable `force_identity_deduplication` only when intentionally resolving90 duplicate entities and groups by rename.91- `allowed_parameters` and `denied_parameters` use per-element list matching.92 Policy names are lowercased before constraint evaluation.93- Set `deny_slash_in_templated_path = true` when rendered identity values must94 never create additional path segments.95- Wildcards in rendered identity templates are rejected, and `resultant-acl`96 includes segment-wildcard paths in `glob_paths`.9798### Adopt workload identity features deliberately99100Vault can authenticate SPIFFE JWTs and X.509 identities and can issue JWT-SVIDs.101Its OAuth resource server can authorize registered agents with JWTs and apply102Rich Authorization Request constraints. Enterprise SCIM manages entities,103aliases, and groups but preserves a strict ownership boundary around managed104entities.105106See [Authentication, identity, and policy](references/auth-identity-and-policy.md)107for exact fields, endpoints, and auth-method behavior.108109## Server and storage quick reference110111### Detect removed or unhealthy nodes112113Use `sys/health`, `sys/seal-status`, and `vault status` to distinguish a removed114node from an unhealthy standby. Do not reuse Raft data from a removed node:115join rejects it, and removed nodes stop serving requests and seal.116117### Bound requests and queues118119- Configure JSON nesting, string, object-entry, and array-element limits.120- Configure `max_token_header_size`; it defaults to 8 KB and `-1` disables it.121- Event subscriber queues are unbuffered by default. A positive122 `VAULT_EVENT_NOTIFICATIONS_BOUNDED_QUEUE_SIZE` enables a bounded buffer up to123 1000 but can trade backpressure for missed events.124- Large random-byte responses use correspondingly more memory.125126### Operate snapshots and seals safely127128Enterprise snapshot loading supports delegated recovery and recovery into a129different path. Automated snapshots can be autoloaded, and a forced unload can130clear a stuck snapshot. Seal HA requires every seal to be healthy before131persisting the barrier keyring.132133See [Server, cluster, and storage](references/server-cluster-and-storage.md) for134health codes, listener settings, Raft details, storage credentials, and135diagnostics.136137## Secrets and rotation quick reference138139### Treat partial updates and rotations explicitly140141- AWS secrets configuration writes preserve omitted fields; send a zero value142 to clear an existing field.143- Rotation Manager schedules are UTC. Configure retries and monitor orphaned144 entries after exhausted attempts.145- Manually rotating an LDAP static role does not reset its automated TTL.146 Toggle `disable_automated_rotation` to start a new cadence.147- Space Azure static-role rotations by several minutes to avoid propagation148 races and orphaned credentials.149150### Protect synchronization and recovery151152Secret Sync destinations support workload identity, network allowlists, and GCP153customer-managed encryption keys. `force_delete` can leave provider-side154secrets orphaned, while disabling or deleting a source mount unsyncs secrets155immediately. Snapshot recovery supports KV v1, KV v2, cubbyhole, database156static-role, and SSH CA recovery where applicable.157158See [Secrets, rotation, and synchronization](references/secrets-rotation-and-sync.md)159for engine-specific migration and operational details.160161## PKI and cryptography quick reference162163### Enforce issuance constraints164165PKI enforces issuer extensions, name constraints, chain validation, path length,166and configured maximum TTLs. Use `leaf_not_after_behavior =167"always_enforce_err"` when overlong leaf lifetimes must fail even for CA and168ACME issuance. Bound CRL growth with `max_crl_entries`.169170### Handle modern algorithms and managed keys171172Transit supports post-quantum signatures, RSA PKCS#1 v1.5 encryption, AES-CBC,173envelope encryption, and managed-key operations according to edition and174feature maturity. PKCS#11 `slot` and `token_label` are mutually exclusive; clear175the old selector while setting the new one.176177### Treat certificate bundles as secrets178179External CA responses requested as `pem_bundle` can place the private key in the180`certificate` field. Protect logs, caches, and parsers that handle that field.181182See [PKI, Transit, and managed keys](references/pki-transit-and-managed-keys.md)183for algorithms, protocols, constraints, and managed-key endpoint support.184185## Plugins, agents, delivery, and UI186187### Register plugins from the intended artifact188189External plugin registration expects an extracted artifact in the plugin190directory. Official-plugin automatic downloads are beta, and Enterprise can191override pinned versions when mounting or tuning supported backends. Prefer the192detailed registration client APIs; the older `RegisterPlugin` variants are193deprecated.194195### Prepare minimal containers196197Containers run as the `vault` user, lack built-in `IPC_LOCK`, and UBI images no198longer include `gnupg`, `openssl`, or `procps`. Supply required operational tools199separately rather than assuming they exist in the image.200201### Update UI links and automation202203Secrets-engine UI routes use `/secrets-engines`, and the list no longer supports204bulk deletion. Pagination has a known issue when page size changes away from205page 1. Root-token GUI access under an EGP can fail for the UI mounts endpoint;206use CLI/API access or explicitly permit that endpoint.207208See [Plugins, agents, and delivery](references/plugins-agents-and-delivery.md)209and [Audit, events, billing, and UI](references/audit-events-billing-and-ui.md)210for delivery mechanisms, UI capabilities, reporting, and event semantics.211212## Review workflow2132141. Identify the exact Vault edition, release, enabled plugins, and storage type.2152. Read the migration reference before changing binaries or container tags.2163. Validate listener, seal, storage, and policy configuration in a non-production217 environment.2184. Exercise authentication, rotation, lease, event, and recovery workflows that219 the deployment actually uses.2205. Update clients for changed fields, endpoints, status codes, and retry rules.2216. Inspect audit, billing, utilization, and rotation evidence after rollout.