feat(ueba): add per-user and department baseline skeleton
This commit is contained in:
@@ -117,13 +117,25 @@ DetMir Workforce/Security формирует read-only UEBA-compatible rule-base
|
||||
но не добавляют risk score сами по себе;
|
||||
- `risk_sources`: типы источников, которые дали risk reasons;
|
||||
- `baseline_status`: статус baseline-модели, сейчас
|
||||
`portfolio_only_no_per_user_baseline`;
|
||||
`per_user_department_baseline_skeleton`;
|
||||
- `baseline_window_days`: rolling window локальной baseline-истории;
|
||||
- `user_baseline_available`: есть ли минимум samples для per-user сравнения;
|
||||
- `department_baseline_available`: есть ли минимум samples для сравнения
|
||||
подразделений;
|
||||
- `deviation_score`: score отклонения текущего дня от baseline;
|
||||
- `baseline_samples`: количество накопленных user/department samples;
|
||||
- `policy_version`: версия risk policy;
|
||||
- `calculated_from`: список источников, участвовавших в расчете;
|
||||
- `reasons`: DLP WARN/FAIL, open review queue, off-hours/weekend insights,
|
||||
просадки/аномалии Workforce, приложения без явного
|
||||
`application_weights` правила.
|
||||
|
||||
Baseline skeleton хранится локально в state каталоге портала как
|
||||
`ueba-baseline-state.json`. Текущий день записывается атомарно по `report_date`
|
||||
и не дублируется при повторном открытии отчета. Отклонение считается только
|
||||
после накопления минимального количества исторических samples, поэтому первый
|
||||
период эксплуатации честно показывает `*_baseline_available=false`.
|
||||
|
||||
Веса настраиваются через YAML policy:
|
||||
|
||||
- пример: `configs/detmir-ueba-risk-policy.example.yaml`;
|
||||
|
||||
@@ -32,6 +32,8 @@ baseline и раздела `Phase 8: Post-MVP Enhancements`.
|
||||
active applications, DLP WARN/FAIL, evidence screenshots/items, open issues;
|
||||
- отчет содержит read-only UEBA-compatible rule-based risk scoring v1: `score`,
|
||||
`level`, `confidence`, `risk_sources`, `baseline_status`, `policy_version`,
|
||||
`baseline_window_days`, `user_baseline_available`,
|
||||
`department_baseline_available`, `deviation_score`, `baseline_samples`,
|
||||
`calculated_from`, `reasons`;
|
||||
- отчет и вкладка `Руководитель` показывают `Индекс активности` как
|
||||
proxy `активное время / плановое рабочее время`;
|
||||
@@ -66,6 +68,9 @@ baseline и раздела `Phase 8: Post-MVP Enhancements`.
|
||||
настраиваются в `/etc/detmir-portal-ueba-policy.yaml`; evidence используется
|
||||
как confidence, а не как отдельный risk reason; слой не выполняет
|
||||
pfSense/NAC/SOAR actions;
|
||||
- baseline skeleton хранится в state каталоге портала как
|
||||
`ueba-baseline-state.json`: per-user и per-department samples копятся по
|
||||
`report_date`, а deviation включается только после минимальной истории;
|
||||
- вкладка `Руководитель` получает этот блок через легкий endpoint
|
||||
`/api/workforce/policy/explain`, без загрузки полного `/api/reports`;
|
||||
- contract легкого endpoint защищен unit-тестом
|
||||
|
||||
Reference in New Issue
Block a user