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

Support additional OIDC configuration with shoot-oidc-service extension #18305

Open
3 tasks
Tracked by #18198
pbochynski opened this issue Oct 16, 2023 · 7 comments
Open
3 tasks
Tracked by #18198
Assignees
Labels
area/cli Related to all activities around CLI area/control-plane Related to all activities around Kyma Control Plane Epic

Comments

@pbochynski
Copy link
Contributor

pbochynski commented Oct 16, 2023

Description
Enable the option to trust the additional identity provider compliant with OpenID. The provider can be registered in the Kyma cluster and kubernetes API server will authenticate tokens that match the provider issuer.
The complete solution should allow to establish the trust during the provisioning so the cluster can be accessed from fully automated processes (without user presence). To accomplish that the following changes are required:

  • enable shoot-oidc-service extension for shoot clusters
  • add possibility to pass the OpenIDConnect resource in the shoot cluster as Kyma instance parameter (KEB)
  • grant permissions to accounts authenticated by new provider by some role and role binding (or use the existing feature of extending administrator list)

Acceptance Criteria

Reasons
Many users request a possibility to deploy software to freshly creaated Kyma clusters in automated way. Changing the default IDP for the cluster is the only solution available for now, but then IDP has to support both human users and service accounts what is usually challenging. With additional OIDC provider it can be used only for system to system authorization and will be much easier to set up.

Links

@pbochynski pbochynski changed the title Support additional OIDC configuration with shoot-oidc-service extension for managed Kyma clusters Support additional OIDC configuration with shoot-oidc-service extension Oct 16, 2023
@maximilianbraun
Copy link

Would love to test it at earliest convinience.

@kyma-bot
Copy link
Contributor

This issue or PR has been automatically marked as stale due to the lack of recent activity.
Thank you for your contributions.

This bot triages issues and PRs according to the following rules:

  • After 60d of inactivity, lifecycle/stale is applied
  • After 7d of inactivity since lifecycle/stale was applied, the issue is closed

You can:

  • Mark this issue or PR as fresh with /remove-lifecycle stale
  • Close this issue or PR with /close

If you think that I work incorrectly, kindly raise an issue with the problem.

/lifecycle stale

@kyma-bot kyma-bot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Dec 16, 2023
@pbochynski pbochynski removed the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Dec 16, 2023
@kwiatekus kwiatekus self-assigned this Jan 10, 2024
@kwiatekus
Copy link
Contributor

kwiatekus commented Jan 12, 2024

The goal would be to allow kyma users to deploy apps (and run tests ) on the provisioned kyma runtimes in the CI jobs .

Execution can be divided into several stages:

@kwiatekus
Copy link
Contributor

OIDC configuration will be included in the gardener provisioning in q2
kyma-project/control-plane#3316 (comment)

Copy link

github-actions bot commented May 4, 2024

This issue has been automatically marked as stale due to the lack of recent activity. It will soon be closed if no further activity occurs.
Thank you for your contributions.

@github-actions github-actions bot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label May 4, 2024
@kwiatekus kwiatekus removed the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label May 6, 2024
@tobiscr tobiscr added area/cli Related to all activities around CLI area/control-plane Related to all activities around Kyma Control Plane labels May 22, 2024
@kwiatekus
Copy link
Contributor

kwiatekus commented May 24, 2024

Kyma Infrastructure Manager (KIM) should apply Operator-Facing OIDC separately from User-facing OIDC(s)

separateOIDC drawio

In order to allow this we need to adjust the interfaces:

  1. User -> Kyma Environment Broker (KEB)
  • User should be able to define multiple OIDCs
  • User should be able to define requiedClaims (key-value pairs)
  1. KEB -> KIM
  • If user provides OIDC(s) KEB populates them as additionalOidcConfigs
  • If user provides no OIDC config KIM defaults the additionalOidcConfigs[0] with the default User-facing OIDC config
  • KIM defaults oidcConfig with Operator-facing OIDC
  1. KIM -> Gardener
  • KIM enables shoot-oidc-service extension in shoot CR
  • KIM defines Operator-facing OIDC explicitely in shoot CR
  1. KIM -> Kyma
  • KIM reconciles authentication.gardener.cloud/v1alpha1/OpenIDConnect objects in kyma based on additionalOidcConfigs
  • KIM reconciles the clusterrolebindings based on administrators it got from KEB
  • KIM ensures clusterrole binding for operators

to avoid unwanted impersonations, we should:

  • ensure prefixes in Operator-facing OIDC (for username and groups)
  • document recommendation about prefixes in user facing documentation

@Disper
Copy link
Member

Disper commented May 29, 2024

Regarding migration from existing shoots to Runtime CRs.

  • oidcConfig <- Populate withoidcConfig
  • additionalOidcConfigs <- Populate as the first entry withoidcConfig

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/cli Related to all activities around CLI area/control-plane Related to all activities around Kyma Control Plane Epic
Projects
None yet
Development

No branches or pull requests

6 participants