• /
  • /

Роли и логирование: контроль доступа и действий пользователей в корпоративной платформе

Для крупной энергосбытовой компании мы доработали внутреннюю платформу работы с поставщиками и контрагентами. Внедрили гибкую систему ролей и логирование действий пользователей, чтобы сотрудники и партнёры работали только в рамках своих задач, а администраторы могли контролировать изменения в системе.
Решения для производства У меня похожая задача

О клиенте

Крупная энергосбытовая компания.

Проблема и задачи

Клиент использует внутреннюю систему для работы с поставщиками услуг и юридическими лицами. Через нее сотрудники создают и обрабатывают заявки, ведут взаиморасчеты, управляют данными контрагентов и контролируют связанные операции.

Система одновременно используется разными категориями пользователей:

  • Операторы, которые обрабатывают заявки и проводят расчеты;
  • Специалисты поддержки, которые корректируют данные и разбирают инциденты;
  • Администраторы, которые управляют пользователями и настройками системы;
  • Внешние пользователи — представители поставщиков и подрядчиков, которые взаимодействуют с системой через веб-интерфейс.

Каждой роли нужен доступ только к своей части системы. Например, оператор должен видеть и обрабатывать только заявки, но не управлять справочниками поставщиков или изменять настройки системы.

Права назначались вручную и не позволяли гибко контролировать доступ на уровне отдельных модулей и действий. Остро стоял вопрос контроля действий пользователей. Нужна была возможность видеть, кто создал или изменил запись, когда это произошло и какие именно данные затронуты.

В результате компании требовался механизм, который позволил бы:

  • четко разграничить права доступа в соответствии с ролями сотрудников;
  • централизованно управлять этими ролями;
  • фиксировать все действия пользователей в системе;
  • быстро находить и анализировать изменения при возникновении вопросов или инцидентов.

Решение

Мы дорабатывали систему под ключ, начиная с проектирования новой функциональности и заканчивая тестированием.

Детальное логирование действий

Для каждой ключевой операции мы внедрили подробную запись действий пользователей. Логи фиксируют не только факт изменения, но и какие конкретно данные были затронуты, кто и когда выполнял действие. Это позволило администраторам быстро находить причины ошибок или подозрительных изменений и сокращать время расследования инцидентов.
Интерфейс оформлен так, чтобы можно было выбрать период, пользователя и модуль, и сразу увидеть все действия в виде таблицы.

Реализация гибкой ролевой модели

После внедрения логирования мы обновили механизм ролей, чтобы управление доступом было гибким и прозрачным. Каждой роли присваиваются точно настроенные права на уровне модулей и отдельных действий, а при необходимости права можно комбинировать под конкретного пользователя.
Примеры из системы:
  • оператор в одном модуле может создавать кассира, но не менять пароль;
  • в другом модуле он видит заявки, но не редактирует данные поставщиков.
Внутренние и внешние пользователи работают строго в рамках своих задач, а администраторы управляют ролями централизованно, без ручной корректировки каждого пользователя.

Интеграция с существующими сервисами

Все доработки встроены в существующую платформу без прерывания работы пользователей. Мы переиспользовали справочники и компоненты, доработали API для поддержки новых функций и добавили новые панели управления. При этом привычный интерфейс остался, а новые возможности стали доступны сразу после внедрения.
Особое внимание уделялось тестированию, так как изменения затрагивали почти все ключевые API.

Результат

  1. Внедрена гибкая ролевая модель с точечной настройкой прав на уровне модулей и действий.
  2. Реализовано детальное логирование: кто, когда и какие данные изменял.
  3. Обеспечена прозрачность операций и возможность быстрого расследования инцидентов.
  4. Снижены риски ошибок и несанкционированных действий.
  5. Упрощена работа администраторов и службы поддержки.