Блок 4 курса по Optimacros: Настройка доступов и безопасности в Optimacros
Безопасность и разграничение доступа являются критически важной составляющей при внедрении систем планирования и аналитики уровня предприятия. В платформе Optimacros управление доступом реализовано на нескольких уровнях, охватывая права пользователей, ролевую модель, контекст пользователя (user context), систему атрибутов, ограничения редактирования и отображения, а также аудит действий.
Блок 4 курса подробно раскрывает все компоненты архитектуры безопасности в системе, принципы их взаимодействия и реализацию на практике. Настоящее пособие рассчитано на системных администраторов, архитекторов решений и моделёров, отвечающих за конфиденциальность данных и корректную работу многопользовательской среды.
1. Ролевая модель
1.1. Что такое роль в Optimacros
Роль (Role) в платформе — это определённый набор прав и интерфейсов, назначаемых группе пользователей. Через роли осуществляется доступ к моделям, дэшбордам, редактированию данных, скриптам и процессам.
1.2. Создание и настройка ролей
Создание роли осуществляется в системном справочнике "Roles". Каждой роли назначается:
- Набор прав доступа (read/write/view);
- Модели и интерфейсы, к которым предоставлен доступ;
- Параметры ограничения прав (например, запрет редактирования по определённым атрибутам);
- Применение user context (см. ниже).
Пример: Роль "Планёр региона" имеет доступ к модели продаж своего региона, может редактировать таблицы плана, запускать скрипты и видеть только свой регион в user context.
2. Пользователи и системные справочники
2.1. Управление пользователями
Пользователи управляются через справочник Users. Каждому пользователю присваиваются:
- Уникальный логин;
- Пароль или внешний способ аутентификации (например, через AD);
- Назначенные роли;
- Контекст (регион, SKU, BU и пр.);
- Дополнительные параметры (например, email для уведомлений).
2.2. Системный справочник Users
Содержит полную информацию по пользователям и используется для создания логики фильтрации в модели, а также в скриптах.
3. User Context
Контекст пользователя — это способ ограничения видимости и прав пользователя на основе его атрибутов. Контекст задаётся при логине или назначается в настройках профиля.
3.1. Использование в модели
User context применяется:
- При фильтрации данных в таблицах и графиках;
- В условиях редактирования ячеек;
- При вызове скриптов (например, чтобы пользователь обрабатывал только свои регионы);
- При ограничении дэшбордов.
Пример: Пользователь с контекстом Region="Центр" видит только строки таблиц, где Region="Центр".
3.2. Системные и кастомные параметры
Контекст может включать как стандартные атрибуты (Region, SKU, BU), так и кастомные параметры, добавленные в модели и дэшборды.
4. Ограничения на редактирование и видимость
4.1. Условия редактирования ячеек
Редактирование ячеек может быть ограничено:
- По значениям атрибутов (например, можно редактировать только свою категорию);
- По ролям (только для "Планёров");
- По флагам состояния модели (например, после утверждения запретить изменения);
- По датам (только в активном периоде).
Настройка производится в структуре мультикуба (при конфигурации прав на измерения и атрибуты).
4.2. Отображение и фильтрация
Дополнительно можно скрыть часть данных или элементов интерфейса:
- Фильтрация таблиц и графиков по контексту;
- Скрытие кнопок и дэшбордов по роли или атрибуту;
- Условная логика в скриптах (например, ветвление по роли).
5. Безопасность на уровне процессов и скриптов
Скрипты (внутримодельные и интеграционные) могут иметь ограниченный запуск:
- Только определёнными ролями;
- С контекстными параметрами;
- С проверкой входных условий (например, запрет на запуск, если данные уже утверждены).
Также поддерживается аудит вызова скриптов: логирование времени, пользователя, параметров и статуса выполнения.
6. Аудит и контроль
Платформа ведёт журнал действий пользователей, включая:
- Входы в систему;
- Изменения в данных и моделях;
- Запуски процессов и скриптов;
- Ошибки и исключения.
Данные доступны через дэшборды администратора или выгрузку в SIEM-системы.
7. Практические кейсы
Кейс 1: Разграничение доступа по регионам
- В системе 50 пользователей — региональные планёры.
- Создаётся одна модель, а видимость данных ограничивается через user context по региону.
- У каждого планёра своя роль и свои права редактирования.
Кейс 2: Безопасная работа с промо-планами
- Категорийные менеджеры редактируют план.
- Финансовый отдел утверждает значения и блокирует редактирование.
- Реализовано через атрибут "Статус" и логику блокировки по нему в правиле ячеек.
Кейс 3: Разделение интерфейсов
- Планёр и аналитик работают с одной моделью, но разными интерфейсами.
- Через роли каждому назначается свой дэшборд и кнопки.
8. Рекомендации и чек-лист внедрения
- Определите роли и зону ответственности пользователей;
- Назначьте контекст и настройте системные справочники Users;
- Реализуйте user context в логике модели и интерфейсах;
- Настройте редактирование и фильтрацию по условиям;
- Ограничьте скрипты по ролям и параметрам запуска;
- Подключите аудит и контрольные отчёты.
Заключение
Безопасность в Optimacros не сводится к логинам и паролям — это гибкая, масштабируемая система, охватывающая все уровни модели, интерфейса и бизнес-логики. Её грамотная настройка позволяет не только обеспечить соответствие требованиям ИБ, но и повысить качество и достоверность планирования за счёт точного разграничения прав и контекста каждого участника процесса.



