Администрирование REST-сервисов

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

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

Класс Btk_AcPackage содержит информацию об администрируемых пакетах:

  • имя пакета;

  • ID модуля, которому он принадлежит;

  • является ли он REST-пакетом (bIsRest);

  • администрируются ли серверные полномочия (bControlServerPriv).

Пакет считается REST-пакетом, если он наследуется от трейта RestPkg, в том числе от его потомков. REST-пакеты регистрируются при обновлении администрируемых объектов по модулю. Если при обновлении окажется, что пакет больше не наследуется от RestPkg, признак bIsRest в таблице будет снят.

Внимание

После изменения статуса администрируемости пакета необходимо сбросить shared-кэш по классу Btk_AcPackage.

Выдача прав на вызов REST-пакетов#

В карточке роли на закладке «Права на REST-пакеты» отображается список пакетов из класса Btk_AcPackage и наличие доступа у роли. Информация о доступе для роли хранится в таблице Btk_AcRolePackagePriv.

Для выбора или снятия доступа роли к пакету используйте чекбокс «Имеет доступ». Во время индексации прав пользователей по роли для всех REST-пакетов, у которых стоит галка «Контролировать серверные полномочия», будут выданы объектные привилегии пользователям, которые имеют данный профиль. Привилегии регистрируются на администрируемый объект Btk_AcPackage.

Примечание

Суперпользователь имеет полный доступ.