Главная
Документация
Руководство пользователя
3. Функционал системы
3.13. Удалённая поддержка и RMM
Техническое описание решения
Техническое описание решения
Обновлено: 09 Октябрь 2026
Версия: 2.4.0
1. Место в платформе
Контур АСК Удалённая поддержка / RMM относится к модулю сервис-деска и состоит из трёх сторон:
| Сторона | Роль |
|---|---|
| АСК (веб-консоль) | Бизнес-объекты: задания, RBAC, группы/теги, скрипты/пакеты, автоматизация, операционный жизненный цикл оповещений, политики и окна обслуживания, UI |
| Контур связи (Gateway) | Идентичность устройств, присутствие, исполнение целей заданий, сырой инвентарь/мониторинг, технические оповещения, сеансы и сигналинг |
| Windows-агент и клиенты | Служба, исполнитель заданий, сбор инвентаря, согласие, захват экрана; программа оператора; портативный клиент |
Интерактивный экран/ввод и фоновые задания — разные каналы доверия: для сеанса всегда нужно локальное согласие на каждый новый session_id; для заданий RMM — авторизация АСК (права + политика + окно обслуживания) без per-job consent.
2. Компоненты на компьютере пользователя
| Компонент | Назначение |
|---|---|
ASK.RemoteAssist.Service |
Служба (в т.ч. LocalSystem): связь, оркестрация, опасные действия reboot/shutdown/update |
ASK.RemoteAssist.JobWorker |
Изолированное выполнение заданий |
ASK.RemoteAssist.Tray |
Трей, UID, заявка, опция unattended |
ASK.RemoteAssist.Consent |
UI согласия на сеанс |
ASK.RemoteAssist.DesktopHost / SecureHost |
Захват/ввод; Secure Desktop / Winlogon (pilot, часто выключен по умолчанию) |
ASK.Support.Portable |
Портативный клиент без установки |
На стороне специалиста: ASK.RemoteAssist.Viewer (АСК Техподдержка).
3. Каталог действий заданий (v1)
Классы: safe / mutate / high-risk. Опасные и часть mutate проходят через gate окна обслуживания (gates_destructive, опционально medium_require_mw для stop/restart служб).
action_type |
Класс | Параметры (кратко) |
|---|---|---|
inventory.refresh |
safe | {} |
inventory.software.refresh (alias inventory.software_refresh) |
safe | {} |
agent.health |
safe | {} |
service.query |
safe | optional name |
process.list |
safe | optional name_contains |
windows_update.scan |
safe | {} (только сканирование) |
service.start |
mutate | required name |
service.stop / service.restart |
mutate | required name |
process.terminate |
mutate | pid + image_name |
script.run |
mutate | body/language/timeout/hash… |
package.deploy |
mutate | URI/hash, silent args |
device.reboot / device.shutdown |
high-risk | reason*, delay_seconds (0…3600, default 60), force, message |
agent.update |
high-risk | signed manifest/MSI, reason |
Вне каталога (не P0): установка обновлений Windows, файловый обмен, интерактивный терминал и т.п.
Команды заданий подписываются (RmmCommandV1, JWS). Повтор по идемпотентности: command_id / job_target_id. TTL команды порядка 10–15 минут. На агенте mutate может быть отключён флагом конфигурации (AllowMutate) — тогда придёт отказ mutate_disabled.
Статусы бизнес-задания АСК (AskJobStatus): draft | submitted | running | succeeded | failed | cancelled.
Поведение вне окна: по умолчанию outside_mw_behavior=wait (цель остаётся Pending до окна) либо reject — по политике.
4. Инвентарь и мониторинг
| Поток | Типичный период | Принудительно |
|---|---|---|
| DeviceInventoryV1 | ~24 ч | Job inventory.refresh, enroll/startup |
| SoftwareInventoryV1 | ~6 ч | Job software refresh; после package.deploy |
| MonitoringBatchV1 | пакет ~5 мин | — |
| Presence / heartbeat | ~60 с | — |
Порог «нет связи» (stale) в UI АСК: 24 часа без контакта. Настройки модуля также содержат порог свежести инвентаря (часы) и интервал снимка endpoint (минуты).
5. Оповещения и автоматизация
Техсостояние оповещения живёт на Gateway (open/cleared). В АСК — операционный статус: open | ack | resolved.
Примеры rule_id: disk.low_space, disk.low_free_mb, device.offline, windows.activation.*, security.*, event.log.match, cpu.sustained_high, memory.sustained_high.
Автоматизация P0: триггер alert.opened; poller периодически (порядка 1 минуты) оценивает правила. Allowlist для device.reboot / script.run из автоматизации; пустой = запрет. Справочные ключи: at10_service_restart, at11_disk_low_space, at11b_disk_low_free_mb (по умолчанию выключены).
6. Права Django / группы
Группы: Rules-Rmm-View, Rules-Rmm-Jobs, Rules-Rmm-RA, Rules-Rmm-Manage (+ system.settings для хаба настроек).
| Permission | Группы |
|---|---|
remote_assist.view_endpoint |
View, Jobs, RA, Manage |
remote_assist.view_inventory |
View, Manage |
remote_assist.run_job / cancel_job |
Jobs, Manage |
remote_assist.remote_assist |
RA, Manage |
remote_assist.view_audit |
View, Manage |
remote_assist.view_script / manage_script |
view: View+Jobs+Manage; manage: Jobs+Manage |
remote_assist.view_package / manage_package |
аналогично |
remote_assist.view_alerts / manage_alerts |
аналогично |
remote_assist.view_policy / manage_policy |
аналогично |
remote_assist.view_group / manage_group / tags |
аналогично |
remote_assist.view_automation / manage_automation |
аналогично |
remote_assist.view_updates / manage_updates |
аналогично |
remote_assist.delete_endpoint |
Jobs, Manage |
Статусы скрипта/пакета: draft | approved | retired.
7. URL-префиксы АСК
/rmm/— дашборд, устройства, задания, скрипты, пакеты, группы, автоматизации, оповещения, аудит, обновления, аналитика…/settings/rmm/— хаб: привязки тенантов, флаги модуля, политики оповещений, ссылки на политики Jobs и окна обслуживания- SSO запуска Viewer: путь вида
viewer/sso/
Флаги модуля (defaults): register_portable=false, auto_create_ci=true.
8. Удалённая сессия (кратко)
- АСК выдаёт короткий
launch_refили оператор вводит UID в Viewer. - Gateway создаёт сессию → Consent UI на endpoint.
- Accept/Reject → DesktopHost (и опционально SecureHost).
- Локальный индикатор + Disconnect.
Portable Elevated: Transient LocalSystem Broker (Rank 5), SecureHost в winsta0\Winlogon, учётные данные администратора не пишутся в логи/телеметрию. Unattended consent bypass — только установленный агент, default off.
9. Источники контрактов и фикстур
- Gateway:
contracts/ask-s2s/fixtures/,contracts/wss/(job-actions, rmm-command-v1, session-consent…). - Каталог действий и destructive allowlist на Gateway.
- ASK:
remote_assist/rules.py,services/ui_labels.py,services/jobs.py, templatesremote_assist/*.html,locale/ru. - Windows: Brand UI (
ViewerUiBrand,TrayUiBrand,PortableUiBrand,ConsentUiBrand), Job handlers, Inventory collectors.
10. Ограничения текущей реализации (для планировщиков)
- Нет полноценного cron-планировщика заданий в UI (расписание фактически через MW + automation poller).
- Нет CSV-импорта устройств/скриптов/политик.
- Нет отдельного email/Event Center канала именно для RMM.
- Dual-admin утверждение скриптов — вне текущего P0.
- SecureHost / полный manage Windows Update / file transfer — не полный production-scope или выключены по умолчанию.
Пользовательские сценарии без внутренних кодов — в соседних статьях раздела и в руководстве администратора.