audit: record dashboard actions and token lifecycle

クローズ
#994 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

まだ誰も着手していません。

評価

難易度
5/5
見積もり時間
1週間以上
初心者へのやさしさ
30/100
issue の種類
機能追加
明瞭さ
説明が足りない
活発さ
活発
技術スタック
grpc, rust

調査の方向性

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.

索引モデルが issue の本文から書いたものです。

説明

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.
主要言語
Rust
スター
20
フォーク
2
平均マージ
10時間 6分
マージ済み PR(30日)
44

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

ByteVeda/flexiq のほかの issue

ByteVeda/flexiq の issue をすべて見る

似ている issue

Rust の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。