Права, роли и пароли — Решение проблем¶
Аудитория: ТП 1-й линии (без доступа к БД)
Как пользоваться этим документом¶
Секции организованы по типам проблем. Для каждой: 1. Симптом — что описывает клиент 2. Что проверить — шаги диагностики 3. Решение — что сделать 4. Эскалация — когда передавать на 2-ю линию
1. Доступ к задачам и категориям¶
~30% обращений по теме.
1.1 «Нет доступа к данной форме»¶
Симптом: «ошибка: У Вас нет доступа к данной форме», «пользователь не видит задачу».
Что проверить: - Права пользователя на категорию — входит ли в группу доступа - Тип доступа к категории — обычный, гибкий, конфиденциальный - Группа пользователя — не была ли изменена - Роль — есть ли роль с правом на чтение
Решение: проверить права в настройках категории (Администрирование → Категории → Права доступа). Убедиться, что пользователь входит в группу с нужными правами.
1.2 Режим «Конфиденциально» — доступ через грид¶
Симптом: «включён режим конфиденциально, задача не доступна, но параметры видны через грид».
Что проверить: - Настройка «Режим конфиденциально» — включена ли на категории - Грид — отображает ли данные без проверки доступа
Эскалация: если задача скрыта, но данные видны через грид — баг безопасности.
1.3 Гибкий доступ — ошибка доступа к полю¶
Симптом: «при гибком доступе к категории — ошибка доступа к полю».
Что проверить: - Настройки гибкого доступа — какие поля доступны для роли - Матрица доступа к ДП — совпадают ли настройки
1.4 Нет доступа к кнопке / действию в маршруте¶
Симптом: «не вижу кнопку создания задачи в маршруте», «нет доступа к переходу».
Что проверить: - Настройки маршрута — доступен ли переход для роли пользователя - Условия перехода — нет ли дополнительных условий (смарт-выражений) - Группа функций — включена ли нужная функция
2. Матрица доступа к ДП¶
~20% обращений.
2.1 Нет прав редактировать табличный ДП при наличии матрицы¶
Симптом: «по матрице доступа права есть, но редактировать табличный ДП не получается», «можно добавить строку, но нельзя менять данные».
Что проверить: - Матрица доступа — проверить конкретную ячейку (роль × ДП × статус) - Тип доступа: чтение / запись / полный доступ - Гибкий доступ — не конфликтует ли с матрицей
Эскалация: если матрица настроена на «запись», но редактирование блокируется — баг.
2.2 Копирование настроек «По матрице доступа» через API¶
Симптом: «как скопировать настройки матрицы доступа через API?»
Решение: копирование матрицы доступа доступно через API категорий. Конкретный endpoint зависит от версии. [2L]
2.3 Ошибка CustomTaskPermissions — дубликаты¶
Симптом: «в логе ошибка: Cannot insert duplicate key in object dbo.CustomTaskPermissions». [2L]
Эскалация: ошибка конкурентного обновления прав. Передать на 2-ю линию.
3. Пароли и парольная политика¶
~25% обращений.
3.1 Невозможно сменить пароль¶
Симптом: «не могу сменить пароль пользователю», «ошибка при смене пароля».
Что проверить: - Тип авторизации — Basic, AD, SAML (для AD/SAML пароль меняется во внешней системе) - Парольная политика — соответствует ли новый пароль требованиям (длина, спецсимволы, цифры) - Права — может ли текущий пользователь менять пароли (администратор или самообслуживание)
3.2 «Пароль устарел» / протухание временных паролей¶
Симптом: «пароль устарел, не могу войти», «протухание временных паролей».
Что проверить: - Парольная политика — настроен ли срок действия пароля - Временный пароль — был ли выдан при создании/сбросе - Уведомление — приходило ли предупреждение об истечении
Решение: администратор может сбросить пароль через AdminSPA → Пользователи → Сбросить пароль. Если Basic — установить новый. Если AD/LDAP — менять в Active Directory.
3.3 Доработка парольной политики для basic-авторизации¶
Симптом: «нужны более строгие требования к паролю при регистрации/смене».
Решение: парольная политика настраивается в Администрирование → Общие настройки → Безопасность. Доступные параметры: минимальная длина, обязательные символы, срок действия.
3.4 Смена паролей сервисных учётных записей¶
Симптом: «нужна смена пароля сервисной УЗ».
Решение: сервисные УЗ меняются через AdminSPA или напрямую в БД (для системных). Пароли для внешних сервисов (Diadoc, почта) — в настройках соответствующих сервисов.
4. Рабочее место и функции групп¶
4.1 Доступ к Lookup — кнопка быстрой постановки задачи¶
Симптом: «в ДП Lookup не работает кнопка быстрой постановки задачи, хотя права на создание в категорию лукапа есть».
Что проверить: - Права на создание в целевой категории - Настройки лукапа — включена ли быстрая постановка - Рабочее место — не ограничена ли функция
4.2 Нет доступа к элементу, но он виден при открытии через лукап (noframe)¶
Симптом: «открыл задачу через лукап, на которую нет доступа — нет сообщения, только ошибки в консоли».
Эскалация: должно показываться сообщение «нет доступа». Если ошибка молча — баг UI.
5. Синхронизация прав¶
5.1 RefreshAllUsersPermissionsJob — таймаут¶
Симптом: «задача обновления прав не выполняется — Timeout expired». [2L]
Эскалация: серверная проблема — при большом количестве пользователей/категорий обновление прав может занимать долго. Передать на 2-ю линию.
5.2 Смарт-доступ — уведомление о синке¶
Симптом: «при синке задач через смарт-доступ хочется уведомление о начале синка».
Решение: в текущей версии уведомление о начале синка не реализовано. Доработка.
6. Безопасность¶
6.1 Уязвимости — Open Redirect / CSRF¶
Симптом: «обнаружена уязвимость: неконтролируемое открытие внешних URL».
Эскалация: немедленно на 2-ю линию — проблема безопасности.
6.2 Пароль сервиса в незашифрованном виде¶
Симптом: «пароль сервиса хранится в открытом виде», «при синхронизации с Diadoc — пароль не зашифрован».
Эскалация: проблема безопасности — передать на 2-ю линию.
Чеклист для первичной диагностики¶
- Тип проблемы — доступ к задачам, доступ к ДП, пароль, роли, безопасность
- Тип авторизации — Basic, AD/LDAP, SAML, OAuth
- Тип доступа к категории — обычный, гибкий, конфиденциальный
- Группа / роль пользователя
- Версия системы
- Один пользователь или все в группе
- Текст ошибки
Когда эскалировать¶
- Данные видны через грид при конфиденциальном режиме (безопасность)
- Дубликаты CustomTaskPermissions в логе (серверная проблема)
- RefreshAllUsersPermissionsJob — таймаут
- Пароли хранятся в открытом виде (безопасность)
- Уязвимости (Open Redirect, CSRF и т.д.)
- Матрица доступа настроена, но не применяется (баг)