17834 Commits

Author SHA1 Message Date
Steven Clark
360a406a2f
Remove mentions of transform from the transit key import help text (#20925)
- The transit import and import-version command line help texts
   referenced that it worked with Transform which it doesn't.
2023-06-01 10:05:14 -04:00
Nick Cabatoff
65157a6d3f
New helper methods for generating readable loggable strings (#20911) 2023-06-01 13:12:16 +00:00
claire bontempo
e32cf520f4
UI: fixes pki role editing changing to default key parameter values (#20907)
* add integer-to-string helper

* rename and add test

* add role test

* finish tests

* pass options so values are only converted if the type matches

* okay lets hit it with the loose-equal instead

* add changelog
2023-05-31 15:44:22 -07:00
Jordan Reimer
0defa2a1e7
UI cluster unseal bug (#20897)
* fixes issue unsealing cloud seal type cluster

* adds changelog entry
2023-05-31 14:21:36 -06:00
Max Bowsher
e65d295c88
Fix non-deterministic ordering of 'required' field in OpenAPI spec (#20881)
* Fix non-deterministic ordering of 'required' field in OpenAPI spec

Fixes a minor annoyance I discovered whilst comparing before and after
OpenAPI specs whilst working on hashicorp/vault-client-go#180.

Sort the entries in a JSON array which has set semantics, after we
construct it by iterating a map (non-deterministic ordering).

* changelog
2023-05-31 15:10:24 -04:00
Alexander Scheel
b86f475927
Fix formatting (#20903)
Signed-off-by: Alexander Scheel <alex.scheel@hashicorp.com>
2023-05-31 18:36:27 +00:00
Alexander Scheel
daf72aa427
Fix transit import/export of hmac-only keys (#20864)
* Fix export of HMAC typed keys

When initially implemented, exporting HMAC keys resulted in returning
the unused, internal HMACKey value rather than the main Key value that
is used for HMAC operations.

This is a breaking change.

Signed-off-by: Alexander Scheel <alex.scheel@hashicorp.com>

* Consistently handle HMAC keys in keysutil

When generating HMAC-typed keys, set HMACKey = Key consistently, to
allow users of HMAC-typed keys to use them backwards compatibly.

Notably, this could discard the (unused) HMACKey field set today.

Signed-off-by: Alexander Scheel <alex.scheel@hashicorp.com>

* Add test proving export of HMAC keys work

Signed-off-by: Alexander Scheel <alex.scheel@hashicorp.com>

* Add changelog entry

Signed-off-by: Alexander Scheel <alex.scheel@hashicorp.com>

---------

Signed-off-by: Alexander Scheel <alex.scheel@hashicorp.com>
2023-05-31 18:04:08 +00:00
Milena Zlaticanin
c02c1dad14
Update MongoDB Atlas plugin to v0.10.0 (#20882)
* Update MongoDB Atlas plugin to v0.10.0

* add changelog

* add a changelog with feature release note

* Update changelog/20882.txt

Co-authored-by: Calvin Leung Huang <1883212+calvn@users.noreply.github.com>

---------

Co-authored-by: Calvin Leung Huang <1883212+calvn@users.noreply.github.com>
2023-05-31 09:33:54 -07:00
Anton Averchenkov
8ff31f32a5
agent: Don't print errors on exit 0 in supervisor mode (#20880) 2023-05-31 16:22:16 +00:00
Anton Averchenkov
fe53c4684c
agent: Don't render templates to stdout in supervisor mode (#20884) 2023-05-31 12:04:33 -04:00
Tom Proctor
657ee3107a
Improve consul secrets plugin error for failed bootstrap (#20891) 2023-05-31 16:31:24 +01:00
Alexander Scheel
a18b10ecae
Add tests issuing certificate and using against docker (#20890)
Signed-off-by: Alexander Scheel <alex.scheel@hashicorp.com>
2023-05-31 09:36:07 -04:00
Alexander Scheel
4b60ffd5ef
Fix enabling tidy_acme=true in auto-tidy config (#20889)
This should help to prevent the issue of missing tidy configurations
in the future, by placing all related configuration options at the
top with common validation logic.

However, short from this approach is ensuring that each config option
can be specified independently. Thus, the test allows (for any added
and properly tracked tidy operations) verifying that we have enabled
proper storage/retention of that attribute.

Signed-off-by: Alexander Scheel <alex.scheel@hashicorp.com>
2023-05-31 13:16:12 +00:00
claire bontempo
4d7d175530
ui: pki prevent user from self cross-signing root issuer (#20876)
* throw error if self-cross-signing

* add test
2023-05-30 15:27:13 -07:00
Alexander Scheel
63ccb60b9a
Transit BYOK export capabilities (#20736)
* Add WrapKey capabilities to keysutil

This allows one keysutil to wrap another key, assuming that key has an
type matching one of keysutil's allowed KeyTypes. This allows completing
the BYOK import loop with Transit, allowing imported wrapping keys to
export (wrap) other keys in transit, without having them leave in
plaintext.

Signed-off-by: Alexander Scheel <alex.scheel@hashicorp.com>

* Add /byok-export/:dst/:src[/:version] to Transit

Still respecting exportable, we allow encrypted-only export of transit
keys to another cluster using the BYOK semantics.

In particular, this allows an operator to securely establish key
material between two separate Transit installations. This potentially
allows one cluster to be used as a source cluster (encrypting a large
amount of data) and a second cluster to decrypt this data later. This
might be useful in hybrid or site-specific deployments of Vault for
instance.

Signed-off-by: Alexander Scheel <alex.scheel@hashicorp.com>

* Add missing dependency to sdk/, vault/

Also updates to a newer version while we're here.

Signed-off-by: Alexander Scheel <alex.scheel@hashicorp.com>

* Add documentation on BYOK export

Signed-off-by: Alexander Scheel <alex.scheel@hashicorp.com>

* Add tests for BYOK export/import

Signed-off-by: Alexander Scheel <alex.scheel@hashicorp.com>

* Add changelog entry

Signed-off-by: Alexander Scheel <alex.scheel@hashicorp.com>

* Update website/content/api-docs/secret/transit.mdx

* Update builtin/logical/transit/path_byok.go

Co-authored-by: Matt Schultz <975680+schultz-is@users.noreply.github.com>

---------

Signed-off-by: Alexander Scheel <alex.scheel@hashicorp.com>
Co-authored-by: Matt Schultz <975680+schultz-is@users.noreply.github.com>
2023-05-30 21:42:41 +00:00
Steven Clark
10c16ccbcb
Add Certbot unregister integration test (#20874)
* Add Certbot unregister integration test

 - Make sure we can unregister ACME accounts through Certbot to provide an additional validation.

* Add vault-crypto as a code owner for builtin/logical/pkiext
2023-05-30 17:24:28 -04:00
Milena Zlaticanin
08ee474850
fix cred generator for mongodb atlas x509 auth (#20867) 2023-05-30 12:07:58 -07:00
akshya96
b546455144
User Lockout Perf Standby Error oss (#20783)
* adding changes from ent

* add changelog

* removing new line

* rename changelog file name
2023-05-30 11:46:30 -07:00
Ikko Eltociear Ashimine
b62941563c
website: fix typo in postgresql.mdx (#20847)
PostgresSQL -> PostgreSQL
2023-05-30 19:28:20 +01:00
Nick Cabatoff
0f4494018c
Make sure we have upgrade migration disabled for ent, because it can make TestRaft_Autopilot_DeadServerCleanup flaky. (#20840) 2023-05-30 14:09:43 -04:00
Anton Averchenkov
21eccf8b8d
agent: Add agent process supervisor tests (#20741) 2023-05-30 18:06:44 +00:00
Daniel Huckins
344ee1ec3e
enable token ch (#20862)
Signed-off-by: Daniel Huckins <dhuckins@users.noreply.github.com>
2023-05-30 13:39:56 -04:00
claire bontempo
ea292e8142
Ui: Add contributing pattern doc (#19897)
* format readme to prepare for pattern info

* small text changes

* add markdown files for each section

* readme updates

* routing md draft

* add table of contents

* add oidc pr sample

* update routing

* add decorator section

* serializer docs

* add table of contents

* update readme

* add title

* add decorator section

* models readme

* update comments

* modify examples

* add bullets and more comments

* what the heck fix bullet

* model docs

* form docs

* routing doc

* serializer/adapter

* adds docs for model-validations decorator (#20596)

* UI Docs: Components (#20602)

* Add CSS best practices (#20370)

* wip--saving work

* wip

* friday morning....

* update

* fix exists to exist

* one more change

* UI docs: Add ember engine creation documentation (#20789)

---------

Co-authored-by: Jordan Reimer <zofskeez@gmail.com>
Co-authored-by: Chelsea Shaw <82459713+hashishaw@users.noreply.github.com>
Co-authored-by: Angel Garbarino <Monkeychip@users.noreply.github.com>
Co-authored-by: Kianna <30884335+kiannaquach@users.noreply.github.com>
2023-05-30 10:24:35 -07:00
claire bontempo
0615a50674
UI: updates info table row jsdoc (#20697)
* reuse format-duration helper

* add changelog

* update duration

* fix 0 assuming 0s

* VAULT-16593/ update tests, remove formatting assumptions

* more tests

* add calc function

* woops, typo use %

* update variable name

* add back one template test

* refactor to handle all duration string cases, including 3m

* ok lets do that differently

* comment cleanup

* address comments

* push to rerun checks
2023-05-30 10:21:07 -07:00
Milena Zlaticanin
be2464fbea
Add docs for new client cert credential type (#20729)
* add docs for new client cert credential type

* fix links

* fix defaults
2023-05-30 09:34:38 -07:00
Anton Averchenkov
7f2d3f2c5c
fix exitCh race condition (#20817) 2023-05-30 12:23:51 -04:00
Christopher Swenson
82359a9e8f
fix: upgrade vault-plugin-auth-azure to v0.15.0 (#20816) 2023-05-30 09:12:09 -07:00
Christopher Swenson
e5ae00a767
fix: upgrade vault-plugin-secrets-gcp to v0.16.0 (#20818) 2023-05-30 09:11:53 -07:00
Milena Zlaticanin
7490a2ebb7
Add support for client cert credential type (#20425)
* poc: client cert credential type

* go mod tidy

* fix typo

* fix newUserReqToProto

* add changelog

* add newline

* fix changelog

* add test for the client cert generator

* Fix formatting

* unset signing bundle URLs

* set BasicConstraintsValidForNonCA to false

* backdate cert by 30s

* remove empty creation params URLs

* check cert BasicConstraintsValid

* set default key bits in newClientCertificateGenerator

* fix client cert gen test with default values

* Add default for key_type

* fix default key_type

* update test with default key type

* update test

* Update changelog/20425.txt

Co-authored-by: Austin Gebauer <34121980+austingebauer@users.noreply.github.com>

* set default key bits and sig bits

* remove the default for key type ad fix the test

* make fmt + add comments for each exported field

* restart test

---------

Co-authored-by: Austin Gebauer <agebauer@hashicorp.com>
Co-authored-by: Austin Gebauer <34121980+austingebauer@users.noreply.github.com>
2023-05-30 09:11:02 -07:00
Steven Clark
000d754c40
Make ACME EAB keys specific to the ACME directory they are created within (#20803)
* Update EAB management urls underneath pki/eab

 - It was decided that for ease of ACLing, the management
   paths for EAB apis should be outside of the acme path
   prefix
 - Delete duplicated tests, rely on the proper cluster
   based tests for EAB management.

* Update ACME EAB creation paths to be directory specific

 - Make the EAB creation APIs directory specific.
 - This commit is still missing the enforcement that
   they can be redeemed on a specific path.

* Enforce EAB tokens per ACME directory context like accounts

 - Do not allow an EAB from one ACME directory to be used
   in another.
 - Rework the ACME directory function to simply get the path from the request instead of parsing out the role/issuer name.
 - Add some commentary around expectations if operators change issuer names

* Add an EAB certbot integration test

 - Verify with the 3rd party certbot cli that our EAB workflow works as expected.

* Fix unit test

 - Unit test wasn't setting up r.Path within the request
   that we now use to determine the acme directory.
2023-05-30 11:49:01 -04:00
Hamid Ghaf
288399f228
OSS portion of additional DR failover tests (#20842) 2023-05-30 08:41:33 -07:00
Chelsea Shaw
3a02eb30bf
Add 1.14 draft docs and UI known issue (#20665)
* Add 1.14 docs and UI known issue

* Hide navs

* Update language for known issue
2023-05-30 10:20:10 -05:00
Steven Clark
12d851de37
Only accept challenges on payload is {}, not "" (#20843)
- "" represents a POST-as-GET request which should just
   return the challenge object and not accept it.
 - "{}" as a payload will accept the challenge.
2023-05-30 11:03:12 -04:00
Steven Clark
7cf3ba33b5
ACME behavior changes - ExtKeyUsage verification and issuer leaf_not_after (#20835)
* ACME override issuer's leaf_not_after_behavior to truncate

 - To provide a better ACME experience as we don't allow clients to specify TTL times, we will override the issuer's leaf_not_after_behavior setting to 'truncate' if set to the default of 'err' and issue the certificate truncated to the issuer's NotAfter time.

* Only allow ServerAuth ExtKeyUsage from ACME certificates

 - Add an enforcement to ACME issued certificates that the only ExtKeyUsage we currently allow is the ServerAuth usage.

* Force ServerAuth as the ExtKeyUsage in ACME roles

 - Override a role's values related to ExtKeyUsage when
   running in ACME mode to only return the ServerAuth usage.
 - We do this as the majority of roles out there will most likely have the ClientAuth set to true which will cause friction using ACME.
2023-05-30 11:02:12 -04:00
Alexander Scheel
54685189eb
Add initial ACME API documentation (#20752)
* Add initial ACME API documentation

Signed-off-by: Alexander Scheel <alex.scheel@hashicorp.com>

* Add note about required headers

The required header `Cache-Control: no-store` is automatically set by
Vault in wrapGenericHandler(...).

Signed-off-by: Alexander Scheel <alex.scheel@hashicorp.com>

* Add changelog entry

Signed-off-by: Alexander Scheel <alex.scheel@hashicorp.com>

* Documentation typo fixes

Signed-off-by: Alexander Scheel <alex.scheel@hashicorp.com>

* Clarify that account binding is to Vault, directories unauthenticated

Signed-off-by: Alexander Scheel <alex.scheel@hashicorp.com>

---------

Signed-off-by: Alexander Scheel <alex.scheel@hashicorp.com>
Co-authored-by: Steven Clark <steven.clark@hashicorp.com>
2023-05-30 11:01:12 -04:00
Steven Clark
34571d4d23
Enforce PKI cluster local 'path' argument is set when enabling ACME (#20838)
* Fix error handling in ACME

 - If we don't match a specific ACME error, use ErrServerInternal instead of the last error type from the internal map
 - Logger parameters need two params

* Enforce cluster local path is set when enabling ACME

* Add a warning on ACME config read api if enabled but path not set

 - This might help expose that the local path configuration on a secondary cluster was not set which would prevent ACME from running.
2023-05-30 11:00:50 -04:00
Alexander Scheel
bd4d7269dd
Better transit import export semantics (#20814)
* Allow public keys to be always exported

Signed-off-by: Alexander Scheel <alex.scheel@hashicorp.com>

* Simplify import key version semantics

Signed-off-by: Alexander Scheel <alex.scheel@hashicorp.com>

* Add tests for updated ImportVersion semantics

Signed-off-by: Alexander Scheel <alex.scheel@hashicorp.com>

* Fix handling of RSA private key pairs

Signed-off-by: Alexander Scheel <alex.scheel@hashicorp.com>

---------

Signed-off-by: Alexander Scheel <alex.scheel@hashicorp.com>
2023-05-30 10:57:51 -04:00
Nick Cabatoff
3b5ca69b62
Remove feature toggle for SSCTs, VAULT_DISABLE_SERVER_SIDE_CONSISTENT_TOKENS (#20834) 2023-05-29 12:54:20 -04:00
Nick Cabatoff
6157b5ffcb
Skip Aerospike test on 32-bits, warn users it's unsupported. (#20825) 2023-05-29 16:30:54 +00:00
Nick Cabatoff
c67242463c
Revert #19676, we decided this was unnecessary. (#20826) 2023-05-29 14:30:34 +00:00
Violet Hynes
4d57b23d13
Update development version to 1.15 (#20820) 2023-05-29 09:41:00 -04:00
Angel Garbarino
c4198a32d5
Filter Auth methods by name or type (#20747)
* glimmerize controller

* search selects added and working

* add test and cleanup disable

* small fix on name filtering

* add changelog

* Add comment about individualized names

* Update methods.js

remove spaces
2023-05-26 16:07:36 +00:00
Violet Hynes
d7012c97f5
Update Vault Proxy changelog to use the new feature format (#20811) 2023-05-26 11:56:20 -04:00
Thy Ton
0c7a3c0300
update API docs for kubernetes secrets engine (#20726)
Co-authored-by: Tom Proctor <tomhjp@users.noreply.github.com>
2023-05-26 07:38:22 -07:00
Alexander Scheel
bb5249aad0
Increase retry limit on dnstest/server.go (#20810)
Signed-off-by: Alexander Scheel <alex.scheel@hashicorp.com>
2023-05-26 14:33:21 +00:00
Violet Hynes
cb7531d3e1
Update auth/api submodules to new API version (#20809)
* Update auth/api submodules to new API version

* Update auth/api submodules to new API version
api/auth/kubernetes/v0.4.1 api/auth/aws/v0.4.1 api/auth/approle/v0.4.1 api/auth/gcp/v0.4.1 api/auth/ldap/v0.4.1 api/auth/userpass/v0.4.1 api/auth/azure/v0.4.1
2023-05-26 14:06:31 +00:00
Max Coulombe
681ae20fac
Updated snowflake plugin to v0.8.0 (#20807)
* updated snowflake plugin to v0.8.0
2023-05-26 09:48:25 -04:00
Violet Hynes
8f9bcaf97d
Update SDK and API for 1.14 release (#20808) 2023-05-26 09:34:58 -04:00
Ben Ash
262bdc067f
Update VSO API reference docs for v0.1.0-beta.1 (#20801)
Co-authored-by: Kyle Schochenmaier <kschoche@gmail.com>
api/v1.9.2 sdk/v0.9.1
2023-05-25 20:31:45 -04:00
John-Michael Faircloth
71de665fd6
update secrets/kubernetes and auth/kubernetes plugin versions (#20802)
* update secrets/kubernetes and auth/kubernetes plugin versions

* add changelog
2023-05-25 18:54:45 -05:00