Problem
Currently, the operator uses Keycloak admin credentials to register OAuth clients for agents. This has several security issues:
- Admin credentials provide full realm permissions (create/delete users, realms, clients, roles)
- Long-lived credentials requiring manual rotation
- Operator compromise = full realm admin access
- Admin credentials stored as secrets in every agent namespace
Solution
Use the operator's SPIFFE JWT-SVID to authenticate with Keycloak instead of admin credentials.
Implementation
This epic is implemented across two PRs:
Core Implementation
Platform Automation
Benefits
- ✅ Scoped permissions (manage-clients only, not full admin)
- ✅ No credential storage (cryptographic JWT-SVID authentication)
- ✅ Short-lived tokens (1 hour, auto-rotated)
- ✅ Audit trail shows operator SPIFFE ID
Related
Assisted-By: Claude Code
Problem
Currently, the operator uses Keycloak admin credentials to register OAuth clients for agents. This has several security issues:
Solution
Use the operator's SPIFFE JWT-SVID to authenticate with Keycloak instead of admin credentials.
Implementation
This epic is implemented across two PRs:
Core Implementation
keycloak.spiffeAuth.enabled)Platform Automation
ENABLE_OPERATOR_SPIFFE_AUTH=true)Benefits
Related
Assisted-By: Claude Code