Модель безопасности Tarantool DB
Каждая операция в кластере Tarantool DB выполняется от имени конкретного пользователя – человека или сервиса,
взаимодействующего с экземпляром Tarantool DB.
Для корректной работы каждому пользователю назначается определенный набор прав доступа — напрямую или с помощью системных ролей
(именованных наборов прав).
Задать права пользователю можно в конфигурации кластера или с помощью метода box.schema.user.grant().
Права определяют, какие действия пользователь может выполнять над объектами TDB: пользовательскими и системными спейсами,
функциями и другими сущностями.
Системные спейсы — это внутренние служебные спейсы Tarantool DB (например _bucket или _cooler), в которых встроенные модули
(например crud, vshard или cooler) хранят метаданные и служебную информацию.
Модули выполняют свои операции от имени того же пользователя, который инициировал запрос, поэтому пользователю
требуется доступ на чтение к соответствующим системным спейсам — иначе модуль не сможет обработать запрос.
Таким образом, для корректной работы такому пользователю требуются:
- права на выполнение служебных функции модулей на стороне хранилища;
- права на чтение системных спейсов, чтобы модули могли читать необходимые метаданные;
- право на чтение и/или запись на пользовательские спейсы, чтобы выполнять операции с данными.
В разделах ниже описаны пользователи, роли и минимальные наборы прав, необходимые для типовых сценариев работы с кластером Tarantool DB.