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