TDB Documentation portal logo
Помощь

Модель безопасности Tarantool DB

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

Системные спейсы — это внутренние служебные спейсы Tarantool DB (например _bucket или _cooler), в которых встроенные модули (например crud, vshard или cooler) хранят метаданные и служебную информацию. Модули выполняют свои операции от имени того же пользователя, который инициировал запрос, поэтому пользователю требуется доступ на чтение к соответствующим системным спейсам — иначе модуль не сможет обработать запрос.

Таким образом, для корректной работы такому пользователю требуются:

  • права на выполнение служебных функции модулей на стороне хранилища;
  • права на чтение системных спейсов, чтобы модули могли читать необходимые метаданные;
  • право на чтение и/или запись на пользовательские спейсы, чтобы выполнять операции с данными.

В разделах ниже описаны пользователи, роли и минимальные наборы прав, необходимые для типовых сценариев работы с кластером Tarantool DB.