docs: refresh README; allow monitor JWT for RDG qwinsta/logoff (0.20.6)
Update platform docs for current features; Seaca and web operators with monitor role can trigger WinRM actions via SAC API.
This commit is contained in:
+16
-21
@@ -100,25 +100,20 @@ THEN:
|
||||
|
||||
**Маршрутизация команды qwinsta:** команда уходит на хост, где **установлен агент** и куда привязано событие (`host_id`). Если session host ≠ gateway, в перспективе — таблица «gateway → session hosts» или агент на session host; MVP — агент на том же сервере, что шлёт события RDG.
|
||||
|
||||
### 3.3. UI — «Обзор» → «Последние события»
|
||||
### 3.3. UI — веб и Seaca
|
||||
|
||||
В таблице [DashboardView](../frontend/src/views/DashboardView.vue) для строки события с `rdg_flap = true` (обычно **303**, второе в паре):
|
||||
Бейдж **RDG flap** и кнопка **qwinsta** на событиях **302 и 303** (пара вычисляется при чтении):
|
||||
|
||||
| … | Title | **Действия** |
|
||||
|---|-------|--------------|
|
||||
| … | RD Gateway event 303 | **[qwinsta]** |
|
||||
- Веб: **Обзор**, **События**, карточка события
|
||||
- **Seaca:** список событий + карточка → `POST .../actions/qwinsta` / `logoff`
|
||||
|
||||
**Поток:**
|
||||
|
||||
1. Оператор нажимает **qwinsta**.
|
||||
2. `POST /api/v1/events/{id}/actions/qwinsta` → SAC ставит команду в очередь хоста.
|
||||
3. Агент на poll выполняет `qwinsta` под **доменным admin** (см. §5).
|
||||
4. Результат → модальное окно: таблица SESSIONNAME, USERNAME, ID, STATE.
|
||||
5. **logoff:**
|
||||
- по умолчанию — кнопка только у строк с **matching user** из события;
|
||||
- дополнительно — возможность **выбрать любую строку** (на серверах бывает нестандартный вывод qwinsta).
|
||||
6. `POST .../actions/logoff { session_id }` → подтверждение → команда агенту → `logoff {id} /v`.
|
||||
7. Результат в модалке; Problem можно auto-resolve или оставить оператору.
|
||||
2. `POST /api/v1/events/{id}/actions/qwinsta` → SAC выполняет **WinRM qwinsta** на **клиентский ПК** (`internal_ip` из события).
|
||||
3. Результат — модалка: SESSION, USER, ID, STATE.
|
||||
4. **logoff:** `POST .../actions/logoff { session_id }` → WinRM `logoff` → повторный qwinsta.
|
||||
5. Нужен **Windows domain admin** в настройках SAC (`SAC_WIN_ADMIN_*` или UI).
|
||||
|
||||
```mermaid
|
||||
sequenceDiagram
|
||||
@@ -257,13 +252,13 @@ Authorization: Bearer sac_xxx
|
||||
}
|
||||
```
|
||||
|
||||
### 7.2. UI actions (JWT admin)
|
||||
### 7.2. UI actions (JWT: admin / monitor / mobile)
|
||||
|
||||
| Метод | Путь | Назначение |
|
||||
|-------|------|------------|
|
||||
| POST | `/api/v1/events/{id}/actions/qwinsta` | Запрос qwinsta |
|
||||
| POST | `/api/v1/events/{id}/actions/qwinsta` | qwinsta (WinRM на клиентский ПК) |
|
||||
| POST | `/api/v1/events/{id}/actions/logoff` | logoff `{ "session_id": 5 }` |
|
||||
| GET | `/api/v1/events/{id}/actions/{cmd_id}` | Статус / результат команды |
|
||||
| GET | `/api/v1/events/{id}/actions/{cmd_id}` | Статус / результат |
|
||||
| PATCH | `/api/v1/hosts/{id}/config` | Desired config |
|
||||
| PATCH | `/api/v1/hosts/{id}/access` | Bootstrap / WinRM creds |
|
||||
| GET/PATCH | `/api/v1/settings/agent-updates` | Режим A/B, версии, источники |
|
||||
@@ -285,10 +280,10 @@ Authorization: Bearer sac_xxx
|
||||
| Фаза | Содержание | Статус |
|
||||
|------|------------|--------|
|
||||
| **1** | `rule:rdg_session_flap`, Problem, notify, флаг `rdg_flap` | ✅ SAC |
|
||||
| **2** | Кнопка **qwinsta** на «Обзоре» | ✅ SAC UI |
|
||||
| **3** | Poll API, `agent_commands`, env admin | ✅ SAC; ✅ RDP ≥ 2.1.0-SAC |
|
||||
| **4** | logoff в модалке | ✅ SAC UI |
|
||||
| **5** | Settings «Обновления агентов» | ⏳ |
|
||||
| **2** | **qwinsta** / **logoff** — веб + Seaca | ✅ |
|
||||
| **3** | Poll API, `agent_commands` (агент) | ✅ RDP ≥ 2.1.0-SAC |
|
||||
| **4** | WinRM qwinsta с сервера SAC | ✅ |
|
||||
| **5** | Settings «Обновления агентов», SSH bootstrap | частично ✅ |
|
||||
| **6** | Self-update B1 | ⏳ |
|
||||
| **7** | SSH bootstrap + WinRM fallback | ⏳ |
|
||||
| **8** | Desired config per host | ⏳ |
|
||||
@@ -299,7 +294,7 @@ Authorization: Bearer sac_xxx
|
||||
|
||||
## 9. Безопасность
|
||||
|
||||
- Команды qwinsta/logoff — только **JWT admin**; audit log.
|
||||
- Команды qwinsta/logoff — JWT (веб и Seaca); `requested_by` в `agent_commands`.
|
||||
- Rate limit на actions per host.
|
||||
- logoff — confirm dialog; по умолчанию только matching user.
|
||||
- Password bootstrap Linux — удаляется после успеха; re-bootstrap явной кнопкой.
|
||||
|
||||
Reference in New Issue
Block a user