audit: record dashboard actions and token lifecycle

Cerrado
#994 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
5/5
Tiempo estimado
Más de una semana
Aptitud para principiantes
30/100
Tipo de issue
Nueva funcionalidad
Claridad
Necesita aclaración
Estado de actividad
Activo
Stack tecnológico
grpc, rust

Línea de trabajo

Start by reading dashboard/auth/middleware.rs, dashboard/auth/gate.rs, and grpc/audit/layer.rs to compare authentication and audit coverage. Trace flexiq-server token create|revoke and the three audit_log backends, then determine whether SDK shells are in scope. Done means the scope, principal attribution, migration impact, and covered state-changing actions are agreed and tested.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

area/server dashboard P2 security

Follow-up to #840 (PR #991).

The audit trail covers token-authorised calls on the gRPC door and its JSON facade. It does not cover changes made from the dashboard: pause a queue, replay or purge dead letters, drain a worker, edit periodic tasks or overrides, mint or revoke tokens, change settings. Those requests authenticate with a session, not a token, so today nothing records who made them.

Design points:

  • Attribution. Record the dashboard user (username or user id) rather than a token id. Either add a principal_kind (token / user) to audit_log, or reuse token_id / principal with a clear convention. Changing audit_log means a migration on all three backends.
  • Choke point. The dashboard has its own gate (dashboard/auth/middleware.rs, dashboard/auth/gate.rs). A layer there mirroring grpc/audit/layer.rs would cover every state-changing route by default.
  • Token lifecycle. Minting and revoking tokens from the dashboard, and from flexiq-server token create|revoke, are the most security-relevant events and are not recorded today.
  • Shells. Each SDK shell carries its own dashboard implementation. Decide whether this is a flexiq-server-only feature or a cross-SDK contract.
Lenguaje dominante
Rust
Estrellas
20
Forks
2
Merge medio
10 h 6 min
PR fusionados (30 d)
44

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de ByteVeda/flexiq

Todos los issues de ByteVeda/flexiq

Issues similares

Más issues de Rust

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.