Skip to content
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

Automatically configure an OIDC provider on major public clouds (AWS, Azure, GCP) #21176

Closed
3 tasks
l0rd opened this issue Feb 17, 2022 · 7 comments
Closed
3 tasks
Labels
area/install Issues related to installation, including offline/air gap and initial setup area/security kind/enhancement A feature request - must adhere to the feature request template. kind/epic A long-lived, PM-driven feature request. Must include a checklist of items that must be completed. roadmap/6-months Epics that are planned to complete in the medium term (within 6 months)

Comments

@l0rd
Copy link
Contributor

l0rd commented Feb 17, 2022

Is your enhancement related to a problem? Please describe

Previous to Che v7.42, Che deployment included Keyloak on any platform.

With v7.42 we switched to use Kubernetes for authorization (a Che user is a Kubernetes user) but users have to manually configure their Kubernetes cluster to use an OIDC provider (except for minikube and OpenShift).

Describe the solution you'd like

We should support an automatic OIDC provider setup for a Kubernetes cluster deployed on the 3 major cloud vendors:

  • AWS
  • Azure
  • Google Cloud Platform

Describe alternatives you've considered

No response

Additional context

When a git service is setup the OIDC provider should be configured to use the git service as an identity provider (c.f. #20583)

@l0rd l0rd added kind/enhancement A feature request - must adhere to the feature request template. area/security kind/epic A long-lived, PM-driven feature request. Must include a checklist of items that must be completed. roadmap/6-months Epics that are planned to complete in the medium term (within 6 months) labels Feb 17, 2022
@che-bot che-bot added the status/need-triage An issue that needs to be prioritized by the curator responsible for the triage. See https://github. label Feb 17, 2022
@l0rd l0rd removed the status/need-triage An issue that needs to be prioritized by the curator responsible for the triage. See https://github. label Feb 17, 2022
@cristian-radu
Copy link

Could you please support custom OIDC provider configuration as well?

We deployed Eclipse Che over 1 year ago now, when Keycloack was the authentication provider being used. We chose to deploy an external instance of Keycloack that we manage ourselves and we have tied it to other components of our platform as well.

Since the Eclipse Che Helm charts have been deprecated, we are migrating to managing our installation using the che-operator instead.

The che-operator deploys a hardcoded oauth2-proxy configuration which does not work with Keycloak.

https://oauth2-proxy.github.io/oauth2-proxy/docs/configuration/oauth_provider#keycloak-oidc-auth-provider

Due to the plethora of authentication providers out there, my feeling is that a custom oauth2-proxy configuration is more appropriate rather than making assumptions as to what users may have and or want to use.

@l0rd
Copy link
Contributor Author

l0rd commented Mar 7, 2022

@cristian-radu custom OIDC providers, including Keycloak, should be supported. Can you please help us with more details about what are the problems with current OAuth2 proxy configuration? How could we make it work with Keycloak?

@cristian-radu
Copy link

@l0rd My issue was around the fact that the oauth2-proxy checks for the presence of the email_verified claim by default. In my case, the Keycloak users are federated from LDAP so it does not make too much sense to me to add this claim, but I did it anyway. So now I have Keycloak sending email_verified = true which resolved my issue without changing the proxy configuration.

However, I still think it is valuable to users to be able to change the configuration of the oauth2-proxy. Maybe the operator can just deploy a working default config and have some mechanism by which it will ignore config changes made by the user. That to me sounds like a good middle-ground as opposed to enforcing a hardcoded config.

For example, I'm not too happy about having insecure_oidc_skip_issuer_verification = true and ssl_insecure_skip_verify = true. I would rather have a specific email_domains list rather than a wildcard. Would also like to be able to specify which LDAP groups are allowed to authenticate against Che rather than allowing all.

@che-bot
Copy link
Contributor

che-bot commented Sep 11, 2022

Issues go stale after 180 days of inactivity. lifecycle/stale issues rot after an additional 7 days of inactivity and eventually close.

Mark the issue as fresh with /remove-lifecycle stale in a new comment.

If this issue is safe to close now please do so.

Moderators: Add lifecycle/frozen label to avoid stale mode.

@che-bot che-bot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Sep 11, 2022
@che-bot che-bot closed this as completed Sep 18, 2022
@l0rd l0rd reopened this Dec 9, 2022
@l0rd l0rd removed the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Dec 9, 2022
@tolusha tolusha added the area/install Issues related to installation, including offline/air gap and initial setup label Apr 19, 2023
@che-bot
Copy link
Contributor

che-bot commented Oct 16, 2023

Issues go stale after 180 days of inactivity. lifecycle/stale issues rot after an additional 7 days of inactivity and eventually close.

Mark the issue as fresh with /remove-lifecycle stale in a new comment.

If this issue is safe to close now please do so.

Moderators: Add lifecycle/frozen label to avoid stale mode.

@che-bot che-bot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Oct 16, 2023
@l0rd l0rd removed the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Oct 16, 2023
@l0rd
Copy link
Contributor Author

l0rd commented Oct 16, 2023

/remove-lifecycle stale

@tolusha
Copy link
Contributor

tolusha commented Mar 25, 2024

Closed in favor of #22392

@tolusha tolusha closed this as completed Mar 25, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/install Issues related to installation, including offline/air gap and initial setup area/security kind/enhancement A feature request - must adhere to the feature request template. kind/epic A long-lived, PM-driven feature request. Must include a checklist of items that must be completed. roadmap/6-months Epics that are planned to complete in the medium term (within 6 months)
Projects
None yet
Development

No branches or pull requests

4 participants