Skip to content

Eliminate admin credentials from operator client registration #410

Description

@Alan-Cha

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

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

No type

Projects

Status
In progress

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions