985 Commits

Author SHA1 Message Date
Vault Automation
0c6c13dd38
license: update headers to IBM Corp. (#10229) (#10233)
* license: update headers to IBM Corp.
* `make proto`
* update offset because source file changed

Signed-off-by: Ryan Cragun <me@ryan.ec>
Co-authored-by: Ryan Cragun <me@ryan.ec>
2025-10-21 15:20:20 -06:00
Vault Automation
8d07273d14
fix: cache aws auth client by account id (#9981) (#10107)
* fix aws auth client cache to use accound ID

* return error if no sts config found

* cache ec2 clients by account ID, region, and role

* add changelog

* fix log syntax

Co-authored-by: John-Michael Faircloth <fairclothjm@users.noreply.github.com>
2025-10-21 12:24:59 -07:00
Vault Automation
f66dc5a921
Avoid poisoning the trusted certificate cache on error (#9457) (#9496)
The code that loads the trusted certificate cache for cert-based
authentication ignores any error that occurs while attempting to load
any of the certificates that it finds. Undoubtedly some deployments
have broken certificates or other non-certificate files stored in
their respective back-ends, and so this is important behavior: we
don't want to fail authentication just because `README.md` is not a
valid certificate!

In addition, because listing files and loading certificates is
expensive, the server maintains a cache of trusted certificates. This
cache is populated the first time it's needed, and then used for the
lifetime of the process. If a file fails to load as a certificate,
then it is simply not included in the cache.

These two things lead to a problem when using a backend that might be
subject to transient failures: a hiccough in the certificate loading
process can cause the server to establish a cache that is missing an
otherwise valid certificate. This can then lead to clients failing to
authenticate to the server, until such time as the server is restarted
and the cache reloaded.

This change makes the certificate cache more resilient to loading
failures, by caching partial successes. With this patch, the cache
behavior becomes:

- If the cache exists *and* is either complete or it is not yet time
  to attempt to reload the certificates, then the cached results are
  used without reservation.

- Otherwise we attempt to load the certificates from storage:

  - If the cache does not already exist then a new, empty cache is
    created.

  - The storage is listed, we attempt to load everything in storage,
    skipping things that we have already successfully loaded, and
    skipping things that we cannot load, as usual.

  - Once we have attempted to load everything from storage, if there
    were any errors, we compute a deadline for retrying the load, with
    an exponentially increasing delay. If there were no errors, then
    the cache is considered complete, and there will be no retry.

This has the nice behavior that we recover from transient failures
eventually, while the exponential back-off ensures that we don't waste
too much time attempting to load certificates that can never be
loaded.

Co-authored-by: John Doty <john.doty@databricks.com>
Co-authored-by: Steven Clark <steven.clark@hashicorp.com>
2025-09-19 19:55:37 +00:00
Vault Automation
41e73968b7
Add O= restrictions in addition to OU= restrictions to cert/auth (#9343) (#9465)
* Add O= restrictions in addition to OU= restrictions

* Add changelog

* Add goDoc to test

* Don't let test certificate expire.

Co-authored-by: Kit Haines <khaines@mit.edu>
2025-09-19 12:49:35 -04:00
Vault Automation
a82cff4c96
Copy improve auth/ldap TestRotateRootWithRotationUrl test case into main (#9048) (#9260)
* improve auth/ldap TestRotateRootWithRotationUrl test case

* add const

* Update path_config_rotate_root_test.go

* Backport VAULT-34830: enable the new workflow into ce/main (#8681)

* VAULT-34830: enable the new workflow (#8661)

* pipeline: various fixes for the cutover to the enterprise first workflow (#8686)

Various small fixes that were discovered when doing the cutover to the enterprise first merge workflow:

- The `actions-docker-build` action infers enterprise metadata magically from the repository name. Use a branch that allows configuring the repo name until it's merged upstream.
- Fix some CE-In-Enterprise outputs in our metadata job.
- Pass the recurse depth flag correctly when creating backports
- Set the package name when calling the `build-vault` composite action
- Disallow merging changes into `main` and `release/*` when executing in the `hashicorp/vault` repository. This is a hack until PSS-909 is resolved.
- Use self-hosted runners when testing arm64 CE containers in enterprise.



 Conflicts:
	.github/workflows/backport-automation-ent.yml
	.github/workflows/test-run-enos-scenario-containers.yml

---------



* remove file that slipped in during the backport but before the changed file checks (#8706)



* UI: Creating Metadata card for configuration page (#8679) (#8709)

* card setup

* updating to pass in vals

* remove test usage



* actions(metadata): fix metadata version for ce (#8713) (#8714)




* Add support for AES-CBC to transit (#8367) (#8741)

* add key types and encryption for cbc

* add decryption

* start adding tests

* add tests for policy functions

* add convergent case

* add enterprise check and key creation test cases

* fix key generation and add import/export

* add tests and fixes

* add changelog

* linter

* refactor policy functions and fix IV

* add ce change

* fix function calls

* fix factories in function call

* fix IV test case

* test fixes

* add cbc keys to read

* change iv

* fix merge errors

* make fmt

* change error name and add iv error

* fix tests



* UI: Create version card (#8710) (#8744)

* setup version card

* folder restructure

* Adding todos, removing test



* [VAULT-38605] Add self-enrollment option to the TOTP Login MFA method (#8711) (#8731)



* [VAULT-38601] Modify response to MFA enforced requests to enable TOTP self-enrollment (#8723) (#8746)



* Fix token creation in a namespace (#8461) (#8747)

* fix and test for token creation in namespace

* add changelog

* add nil check

* change existing test to work with change

* fix imports

* add error and more specificity in changelog



* enos(sample): don't double sample (#8752) (#8770)

* enos: remove double sample observe
* ci(build): fix notification on artifacts build failure




* changelog: add hash link to changes that originate from enterprise (#8745) (#8775)




* pipeline(backport): use --strategy-option=theirs (#8767) (#8780)




* VAULT-37630: Recover as a copy (#8640) (#8798)

* recover as a copy implementation

* get policy tests passing

* add helpers and testing support

* fixes

* revert a couple of changes

* more tests

* switch to query param

* correctly update source path with the namespace

* only add openapi recover source path if there's a path parameter

* add changelog

* check for no mount in path



* [UI] VAULT-37386 Plugin management: General Settings Route + Templates (#8726) (#8801)

* Move components and routes over to new PR

* Move components to secrets-engine folder

* Use native FormData

* Update params that are passed in

* Add loading state

* Add comments

* Update jsdoc description

* Remove unused action

* Remove debugger

* Fix linting errors

* Add version card component and fix merge conflict issues



* VAULT-38193 Add database observations to Vault (#8727) (#8802)

* VAULT-38193 database observations (WIP)

* VAULT-38193 database observations

* nil check

* make it consistent

* Clean up



* update vault-plugin-secrets-openldap to v0.16.1 (#8820) (#8821)

* update vault-plugin-secrets-openldap to v0.16.1

* changelog



* VAULT-39129: Updating enos tutorial scenario link (#8831) (#8835)



* [VAULT-39153] pipeline(backport): remove docs and pipeline from allowed ce inactive (#8819) (#8842)

Docs have been moved since the tool was written so that exclusion is no
longer needed. Since the defaults were added the `pipeline` group has
expanded to include all `.github`, which we don't want to always
backport. It seems unlike that `pipeline` tooling changes are likely to
be required often on inactive branches so we'll exclude all together for
now.




* [VAULT-39157] enos(cloud): add basic vault cloud scenario (#8828) (#8847)

* [VAULT-39157] enos(cloud): add basic vault cloud scenario

Add the skeleton of a Vault Cloud scenario whereby we create an HCP
network, Vault Cloud cluster, and admin token.

In subsequent PR's we'll wire up building images, waiting on builds, and
ultimately fully testing the resulting image.



* copywrite: add headers



---------




* Upgrade to CRT schema 2 to fix crt-report-dispatch event (#8572) (#8809)



* api/client: support setting extra headers with new logical request interface. (#8808) (#8858)



* [VAULT-39208]: actions: update action pins (#8864) (#8865)




* UI: Create Lease Duration card component + style updates (#8815) (#8870)

* updating components to use hds flex, removing custom css

* creating layout, updating fields to use select instead of dropdown

* conditional render, remove commented code

* adding external link

* update handlers and style

* updating general settings layout so TTL doesnt stretch other cards

* typo



* [UI] Cubbyhole List View Bug (#8859) (#8871)

* fixes issue with cubbyhole list view throwing error in child namespace

* updates to use engineType prop



* Disallow writing of barrier keyring if seals aren't healthy (#8707) (#8885)

* Set the full rewrap context for barrier keyring writes

* Retain some logging at Trace but get rid of the overall context pattern.
Apply correct ctx transform

* changelog

* remove logger

* here too

* remove other unnecessary changes



* VAULT-38888 Add prefix vault to metric summary definitions into main (#8725) (#8892)

* VAULT-38888 Add prefix vault to metric summary definitions

* VAULT-38888 Add changelog for fix

* Edit changelog file name

---------



* [VAULT-39235]: pipeline(changed-files): don't group underscore prefixed changelogs as enterprise only files (#8906) (#8934)

Don't categorize changelog files that begin with an underscore as
enterprise only, otherwise they'll be removed when backporting changes
to CE.

Since we want to include links to commit SHAs in the changelog we have
to create the changelog in the context of CE and thus need to backport
all of those changes.

We also fix a few Go tests that hand not been updated to handle the
updated default inactive CE groups.




* VAULT-39010 Adding new go-discover logic (#8884) (#8931)

* testing new go-discover logic

* add changelog

* Delete website/content/partials/known-issues/aws-auto-join-fails.mdx



* Backport bump go-getter to 1.7.9 into ce/main (#8926)

* bump go-getter to 1.7.9 (#8899)

* bump go-getter to 1.7.9

* add changelog

* go mod tidy



---------





* VAULT-38463: Addressing ldap pipeline failure (#8817) (#8911)

* VAULT-38463: Addressing ldap pipeline failure

* testing ldap tests

* testing ldap tests

* debugging ldap issue

* testing pipeline

* testing pipeline

* testing pipeline

* testing pipeline

* testing pipeline

* testing pipeline

* testing pipeline

* debugging ldap failure

* debugging ldap failure

* debugging pipeline

* adding dependency for verify secrets

* removing extra code

* undo changes

* undo changes



* Backport [VAULT-38910]: upgrade docker package to resolve GO-2025-3829 into ce/main (#8875)

* [VAULT-38910]upgrade docker package to resolve GO-2025-3829 (#8642)

* bump github.com/hashicorp/go-secure-stdlib/plugincontainer to v0.4.2
* bump github.com/docker/docker to v28.3.3+incompatible



* go mod tidy



---------




* manually copy over missing changelogs for main (#8956)

* Improve error messages in TestRotateRootWithRotationUrl for BindDN and URL checks

* Use bitnamilegacy cassandra image for tests (#8984) (#8985)

* use default cassandra image for tests

* switch to bitnamilegacy



* [VAULT-39237] actions(generate-changelog) generate changelogs in ce for active ce versions (#8973) (#8976)

Update our changelog generator to dynamically decide which repository
context that it should use when generating the changelog. If the version
given corresponds to an active CE branch then we generate the changelog
in the context of `hashicorp/vault` with the `note-ce.md` template. If
the version corresponds to an enterprise only branch we generate the
changelog in the context of `hashicorp/vault-enterprise` with the
`note-ent.md` template.

The reason we do all of this is so that we can add commit links to
changelogs that for changes that are actually in community editions.




* UI: Moving settings/mount-backend-form to secrets/mounts (#8975) (#8998)

* adding route and replacing old route usage

* adding comments

* updating secrets tests to new route



* Update CHANGELOG.md for 1.20.3 1.19.9 1.18.14 and 1.16.25 (#31527)

* changelog: fix commit URL in CE generated template (#9010) (#9013)




* VAULT-38463: Fix ldap failure (#8996) (#9001)



* Backport [VAULT-38600] Fix the name of the CE stub for mfaLoginEnterprisePaths into ce/main (#9021)



* Update CHANGELOG.md (#31528)

added "Enterprise" to 1.19, 1.18 and 1.16 minor releases

* VAULT-38796, VAULT-38889 reformat observation schema to version 2 (#9006) (#9023)



* [VAULT-39267] actions(slack): migrate to v2 action (#8964) (#8990)




* VAULT-37633: Database static role recover operations (#8922) (#8982)

* initial implementation

* fix

* tests

* changelog

* fix vet errors

* pr comments



* [VAULT-38600] Create TOTP Login MFA credential self-enrollment API endpoint (#8970) (#8999)



* VAULT-36947: Support force unloading a snapshot (#8740) (#9036)

* portion of changes for autoloading

* add test checking for panic

* add endpoint for force unloading

* separate method for force unload

* changelog

* don't redefine constants



* VAULT-39294: Deprecate recover_snapshot_id query param and use a header instead (#8834) (#9042)

* deprecate snapshot query params, use a header instead

* keep read query param, but deprecate recover one

* fix test

* remove list change

* add changelog

* rename header, allow request method

* update changelog



* VAULT-37632 allow restoring SSH CA from loaded snapshot (#8581) (#9034)

* allow restoring ssh config/ca

* add some unit tests

* address PR review

* imports and test upgrades

* linter complaints

* add PR comment and linter fixes

* address review



* Revert "Merge https://github.com/hashicorp/vault/pull/31503 into main"

This reverts commit 6f2ffcf64cd6a01cdbf685db296053adb428e26b, reversing
changes made to 681d1d5c7a2298a8b5dd403554dec2e98c3ce971.

* Update path_config_rotate_root_test.go

---------

Signed-off-by: Ryan Cragun <me@ryan.ec>
Co-authored-by: Ryan Cragun <me@ryan.ec>
Co-authored-by: jadeidev <32917209+jadeidev@users.noreply.github.com>
Co-authored-by: Dan Rivera <dan.rivera@hashicorp.com>
Co-authored-by: Rachel Culpepper <84159930+rculpepper@users.noreply.github.com>
Co-authored-by: Kuba Wieczorek <kuba.wieczorek@hashicorp.com>
Co-authored-by: miagilepner <mia.epner@hashicorp.com>
Co-authored-by: Kianna <30884335+kiannaquach@users.noreply.github.com>
Co-authored-by: Violet Hynes <violet.hynes@hashicorp.com>
Co-authored-by: John-Michael Faircloth <fairclothjm@users.noreply.github.com>
Co-authored-by: Tin Vo <tintvo08@gmail.com>
Co-authored-by: james-warren0 <95658341+james-warren0@users.noreply.github.com>
Co-authored-by: Ben Ash <32777270+benashz@users.noreply.github.com>
Co-authored-by: Jordan Reimer <zofskeez@gmail.com>
Co-authored-by: Scott Miller <smiller@hashicorp.com>
Co-authored-by: roh-ag <rohit.agrawal@hashicorp.com>
Co-authored-by: JMGoldsmith <spartanaudio@gmail.com>
Co-authored-by: Josh Black <raskchanky@gmail.com>
Co-authored-by: Luciano Di Lalla <88449051+ldilalla-HC@users.noreply.github.com>
Co-authored-by: Robert <17119716+robmonte@users.noreply.github.com>
Co-authored-by: Bruno Oliveira de Souza <bruno.souza@hashicorp.com>
2025-09-10 18:31:51 -05:00
Vault Automation
a70bc7c3cf
Backport Fix cert auth role quotas into ce/main (#9246) 2025-09-10 16:55:10 +00:00
Vault Automation
ba4b639445
CE backport: Rename token_auth_metadata to alias_metadata (#9237)
Co-authored-by: Steven Clark <steven.clark@hashicorp.com>
2025-09-10 08:57:18 -04:00
Jade
d79813a4af
Add password rotation url to ldap auth (#31363)
* add rotation URL field

* add docs

* add test

* fix: correct variable name for root rotation URL in rotateRootCredential function

* fix: ensure proper formatting in TestRotateRootWithRotationUrl function

* fix: improve error handling in TestRotateRootWithRotationUrl for invalid rotation URL

* feat: add rotation URL support to LDAP credential configuration

* test: enhance validation in TestRotateRootWithRotationUrl for rotation URL effects

* Update path_config_rotate_root_test.go

* add changelog and update test docs

* Update ldap.mdx
2025-08-14 14:36:13 -05:00
kpcraig
36d873aae2
Log LDAP Rotations (#31401) 2025-08-08 11:56:54 -04:00
Ben Ash
e2273dbd77
auth/ldap: ensure consistent entity aliasing when set from the username (#31427)
[ent: a552ac1e80e3d334673c59a5bb825082cd56b1bf]
2025-08-05 19:14:15 +00:00
Victor Rodriguez
32e3ecbf83
Add hooks for enterprise token auth metadata feature. (#31391) 2025-08-05 12:32:48 -04:00
mickael-hc
881febbf98
update alias lookahead to respect case (#31352)
* userpass is not case sensitive
* ldap is case sensitive when it is configured that way

---------

Co-authored-by: Ben Ash <bash@hashicorp.com>
2025-07-23 16:28:05 +00:00
mickael-hc
1d60673802
update dummy string (#31342) 2025-07-21 11:52:48 -07:00
mickael-hc
9190485ef6
auth/userpass: update dummy string generation (#31318) 2025-07-18 11:14:17 -04:00
mickael-hc
cb5546ccfe
auth/userpass: update dummy string (#31240) 2025-07-10 14:38:10 -04:00
Scott Miller
c72f9014b7
Test cert equality when matching a non-CA certificate (#31210)
* Test cert equality when matching a non-CA certificate

* changelog
2025-07-07 10:49:27 -05:00
Kuba Wieczorek
0e11fbfe59
[VAULT-21456] Use interned regexp when initialising backends and validating authz headers in the AWS backend (#31022) 2025-06-20 17:33:28 +00:00
co63oc
c95f3cb47f
Fix (#29797)
Co-authored-by: Violet Hynes <violet.hynes@hashicorp.com>
2025-04-08 14:00:08 -04:00
Ryan Cragun
95b2d86870
ldap: pin test container to latest working version (#30148)
The test container that we use for many LDAP tests recently merged a
breaking change: https://github.com/rroemhild/docker-test-openldap/issues/62

Add support for using containers via references with digests and pin to the latest
version that worked. We can unpin later if so desired.

Signed-off-by: Ryan Cragun <me@ryan.ec>
2025-04-01 22:24:15 +00:00
cui fliter
31f8c8cab7
fix: Fix problematic error returns (#29883)
Signed-off-by: cuishuang <imcusg@gmail.com>
2025-04-01 16:08:17 -04:00
vinay-gopalan
d16b0beee3
Forward Performance Standby requests when configuring root credentials for AWS, LDAP and DB engines (#30039) 2025-03-27 14:32:49 -07:00
Amir Aslamov
fb6c833eb5
check for case sensitivity at delete for user and group paths, modify… (#29922)
* check for case sensitivity at delete for user and group paths, modify tests to cover proper deletions

* add changelog
2025-03-14 12:14:33 -04:00
Ryan Cragun
69646127df
fmt: check gosimports during pre-commit hooks (#29520)
`gosimports` is the preferred style for module imports and it is
enforced via CI. I've found that things often manage to drift so I've
taken the liberty to update our pre-commit hook to verify our imports
formatting before a change is committed.

Along with updating the formatting helper I've also run `make fmt` to
resolve any formatting drift that managed to make it into the codebase.

Signed-off-by: Ryan Cragun <me@ryan.ec>
2025-02-27 15:56:34 -07:00
vinay-gopalan
6a9de17ac4
move logs into if block (#29634) 2025-02-13 22:56:22 +00:00
kpcraig
db0d911683
Add support code for auth/ldap root autorotation (#29535)
---------

Co-authored-by: Sarah Chavis <62406755+schavis@users.noreply.github.com>
2025-02-13 16:06:47 -05:00
vinay-gopalan
9e38a88883
Add automated root rotation support to DB Secrets (#29557) 2025-02-11 12:09:26 -08:00
vinay-gopalan
9b70487623
Automated rotate root support for AWS Auth and Secrets (#29497) 2025-02-10 18:36:44 -05:00
Michael Blaum
f18801693b
Vault 27392 log ldap warning - remove from warning from response (#29134)
* log ldap warnings instead of returning them to end user

* add cl

* code review

* Update changelog/29134.txt

Co-authored-by: John-Michael Faircloth <fairclothjm@users.noreply.github.com>

* Update changelog/29134.txt

Co-authored-by: John-Michael Faircloth <fairclothjm@users.noreply.github.com>

* fix test

---------

Co-authored-by: John-Michael Faircloth <fairclothjm@users.noreply.github.com>
2025-01-07 16:51:15 -05:00
Steven Clark
d3a91f74c7
Update an expired certificate within the cert-auth test fixtures (#29289)
* Update an expired certificate within the cert-auth test fixtures

* Update additional vault-diagnose tests with an expired cert using pkihelper
2025-01-06 11:11:30 -05:00
Scott Miller
3754c67abf
Enable seal wrapping for approle secret storage (#28703)
* Enable seal wrapping for approle secret storage

* changelog
2024-12-20 13:03:34 -06:00
Scott Miller
86ba0dbdeb
Use go-secure-stdlib's RSA key generator backed by a DRBG (#29020)
* Use DRBG based RSA key generation everywhere

* switch to the conditional generator

* Use DRBG based RSA key generation everywhere

* switch to the conditional generator

* Add an ENV var to disable the DRBG in a pinch

* update go.mod

* Use DRBG based RSA key generation everywhere

* switch to the conditional generator

* Add an ENV var to disable the DRBG in a pinch

* Use DRBG based RSA key generation everywhere

* update go.mod

* fix import

* Remove rsa2 alias, remove test code

* move cryptoutil/rsa.go to sdk

* move imports too

* remove makefile change

* rsa2->rsa

* more rsa2->rsa, remove test code

* fix some overzelous search/replace

* Update to a real tag

* changelog

* copyright

* work around copyright check

* work around copyright check pt2

* bunch of dupe imports

* missing import

* wrong license

* fix go.mod conflict

* missed a spot

* dupe import
2024-12-05 15:39:16 -06:00
Steven Clark
9bf3d115fc
Add an option to allow cert-auth to return metadata about client cert that fails login (#29044)
* Add an option to allow cert-auth to return metadata about client certs that fail login

* Add cl

* Update SPDX header for sdk/logical/response_test.go
2024-11-29 10:22:09 -05:00
Victor Rodriguez
ba969bb14f
Run make fmt. (#29053) 2024-11-28 15:27:17 +00:00
kpcraig
71c2121317
Okta Dep Update (#28121)
Update okta to use v5 sdk instead of v2
---------

Co-authored-by: Theron Voran <tvoran@users.noreply.github.com>
2024-11-26 15:33:45 -05:00
JMGoldsmith
b9d0b7aeb4
VAULT-31525 Remove lowercasing of RADIUS auth. (#28884)
* remove strings package, add test case, remove lowercasing of username

* adding changelog

* Update changelog/28884.txt

Co-authored-by: John-Michael Faircloth <fairclothjm@users.noreply.github.com>

---------

Co-authored-by: John-Michael Faircloth <fairclothjm@users.noreply.github.com>
2024-11-22 10:25:25 +01:00
JMGoldsmith
3f62ae702b
VAULT-31594 Add debug level logging to the LDAP auth library (#28881)
* initial commit of debug  error handling

* adding changelog
2024-11-18 12:48:59 +01:00
Luis (LT) Carbonell
7c1a83422b
Improve Error Handling for Missing Credentials in AppRole and UserPass (#28441)
* Return invalid credentials for missing login parameters (400 vs 500)

* Add changelog

* Update test
2024-09-23 10:55:20 -04:00
Scott Miller
cda20e39b1
Ferry ocsp_ca_certificates over the OCSP ValidationConf (#28309)
* Ferry ocsp_ca_certificates over the OCSP ValidationConf

* changelog

* First check issuer, then check extraCAS

* Use the correct cert when the signature validation from issuer succeeds

* Validate via extraCas in the cert missing case as well

* dedupe logic

* remove CA test
2024-09-11 09:57:27 -05:00
vinay-gopalan
ec9b675f70
Add OSS stub functions for Self-Managed Static Roles (#28199) 2024-08-29 10:01:01 -07:00
Scott Miller
2d1f692d1e
Increase cert auth role cache max size (#27942) 2024-08-01 13:08:44 -05:00
idnandre
e26c246cbb
chore: fix deprecated ioutil readall (#27823)
Signed-off-by: idnandre <andre@idntimes.com>
2024-07-30 09:18:24 -04:00
Scott Miller
d75aee21b8
Improve trusted cert loading in Certificate Auth (#27902)
* Improve trusted cert loading in Certificate Auth

Currently, cert auth has a cache of certName->trusted certificate data.  This cache is updated lazily on login.  In highly concurrent situations, several logins
of the same cert or more likely, logins not specifying role name may happen simulataneously.  In the status quo, each results in going to storage, fetching the role data
(or all roles!), unmarshalling, and certificate parsing.

This change puts a lock matrix in front of the cache miss scenario, so only one of the logins will load and process the role data.  In addition, we treat
the absent role name specially, caching it separately so that it cannot be flushed by eviction on the role cache.

* changelog

* cleanup
2024-07-29 21:16:08 +00:00
kpcraig
32fdae08d6
pass nil function for auth/aws when no externalID supplied (#27858) 2024-07-26 14:55:04 -04:00
Rémi Lapeyre
f8eb0154d4
Fix case handling in policyutil.EquivalentPolicies() (#16484)
The previous logic would consider not normalize casing before comparing
the policy names which meant that a token associated to a policy with
an uppercase could not be renewed for the following auth methods:

  - AppID
  - Cert
  - GitHub
  - LDAP
  - Okta
  - Radius
  - Userpass

Co-authored-by: Violet Hynes <violet.hynes@hashicorp.com>
2024-05-31 09:58:03 -04:00
Steven Clark
2c3b41c688
Address cert auth error message logic error (#27202)
- Cert auth had a logic error when crafting the error response when
   configured with a leaf certificate to validate against. It would
   generate an error response that used a nil error.
 - Make the cert auth error messages the same when we fail to match
   constraints
2024-05-24 15:31:56 -04:00
Milena Zlaticanin
bdc16c396b
Add WIF support for AWS Auth (#26507)
* Add wif support

* update cli + add stubs

* revert cli changes + add changelog

* update with suggestions
2024-05-09 16:14:09 -07:00
kpcraig
bef178b4a5
Add ExternalID support to AWS Auth STS configuration (#26628)
* add basic external id support to aws auth sts configuration

---------

Co-authored-by: Sarah Chavis <62406755+schavis@users.noreply.github.com>
2024-05-07 11:10:57 -04:00
Isabelle Kraemer
b4a2e40124
adding private DNS name as EC2 metadata (#25418)
add instance dns name as inferred_hostname metadata field

Co-authored-by: kpcraig <3031348+kpcraig@users.noreply.github.com>
2024-05-01 12:45:22 -04:00
thegatsbylofiexperience
5b845c83ff
Add canonicalArn as a entity alias name (#22460)
* Add canonicalArn as a entity alias name
* Add Canonical Arn to iam_alias documentation
2024-04-29 15:56:26 -04:00
John-Michael Faircloth
f2b5290bc1
ldap/auth: add tests for login regressions (#26327)
* ldap/auth: add tests for login regressions

Add tests to cover the regressions reported in
- https://github.com/hashicorp/vault/issues/26171
- https://github.com/hashicorp/vault/issues/26183

* fix tests; update image tag
2024-04-10 17:39:30 +00:00