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
No fields configured for issues without a type.

Projects

Status
In progress

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions