Открыть меню
Платформа Эра. Документация
Toggle preferences menu
Открыть персональное меню
Вы не представились системе
Your IP address will be publicly visible if you make any edits.

Ролевая модель системы

Материал из Платформа Эра. Документации

Общая информация

Платформа Эра предоставляет очень гибкую ролевую модель, позволяющую настраивать структуру и права пользователей любой сложности.

Ролевую модель реализуют три основных компонента:

  • Система доменов
  • Система групп пользователей и субординации
  • Система ролей и мандатов

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

Все параметры ролевой модели задаются в приложении Настройки.

Домены

Домен - это элемент структуры данных, определяющий границы между данными внутри развернутой системы «Era».

Домены представляют собой иерархическое доменное дерево, где каждый дочерний домен наследует имя своего родительского домена.

Дерево доменов

Логика работы системы использует домены и принадлежащие им объекты при реализации функционала и определении доступа для отдельных пользователей. Любой объект, доступный снаружи через API, принадлежит какому-либо домену. В том числе любой пользователь системы принадлежит одному конкретному домену и может оперировать только данными внутри домена. Все данные внутри домена по умолчанию замкнуты. Та сущность, которая принадлежит одному домену, не может принадлежать другому домену. За редким исключением на вертикальной иерархии, домены, их пользователи, процессы и объекты не имеют доступа к данным друг друга.

Домены участвуют в распределении количественных лицензий по дереву. Каждый домен из переданных ему от родительского домена лицензий резервирует часть под свое использование, а остальные может передавать дочерним доменам.

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

Каждый инстанс платформы по-умолчанию имеет мастер-домен, который используется только для настройки и администрирования, например era.example.com.

Для использования конечными пользователями, создается один или несколько дочерних доменов (например, sip.era.example.com). Пользователи и бизнес-данные будут относиться только к этому дочернему домену, доступ к мастер-домену остается только у администраторов платформы. Каждый дочерний домен в свою очередь может создавать собственные дочерние домены, если это необходимо. Данные каждого домена также будут изолированы, и они будут работать обособленно.

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

Домен не привязан к какому-либо серверу платформы, а так же может быть не связан с реальным доменным именем сервера (FQDN), так как эта сущность присутствутет только на уровне данных платформы.

Больше технических деталей про работу домена можно найти на ресурсе Vendor.

Пользователи и группы пользователей

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

Группа пользователей определяет общий набор ролей для этих пользователей. Каждая группа определяется набором ролей, составом пользователей и вложенными группами.

Роли вложенных групп также применяются к пользователем родительской группы. При использовании вложенных групп не допускаются циклы.

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

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

Правила субординации

Правила подчиненности пользователей

Правила субординации определяют отношения субординации между пользователями.

Отношения задаются между пользователями, группами и ролями. Существует также особый тип - ВСЕ ('all').

По-умолчанию в системе имеется правило ВСЕ-КО-ВСЕМ, которое имеет максимальный приоритет и по сути, означает отсутствие подчиненности между пользователями.

В рамках настройки домена, можно задать собственный набор правил, согласно которому система автоматически построит списки подчиненности.

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

Пример работы с подчиненностью можно посмотреть в курсе по разработке приложений.

Роли и ограничения доступа

Список доступных ролей в приложении

Роли - это основной механизм распределения доступа в рамках системы. Базовые механизмы ограничения доступа привязаны к ролям.

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

Неполный список возможных ограничений по ролям:

  • Ограничение доступа к данным класса целиком
  • Ограничение доступа к конкретным записям (объектам) класса
  • Ограничение доступа к конкретным свойствам (полям) класса
  • Ограничение доступа к действиям (кнопкам) в карточках класса
  • Ограниченеи доступа к приложениям системы
  • Изменение логики исполнения алгоритмов обработки

Технические детали про работу с ролями в приложениях можно посмотреть в курсе по разработке.

Также, в рамках курса описано получение параметров пользователя, включая список его ролей.