feat(portal): add executive action center
This commit is contained in:
@@ -0,0 +1,98 @@
|
||||
# Executive Action Center
|
||||
|
||||
Executive Action Center преобразует существующую аналитику AWatch-rus в
|
||||
конкретные управленческие действия.
|
||||
|
||||
## Назначение
|
||||
|
||||
Модуль отвечает на вопросы:
|
||||
|
||||
- что рекомендуется сделать;
|
||||
- насколько это срочно;
|
||||
- кому адресовано действие;
|
||||
- почему система предлагает именно это действие.
|
||||
|
||||
Action Center не выполняет действия автоматически. Он не блокирует
|
||||
пользователей, не меняет политики и не является DLP/EDR/SIEM.
|
||||
|
||||
## Контракт действия
|
||||
|
||||
```json
|
||||
{
|
||||
"priority": "high",
|
||||
"title": "Проверить подразделение с низким индексом активности",
|
||||
"summary": "Индекс активности ниже управленческого порога; требуется проверка причины просадки",
|
||||
"owner_role": "manager",
|
||||
"recommended_deadline": "24h",
|
||||
"reason_codes": [
|
||||
"LOW_WORKFORCE_KPI",
|
||||
"HIGH_REMOTE_ACTIVITY"
|
||||
],
|
||||
"evidence": [
|
||||
"Workforce KPI ниже целевого уровня: 62%",
|
||||
"Рост удаленных сессий влияет на управленческий риск"
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
## API
|
||||
|
||||
Endpoint:
|
||||
|
||||
```text
|
||||
GET /api/actions
|
||||
```
|
||||
|
||||
Поддерживается role filtering через `role` query parameter или
|
||||
`X-AWatch-Role` header.
|
||||
|
||||
`/api/reports` дополнительно содержит:
|
||||
|
||||
```json
|
||||
{
|
||||
"recommended_actions": []
|
||||
}
|
||||
```
|
||||
|
||||
## Уровни приоритета
|
||||
|
||||
- `low` - наблюдение, контроль на следующем регулярном срезе;
|
||||
- `medium` - требуется плановая проверка;
|
||||
- `high` - требуется действие в течение 24 часов;
|
||||
- `critical` - требуется срочная ручная проверка, обычно до 4 часов.
|
||||
|
||||
## Rule-based правила
|
||||
|
||||
| Reason code | Сигнал | Рекомендуемое действие | Адресат |
|
||||
|---|---|---|---|
|
||||
| `LOW_WORKFORCE_KPI` | Workforce KPI ниже целевого уровня | Проверить подразделение с низким индексом активности | `manager` |
|
||||
| `HIGH_REMOTE_ACTIVITY` | Фактор удаленных сессий в explainability | Проверить причину роста удаленных сессий | `manager` |
|
||||
| `LOW_COVERAGE` | Низкое покрытие агентов или плохой SLA полноты данных | Проверить состояние агентов | `admin` |
|
||||
| `HIGH_UEBA` | Повышенный UEBA score | Передать данные в контур ИБ | `security` |
|
||||
| `HIGH_SECURITY_CORRELATION` | Высокая корреляция активности и ИБ-событий | Проверить связь активности и ИБ-событий | `security` |
|
||||
| `INCIDENT_CANDIDATE` | Есть кандидаты на проверку | Провести расследование кандидатов | `forensics` |
|
||||
| `RISK_NARRATIVE_HIGH` | Высокий Risk Narrative score | Назначить владельца корректирующих действий | `executive` |
|
||||
| `NORMAL_OBSERVATION` | Критичные правила не сработали | Продолжить наблюдение | `manager` |
|
||||
|
||||
Все правила детерминированные. ML, LLM и прогнозные модели не используются.
|
||||
|
||||
## Ролевое отображение
|
||||
|
||||
- `executive` видит управленческие, менеджерские и эксплуатационные действия;
|
||||
- `manager` видит действия для руководителя подразделения;
|
||||
- `security` видит действия ИБ и действия, которые нужно передать в
|
||||
расследование;
|
||||
- `forensics` видит действия расследований и связанные действия ИБ;
|
||||
- `admin` видит полный список.
|
||||
|
||||
Сервер фильтрует действия по роли. UI скрывает нерелевантные действия только
|
||||
после серверной фильтрации.
|
||||
|
||||
## Ограничения
|
||||
|
||||
- Action Center является decision-support слоем, а не auto-remediation.
|
||||
- Рекомендации требуют ручной проверки ответственным контуром.
|
||||
- Модуль не подтверждает нарушение сам по себе.
|
||||
- pfSense остается `contract_only`, если ingestion отдельно не включен и не
|
||||
прошел приемку.
|
||||
- Planned/Future collectors не считаются реализованными источниками данных.
|
||||
@@ -253,4 +253,57 @@ docs/EXECUTIVE_ACTION_CENTER_RU.md
|
||||
6. Документация.
|
||||
7. Тесты.
|
||||
8. Проверки.
|
||||
9. Ограничения.
|
||||
9. Ограничения.
|
||||
|
||||
## Выполнение
|
||||
|
||||
Статус: done.
|
||||
|
||||
Файлы:
|
||||
|
||||
- `adk-rust/crates/detmir-portal/src/executive_actions.rs`;
|
||||
- `adk-rust/crates/detmir-portal/src/main.rs`;
|
||||
- `adk-rust/crates/detmir-portal/src/static/app.js`;
|
||||
- `adk-rust/crates/detmir-portal/src/static/app.css`;
|
||||
- `adk-rust/crates/detmir-portal/src/contracts/openapi.json`;
|
||||
- `adk-rust/crates/detmir-portal/src/contracts/typescript.d.ts`;
|
||||
- `adk-rust/crates/detmir-portal/src/production/limits.rs`;
|
||||
- `scripts/awatch-production-hardening-smoke.mjs`;
|
||||
- `docs/EXECUTIVE_ACTION_CENTER_RU.md`;
|
||||
- `README.md`.
|
||||
|
||||
Новые endpoints:
|
||||
|
||||
- `GET /api/actions`.
|
||||
|
||||
Action model:
|
||||
|
||||
- `priority`;
|
||||
- `title`;
|
||||
- `summary`;
|
||||
- `owner_role`;
|
||||
- `recommended_deadline`;
|
||||
- `reason_codes`;
|
||||
- `evidence`.
|
||||
|
||||
Rule engine:
|
||||
|
||||
- deterministic rule-based;
|
||||
- использует существующие сигналы Workforce KPI, UEBA, coverage, security
|
||||
correlation, incident candidates и Risk Narrative;
|
||||
- не использует ML/LLM;
|
||||
- не выполняет auto-remediation.
|
||||
|
||||
UI:
|
||||
|
||||
- Executive View показывает блок `Рекомендуемые действия`;
|
||||
- Security View показывает блок `Рекомендуемые действия ИБ` с ИБ-действиями и
|
||||
действиями, передаваемыми в расследование;
|
||||
- Markdown report содержит раздел `## Рекомендуемые действия`.
|
||||
|
||||
Ограничения:
|
||||
|
||||
- рекомендации не выполняются автоматически;
|
||||
- пользователи не блокируются;
|
||||
- политики не меняются;
|
||||
- DLP/EDR/ML/LLM не добавлялись.
|
||||
|
||||
Reference in New Issue
Block a user