-
Notifications
You must be signed in to change notification settings - Fork 4.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
identity/oidc: Adds default provider, key, and allow_all assignment #14119
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, although I can't help with the perf standby question
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
How would default resources creation work for namespaces on the enterprise side if these are per-namespace? For instance, how would these resources be created when a new namespace is created?
@calvn - See b06e18d where I moved the call to This allows us to write these default resources once per namespace creation. It will require a one line change in Vault enterprise. I tested that it works as expected using namespaces. Also see that the same protection for perf standbys/secondaries is already present in the new location: identity_store.go#L489-L493. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good, thanks for making the adjustments to make namespaces work!
Overview
This PR introduces default resources that seek to decrease the amount of steps it takes to get Vault's OIDC provider configured for simple use cases. With this change, a user can simply configure a Vault auth method + OIDC client and successfully use Vault as an identity provider. The introduction of these resources is not limiting and will still allow users to create more advanced configurations.
Default OIDC Provider
A default OIDC provider will be created per namespace. It will have a minimal configuration that allows all clients to authenticate using it. Users won't be able to delete it, but they'll be able to modify it.
Default Key
A default key will be created per namespace. The key parameter on OIDC clients will be optional and use the key by default. Users won't be able to delete it, but they'll be able to modify it.
Allow All Assignment
An
allow_all
assignment will be created per namespace. This assignment can be associated with a client to allow all Vault entities/groups to authenticate using the client. The assignment parameter will not use this by default, so it's an explicit decision of the user to allow all entities/groups. Users won't be able to modify or delete this assignment.Testing
I've manually tested using these resources with Waypoint as an OIDC client.
Example of simplified usage with Vault and Waypoint: