Администрирование: пользователи, права, ПДн, журналы, ключи и вебхуки
Права пользователя = роль-шаблон + отличия, отмеченные администратором. Матрица «вид объекта × действие» задаёт охват «нет / свои / все», отдельно идут общие права, включая piiview — полный показ персональных данных. Что поменялось в данных — История правок, кто что делал — Журнал действий. Для внешних систем администратор выдаёт ключи встраивания карты и вебхуки, пользователи сами выдают себе ключи API v2, ArcGIS и MCP. Поверх всего действуют флаги сервера: без MUTATIONSENABLED данные не меняет никто.
Администрирование
Кратко. Права пользователя = роль-шаблон + отличия, отмеченные администратором. Матрица «вид объекта × действие» задаёт охват «нет / свои / все», отдельно идут общие права, включая pii_view — полный показ персональных данных. Что поменялось в данных — История правок, кто что делал — Журнал действий. Для внешних систем администратор выдаёт ключи встраивания карты и вебхуки, пользователи сами выдают себе ключи API v2, ArcGIS и MCP. Поверх всего действуют флаги сервера: без
MUTATIONS_ENABLEDданные не меняет никто.
Зачем это
Пользователю этот урок нужен, чтобы понимать, почему кнопки нет или запись отклонена. Администратору — чтобы выдать ровно те права, что нужны для работы: режимщик считает, но не двигает трубы; техник ведёт журналы, но не видит телефонов жителей. И чтобы по истории всегда можно было найти, кто и что изменил.
Роли и матрица прав
| Роль | Объекты сети | Общие права |
|---|---|---|
| Просмотр | ничего | выгрузки |
| Режимщик | свойства потребителей, источников, оборудования, режима узла — все | расчёты, сохранение расчётов, выгрузки |
| Оператор сети | создание — все; свойства, перемещение, удаление — только свои | выгрузки |
| Редактор | свойства, создание, перемещение — все; удаление — только свои | расчёты, сохранение, выгрузки, импорт, журналы, справочники, ПДн |
| Администратор | всё — все | все права |
Матрица: строки — участки, узлы, потребители, источники и насосные, оборудование, режим узла; столбцы — свойства, создание, перемещение и изломы, удаление. «Создание» бывает только «нет» или «все». В базе пользователей хранятся только отличия от шаблона; смена шаблона сбрасывает галочки к новой роли.
«Только свои» — объекты, созданные этим пользователем в вебе (object_authorship). Строка карточки своя, если свой
её участок или узел. Объекты десктопа ничьи: с охватом «свои» их не править и не удалять.
Общие права: запуск расчётов; сохранение и сравнение расчётов; выгрузки и отчёты; импорт сети; журналы (ремонты, ПТС, акты, ТУ, привязки); справочники и шаблоны карточек; просмотр журнала действий; управление пользователями; персональные данные полностью. Некоторые окна требуют роль, а не право: «Формы обходов», «Встраиваемые карты», «Вебхуки», «PMTiles», загрузка социальных объектов, применение импорта сети — только «Администратор».
Сервер проверяет права на каждом запросе, интерфейс лишь прячет кнопки. Изменения прав и блокировка действуют на открытые сессии не позже чем через 30 секунд.

Персональные данные
ФИО физических лиц, телефоны, e-mail, ИИН, лицевые счета и договоры потребителей полностью видит только право
pii_view (по умолчанию у ролей «Редактор» и «Администратор»). Остальным API отдаёт их маской. Данные в базе
не меняются, маскируется ответ:
телефон 8-700-000-00-88 → *-***-***-**-88
договор 12345 → *2345
владелец ИП Примерова Анна Сергеевна → ИП П*** А. С. (названия организаций не меняются)
Где маскирования нет: выгрузки Excel, Word, CSV, GeoPackage (кроме отчёта сверки АЛСЕКО), слои и тайлы GeoServer и martin, большие JSON-ответы (больше 16 МБ). ФИО сотрудников — начальников участков, ответственных, исполнителей нарядов — рабочие данные и не маскируются. Выдавая право «Выгрузки и отчёты», помните: файл уходит без маски.
Две истории
| История правок | Журнал действий | |
|---|---|---|
| Отвечает на вопрос | что изменилось в данных: поле, было, стало | кто, когда, что делал и чем кончилось |
| Источник | audit_log базы города: триггеры (в том числе правки десктопа) и операции API |
activity_log базы пользователей, все города |
| Кому доступна | любой роли | право «Просмотр журнала действий» |
| Что в ней | INSERT, UPDATE, DELETE, UNDO, SPLIT, GROUP_SET, APPROVE… | входы и неудачные входы, правки, расчёты, выгрузки, ключи, вызовы ИИ с токенами |
Ключи и внешние системы
| Что | Кто выдаёт | Срок по умолчанию | Как закрыть |
|---|---|---|---|
| Ключ API v2 | пользователь себе | 365 дней | смена пароля, блокировка, удаление |
| Ключ ArcGIS (FeatureServer) | пользователь себе | 90 дней | то же |
| Токен MCP | пользователь себе | 30 дней | то же |
Ключ встраивания карты (tge_…) |
администратор | 1–3650 дней или бессрочно | «Отозвать» в списке |
Ключ пользователя действует с его правами. Вебхук сообщает внешней системе (ERP, биллинг, CRM), что случилось событие: новый дефект, наряд и смена его статуса, отключение, тревоги телеметрии и баланса — всего 11 событий. Запрос подписан секретом подписки, подробности система берёт из API v2. Подписка, которая три дня не принимает события, выключается сама. PMTiles — запечённые архивы тайлов больших слоёв (здания): карта быстрее, база свободнее.
Как сделать в ТГИД
- Пользователи, модель прав — Роли и права.
- Персональные данные.
- История правок, Журнал действий.
- Встраиваемые карты, Вебхуки, Статичные слои (PMTiles).
- Сквозной ролик — Администрирование: пользователи, роли, журнал.
Задания
1. Техник журналов
Нужно: сотрудник ведёт журналы, правит свойства только своих участков и не выгружает файлы. Как настроить?
Ответ
Роль «Просмотр», в «Правах»: «Участки → Свойства: свои», отметить «Журналы», снять «Выгрузки и отчёты». В заголовке
окна — «отличий от роли: 3». ПДн он увидит замаскированными: права pii_view у шаблона «Просмотр» нет.
2. Последний администратор
Единственный администратор пытается сменить себе роль на «Редактор». Что ответит сервер и почему?
Ответ
Откажет: нельзя снять с себя право «Управление пользователями», и нельзя лишить его последнего активного администратора, пока не настроена мастер-учётка. Это защита от потери доступа к системе.
3. Утечка через выгрузку
Подрядчику с ролью «Просмотр» выгрузили ведомость «Технические условия». Что он увидит в заявителях и как этого избежать?
Ответ
Полные имена: файлы Excel маскирование не проходят. Снять у такого пользователя право «Выгрузки и отчёты» (у шаблона «Просмотр» оно есть по умолчанию) или готовить файл для передачи отдельно, удалив колонки с ПДн.
