Overview
This page contains the list of deprecations and important or breaking changes for Vault 0.9.0 compared to the most recent release. Please read it carefully.
PKI Root Generation (Since 0.8.1)
Calling pki/root/generate
when a CA cert/key already exists will now return a
204
instead of overwriting an existing root. If you want to recreate the
root, first run a delete operation on pki/root
(requires sudo
capability),
then generate it again.
Token Period in AWS IAM Auth (Since 0.8.2)
In prior versions of Vault, if authenticating via AWS IAM and requesting a periodic token, the period was not properly respected. This could lead to tokens expiring unexpectedly, or a token lifetime being longer than expected. Upon token renewal with Vault 0.8.2 the period will be properly enforced.
SSH CLI Parameters (Since 0.8.2)
vault ssh
users should supply -mode
and -role
to reduce the number of API
calls. A future version of Vault will mark these optional values are required.
Failure to supply -mode
or -role
will result in a warning.
Vault Plugin Init (Since 0.8.2)
Vault plugins will first briefly run a restricted version of the plugin to fetch metadata, and then lazy-load the plugin on first request to prevent crash/deadlock of Vault during the unseal process. Plugins will need to be built with the latest changes in order for them to run properly.
Policy Input Format Standardization (Since 0.8.3)
For all built-in authentication backends, policies can now be specified as a
comma-delimited string or an array if using JSON as API input; on read,
policies will be returned as an array; and the default
policy will not be
forcefully added to policies saved in configurations. Please note that the
default
policy will continue to be added to generated tokens, however, rather
than backends adding default
to the given set of input policies (in some
cases, and not in others), the stored set will reflect the user-specified set.
PKI sign-self-issued
modifies Issuer
in generated certificates (Since 0.8.3)
In 0.8.2 the endpoint would not modify the Issuer in the generated certificate,
leaving the output self-issued. Although theoretically valid, in practice
crypto stacks were unhappy validating paths containing such certs. As a result,
sign-self-issued
now encodes the signing CA's Subject DN into the Issuer DN
of the generated certificate.
sys/raw
requires enabling (Since 0.8.3)
While the sys/raw
endpoint can be extremely useful in break-glass or support
scenarios, it is also extremely dangerous. As of now, a configuration file
option raw_storage_endpoint
must be set in order to enable this API endpoint.
Once set, the available functionality has been enhanced slightly; it now
supports listing and decrypting most of Vault's core data structures, except
for the encryption keyring itself.
generic
is now kv
(Since 0.8.3)
To better reflect its actual use, the generic
backend is now kv
. Using
generic
will still work for backwards compatibility.
HSM Users Need to Specify New Config Options (In 0.9)
When using Vault with an HSM, a new parameter is required: hmac_key_label
.
This performs a similar function to key_label
but for the HMAC key Vault will
use. Vault will generate a suitable key if this value is specified and
generate_key
is set true. See the seal configuration page for
more information.
API HTTP client behavior (In 0.9)
When calling NewClient
the API no longer modifies the provided
client/transport. In particular this means it will no longer enable redirection
limiting and HTTP/2 support on custom clients. It is suggested that if you want
to make changes to an HTTP client that you use one created by DefaultConfig
as a starting point.
AWS EC2 client nonce behavior (In 0.9)
The client nonce generated by the backend that gets returned along with the authentication response will be audited in plaintext. If this is undesired, the clients can choose to supply a custom nonce to the login endpoint. The custom nonce set by the client will from now on, not be returned back with the authentication response, and hence not audit logged.
AWS Auth role options (In 0.9)
The API will now error when trying to create or update a role with the
mutually-exclusive options disallow_reauthentication
and
allow_instance_migration
.
SSH CA role read changes (In 0.9)
When reading back a role from the ssh
backend, the TTL/max TTL values will
now be an integer number of seconds rather than a string. This better matches
the API elsewhere in Vault.
SSH role list changes (In 0.9)
When listing roles from the ssh
backend via the API, the response data will
additionally return a key_info
map that will contain a map of each key with a
corresponding object containing the key_type
.
More granularity in audit logs (In 0.9)
Audit request and response entries are still in RFC3339 format but now have a granularity of nanoseconds.