[Feature] Add service-account administration UI #18

Closed
opened 2026-08-02 04:10:32 +02:00 by zemion · 2 comments
Owner

Context

The service-account API is complete enough for automation, but no WebUI surface exposes listing, creation, scope review, rotation state, or retirement. This is a genuine UI gap identified by the endpoint-surface inventory in GovOPlaN #26.

Acceptance criteria

  • Add a permission-aware Access administration section for service accounts.
  • List account status, bound tenant/scope, provenance, credential state, and last use without exposing secret material.
  • Support create, bounded scope changes, and retirement with confirmation and access explanations.
  • Show generated credentials only at the existing one-time disclosure boundary.
  • Cover unavailable Access combinations, stale revisions, and authorization failures.
  • Update administrator documentation and endpoint-surface declarations.
## Context The service-account API is complete enough for automation, but no WebUI surface exposes listing, creation, scope review, rotation state, or retirement. This is a genuine UI gap identified by the endpoint-surface inventory in GovOPlaN #26. ## Acceptance criteria - Add a permission-aware Access administration section for service accounts. - List account status, bound tenant/scope, provenance, credential state, and last use without exposing secret material. - Support create, bounded scope changes, and retirement with confirmation and access explanations. - Show generated credentials only at the existing one-time disclosure boundary. - Cover unavailable Access combinations, stale revisions, and authorization failures. - Update administrator documentation and endpoint-surface declarations.
Author
Owner

Closure audit (2026-08-03)

The tenant-bounded service-account CRUD API, scope ceilings, provenance fields, optimistic revision checks, retirement behavior, and backend tests are implemented. This issue is not yet closable: there is no Access administration panel, and the API response does not yet aggregate credential state or last use. Service-account creation intentionally creates no credential, while the general API-key endpoint is not an adequate service-account rotation boundary.

Shortest closure path:

  1. Add credential summary fields plus dedicated create/rotate/revoke operations bounded by the service-account scope ceiling and existing one-time secret disclosure.
  2. Add the permission-aware Access administration panel for list/create/edit/suspend/retire and credential rotation.
  3. Cover stale revisions, forbidden scopes, one-time disclosure, unavailable Access composition, docs, and endpoint declarations.
## Closure audit (2026-08-03) The tenant-bounded service-account CRUD API, scope ceilings, provenance fields, optimistic revision checks, retirement behavior, and backend tests are implemented. This issue is **not yet closable**: there is no Access administration panel, and the API response does not yet aggregate credential state or last use. Service-account creation intentionally creates no credential, while the general API-key endpoint is not an adequate service-account rotation boundary. Shortest closure path: 1. Add credential summary fields plus dedicated create/rotate/revoke operations bounded by the service-account scope ceiling and existing one-time secret disclosure. 2. Add the permission-aware Access administration panel for list/create/edit/suspend/retire and credential rotation. 3. Cover stale revisions, forbidden scopes, one-time disclosure, unavailable Access composition, docs, and endpoint declarations.
Author
Owner

Codex State: done

Summary

  • Completed service-account credential lifecycle APIs and administration UI with governed rotation, revocation, and provenance.

Changed Files

  • commit 998d47a

Verification

  • 7 focused Python tests passed; Access WebUI interface test passed; all-module startup smoke passed.
## Codex State: done ### Summary - Completed service-account credential lifecycle APIs and administration UI with governed rotation, revocation, and provenance. ### Changed Files - `commit 998d47a` ### Verification - `7 focused Python tests passed; Access WebUI interface test passed; all-module startup smoke passed.`
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: GovOPlaN/govoplan-access#18