Перейти к содержанию

Права, роли и пароли — Решение проблем

Аудитория: ТП 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-ю линию.


Чеклист для первичной диагностики

  1. Тип проблемы — доступ к задачам, доступ к ДП, пароль, роли, безопасность
  2. Тип авторизации — Basic, AD/LDAP, SAML, OAuth
  3. Тип доступа к категории — обычный, гибкий, конфиденциальный
  4. Группа / роль пользователя
  5. Версия системы
  6. Один пользователь или все в группе
  7. Текст ошибки

Когда эскалировать

  • Данные видны через грид при конфиденциальном режиме (безопасность)
  • Дубликаты CustomTaskPermissions в логе (серверная проблема)
  • RefreshAllUsersPermissionsJob — таймаут
  • Пароли хранятся в открытом виде (безопасность)
  • Уязвимости (Open Redirect, CSRF и т.д.)
  • Матрица доступа настроена, но не применяется (баг)