docs: document UI role gating for VIEWER/OPERATOR/ADMIN
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
8
HOWTO.md
8
HOWTO.md
@@ -100,12 +100,14 @@ JWTs carry a `roles` claim. Endpoints are restricted by role:
|
||||
| Role | Access |
|
||||
|------|--------|
|
||||
| `AGENT` | Data ingestion (`/data/**` — executions, diagrams, metrics, logs), heartbeat, SSE events, command ack |
|
||||
| `VIEWER` | Search, execution detail, diagrams, agent list |
|
||||
| `OPERATOR` | VIEWER + send commands to agents |
|
||||
| `ADMIN` | OPERATOR + user management (`/admin/**`) |
|
||||
| `VIEWER` | Search, execution detail, diagrams, agent list, app config (read-only) |
|
||||
| `OPERATOR` | VIEWER + send commands to agents, route control, replay, edit app config |
|
||||
| `ADMIN` | OPERATOR + user management, audit log, OIDC config, database admin (`/admin/**`) |
|
||||
|
||||
The env-var local user gets `ADMIN` role. Agents get `AGENT` role at registration.
|
||||
|
||||
**UI role gating:** The sidebar hides the Admin section for non-ADMIN users. Admin routes (`/admin/*`) redirect to `/` for non-admin. The diagram node toolbar and route control bar are hidden for VIEWER. App Config is a main tab (per-app, visible when an app is selected) — VIEWER sees read-only, OPERATOR+ can edit.
|
||||
|
||||
### OIDC Login (Optional)
|
||||
|
||||
OIDC configuration is stored in PostgreSQL and managed via the admin API or UI. The SPA checks if OIDC is available:
|
||||
|
||||
Reference in New Issue
Block a user