Права доступа к функциям системы определяются комбинацией ролей. При получении запроса система определяет роли, назначенные отправителю запроса, и разрешает ему только те действия, которые разрешены его ролями.
Список ролей, назначаемых по умолчанию, настраивается в конфигурации с помощью параметра CORE_DEFAULT_ROLES. Если в системе включена аутентификация, для каждого отправителя запросов можно задать свой список ролей в составе авторизационного токена.
Список ролей в авторизационном токене определяется атрибутом roles. Пример атрибута и его значения: roles:['env_datareader','env_datawriter'].
Порядок определения ролей
Полномочия отправителя запроса определяются в следующем порядке:
если аутентификация запросов включена и авторизационный токен содержит список ролей, используются роли из токена и их полномочия;
иначе (если аутентификация запросов включена, но токен не содержит список ролей или аутентификация отключена) используются роли из конфигурации и их полномочия.
При наличии нескольких ролей у отправителя запроса полномочия всех этих ролей объединяются. Если для отправителя запроса не нашлось ни одной роли, ему назначается роль env_none.
Набор ролей и их полномочий
В таблице ниже перечислены роли, предоставляемые системой, в порядке повышения уровня их полномочий. Для каждой роли перечислены доступные для нее запросы SQL+ и методы REST API.
Для исполнения запроса с помощью REST-метода query требуется роль, соответствующая типу запроса в теле сообщения. Чтобы определить нужную роль, используйте таблицу ниже, ориентируясь на списки запросов в столбце «Полномочия». Например, SELECT-запрос может быть исполнен только с ролью env_datareader или env_owner.