-
Feature
-
Resolution: Done
-
Critical
-
None
-
None
Feature Overview (aka. Goal Summary)
The ability in OpenShift to create trust and directly consume access tokens issued by Multiple external OIDC Authentication Providers
Goals (aka. expected user outcomes)
Ability to configure Multiple IDP similar to upstream with Auth CR and CLI support ONLY
+ Multiple IDP support
+ RBAC should work seamlessly with Users/Groups/Service Accounts
+ Enabling External OAuth with Kube RBAC Proxy should allow customers to leverage authentication configuration on the cluster for authenticating to applications running on the cluster similar to how OpenShift OAuth worked with Oauth-proxy.
+ Abillity to LogOut from Each of the Identity Providers Separately
{}NON- GOALS
- Console Support is targeted for GA
Requirements (aka. Acceptance Criteria):
- All the functionality in Goals should work.
- Customers should be able to configure 2 or more Identity Providers.
- The customer should be able to tie into RBAC functionality as before
- Customers should be able to logout from CLI for individual Identity Provider. Dependency on CLI team.
- Support for HyperShift and Layered products
Use Cases (Optional):
- As a customer, I would like to integrate my OIDC Identity Providers directly with the OpenShift API server. I have Provider1, Keycloak, for SREs and Provider 2, EntraID for normal users
- Users would like to login/logout using CLI
Questions to Answer (Optional):
Include a list of refinement / architectural questions that may need to be answered before coding can begin. Initial completion during Refinement status.
Out of Scope
Console/UI integration
__ *Note: Following is Out of Scope: Testing with All the OIDC Identity Providers in initial release. This will be done over time. We will target EntraID and Keycloak as initial IDP supported.*
Background
Upstream supports Multiple IDP Config.
Upstream Structured Auth:
The configuration file approach allows you to configure multiple JWT authenticators, each with a unique issuer.url and issuer.discoveryURL. The configuration file even allows you to specify CEL expressions to map claims to user attributes, and to validate claims and user information. The API server also automatically reloads the authenticators when the configuration file is modified. You can use apiserver_authentication_config_controller_automatic_reload_last_timestamp_seconds metric to monitor the last time the configuration was reloaded by the API server.
GA for Structured Auth is currently 1.34
Customer Considerations
- Logout mechanism is TBD as this essentially means we need to clear out the token cached for the user.
- Seamless UI and CLI support is essential _ _
Documentation Considerations
Provide information that needs to be considered and planned so that documentation will meet customer needs. Initial completion during Refinement status.
Interoperability Considerations
Which other projects and versions in our portfolio does this feature impact? What interoperability test scenarios should be factored by the layered products? Initial completion during Refinement status.
- clones
-
OCPSTRAT-1804 Bring Your Own External OIDC based Auth provider for direct API Server access [Standalone OCP GA]
-
- In Progress
-
- is cloned by
-
OCPSTRAT-2512 Multiple IDP Support with Bring Your Own External OIDC based Auth provider [GA]
-
- New
-
- links to