Администрирование Jexl#

Безопасный диалект Jexl обеспечивает контроль доступа при выполнении Jexl-скриптов. Проверка прав применяется только к скриптам, выполняемым напрямую пользователем через:

  • Специальные формы выполнения Jexl

  • Дебаггер

  • Rest-пакеты

  • Консоль WebSocket

  • Soap-сервисы

  • Библиотеки скриптов

Для включения безопасного диалекта, необходимо зайти в приложение Настройки системы, зайти в пункт меню Настройки и сервисы -> Настройки модулей системы -> Общие настройки модулей. В настройках модуля btk включите пункт Выполнение jexl-скриптов через безопасный диалект.

Так же в настройках модуля btk можно включить пункт Заполнять журнал доступа к объектам системы через jexl, что позволит отслеживать в аудите к каким объектам обращался Jexl-скрипт.

Все настройки производятся в карточке роли. Что бы в неё попасть, необходимо зайти в приложение Администратор, в пункт меню Доступ -> Роли и открыть карточку.

Доступ к Api / Pkg#

Для ограничения доступа к Api, необходимо в карточке роли зайти в закладку Серверные полномочия -> Доступ к Api.

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

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

Доступ к Api

Настройка доступа к Pkg осуществляется аналогично, но на закладке Доступ к пакетам

Разрешения Jexl#

Для настройки доступа к классам, не являющимися часть бизнес-объекта системы GlobalERP, используется закладка Разрешения Jexl.

  • Выдача прав на пакет: Для выдачи прав на пакет, необходимо выбрать тип привилегии package и имя привилегии соответствующее пакету. Таким образом из Jexl-скрипта будут доступны все классы данного пакета.

  • Выдача прав на класс: Для выдачи прав на класс, необходимо выбрать тип привилегии class и имя привилегии соответствующее текущему классу. Что бы выдать права на конкретные методы класса, необходимо в поле Методы в виде Json-массива указать их наименования. При необходимости выдать права на все методы, кроме указанных, следует установить галочку Указанные методы исключающие.

Разрешения Jexl

Выдача прав на таблицы в SQL запросах#

Выдать права на доступ можно в карточке Роли.

  1. Перейдите на закладку Доступ к таблицам в SQL запросах.

  2. Найдите необходимые вам таблицы и выдайте/отзовите права с помощью соответствующего чекбокса (слева на право - права на Select, Update, Delete, Insert)

Примечание

Права на Insert можно выдать только на таблицы «не наших» (public, aud, global_dev, global_system) схем.

Внимание

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

Журнал доступа к объектам системы#

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

Для просмотра аудита, необходимо зайти в приложение Настройки системы и в пункт меню Аудит -> Аудит Jexl.

Аудит Jexl