Single Sign-On
All user-facing tools in this repository — kubectl, Headlamp, Argo CD, Grafana, Prometheus — delegate authentication to Keycloak, implementing [SE01 OpenID Connect Authentication] under the "OIDC only" constraint [CT-005 OpenID Connect only ]. Keycloak itself is organized as a small federation of realms, each with a distinct trust boundary and purpose, rather than a single flat realm holding every client and user.
| Realm | Purpose |
|---|---|
|
Keycloak’s built-in superuser realm. Reserved exclusively for Keycloak administrators managing the Keycloak instance itself (realms, clients, federation links). No application or end-user client is ever registered here, keeping the blast radius of a compromised admin account limited to Keycloak administration. |
|
The organization’s identity-brokering realm. It federates external Identity Providers (e.g. social/enterprise IDPs) so that a person authenticates once against their external identity and that identity is then brokered into the realms below via Keycloak’s Identity Provider linking, instead of every application realm integrating external IDPs individually. |
|
The technical realm for hosting/cluster access. It holds the OIDC clients used to log in to the infrastructure this repository operates — |
|
Application realm for the Torg Codex system. Holds that application’s own clients, roles and group mappings, independent of the |
|
Application realm for the Paladins Inn system. Same purpose as |
- Rationale
-
Splitting realms this way keeps each trust boundary minimal: a
mastercompromise is contained to Keycloak administration; external IDP integration work happens once inkaiserpfalz-edvinstead of being duplicated per application; thek8srealm’s group-to-RBAC mapping (see OIDC Login) is not diluted by unrelated application roles; andtorg-codex/paladins-inncan evolve their own roles and clients without risking accidental privilege overlap with cluster access.
See OIDC Login for the kubectl/Headlamp login flow against the k8s realm, and security for how the keycloak Helm release is deployed.