[EPIC] SSO access to all clusters #2473
Labels
needs/refinement
Needs refinement in order to be actionable
team/bigmac
Team BigMac
team/shield
Team Shield
topic/capi
related #1432
Goal
We want to enable access to all our clusters (MC and WC) and applications (happa, grafana etc) using OIDC. As an access method for engineers interacting with clusters it has a lot of advantages. For example
Current state
We run
dex-operator
on each MC. The operator reconciles instances ofdex-app
. This includes the dex-app used to access the MC itself but also dex-app installed on workload clusters associated with the MC.For each reconciled dex-app, the operator automatically creates connectors for the identity providers which are configured for the MC. Currently supported identity providers are
azure ad
andgithub
.The operator supports this for
giantswarm
andcustomer
connectors. However, currently we do not use it for customers yet.Every MC has dex configured but only a few WCs do. This means that we have automated SSO for giantswarm staff to all MCs via
github
andazure ad
as well as the same access to a few WCs that have dex installed.This is an old sketch of dex-operator (before it was implemented, so the design likely changed.)
Credentials for dex-operator are created/renewed via
opsctl create dexconfig
at the moment.Desired state
We want automatic setup of SSO access to all clusters.
Right now, to enable OIDC access to a workload cluster, api server flags need to be configured. Also, RBAC configuration needs to be present. Furthermore,
dex-app
,athena
,cert-manager
,nginx-ingress-controller
need to be installed.We should be able to achieve all of these things via default app configuration.
OIDC access to management clusters is almost fully automated. However, we should improve it by integrating creation/renewal of dex-operator credentials into the bootstrap process.
make workload cluster sso the default for giant swarm staff
improve sso setup
make workload cluster sso the default for customers
The text was updated successfully, but these errors were encountered: