Права доступа на данные показателей

Материал из 3v-wiki
Перейти к навигации Перейти к поиску

Описание

Права доступа на данные можно разграничивать за счет сегментов.
Сегмент - это часть данных показателя, ограниченная фильтрами на элементы справочников. Фильтры по справочникам независимы, из чего следует, что кол-во ячеек в сегменте - это декартово произведение элементов всех справочников показателя.

  • Показатель может иметь неограниченное кол-во сегментов
  • Сегменты могут пересекаться
  • Сегменты вычисляются на лету при открытии показателя. Это означает, что фильтры на элементы справочника сегмента могут быть динамическими, в т. ч. содержать формулы, использующие значения токена.
  • На сегменты можно раздать стандартные права: роли или пользователю на чтение/изменение/удаление.

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

1 {
2   ...
3   "isAccessRightsEnabled": true,
4   ...
5 }

API по работе с сегментами

Сваггер по адресу /engine/swagger/index.html#/Segment

Создание сегмента

/engine/swagger/index.html#/Segment/Segment_CreateSegment
Для создания нужно указать идентификатор показателя и коллекцию описания справочников (ид. справочника и фильтры).
В ответ приходит этот же набор фильтров, а также ид. сегмента.

Просмотр сегментов показателя

/engine/swagger/index.html#/Segment/Segment_GetSegments
Чтобы посмотреть все сегменты по показателю, нужно воспользоваться этим методом, указав ид. показателя.

Просмотр и изменение сегментов

Если известен ид. сегмента, то можно его посмотреть, удалить или модифицировать.

  • /engine/swagger/index.html#/Segment/Segment_GetSegment
  • /engine/swagger/index.html#/Segment/Segment_EditSegment
  • /engine/swagger/index.html#/Segment/Segment_DeleteSegment

Раздача прав на сегменты

/engine/swagger/index.html#/Segment/Segment_SetPermissions
После того как сегменты созданы, можно назначать на них права: нужно указать ид. показателя, ид. сегмента, субъекта и тип права.