TDB Documentation portal logo
Помощь
Обновлена 30 июля 2026 г. в 16:49

Роли в Tarantool DB

В Tarantool DB термин роль используется для обозначения нескольких разных сущностей:

  • Роль пользователя – это категория ролевого метода управления доступом, например Администратор БД, Пользователь БД, Администратор TCM и Пользователь словарей.

  • Технологическая роль – это программный модуль, реализующий определенные функции или логику, например roles.cooler или roles.crud-router. В конфигурации кластера список технологических ролей задается в секции roles на необходимом уровне конфигурации – для отдельного экземпляра кластера, набора реплик, группы или всех узлов в кластере. Настройки технологических ролей для конкретного экземпляра или группы экземпляров задаются в секции roles_cfg. Подробнее о технологических ролях можно прочитать в разделе Технологические роли в Tarantool DataBase.

    Пример конфигурации роли roles.crud-router, которые заданы на уровне группы – для всех роутеров в кластере:

    groups:  routers:    roles:      - roles.crud-router    roles_cfg:      roles.crud-router:        stats: true        stats_driver: metrics        stats_quantiles: true        stats_quantile_tolerated_error: 0.001        stats_quantile_age_buckets_count: 5        stats_quantile_max_age_time: 180
  • Системная роль – это именованная роль, которая задается в конфигурации кластера. Есть два вида системных ролей:

    • Системная роль пользователя – именованный набор прав (privileges), назначаемый пользователю, который позволяет управлять доступом к объектам Tarantool DB, например спейсам, функциям или базе данных целиком. Такие роли делятся на встроенные (например, sharding или replication) и пользовательские. В конфигурации кластера набор системных ролей пользователя задается в секции roles. В частности, используются следующие системные роли пользователя:

      • sharding – роль предоставляется служебному пользователю, используемому для управления шардированием в кластере;
      • replication – роль предоставляется служебному пользователю, используемому для управления репликацией внутри кластера;
      • super – роль предоставляет пользователю полный набор административных прав;
      • public – роль предоставляет пользователю определенные права на чтение. Автоматически назначается новым пользователям при их создании.

      Пример конфигурации пользователей с встроенными системными ролями sharding и replication:

      credentials:  users:    replicator:      password: replicator_password      roles: [replication]    storage:      password: storage_password      roles: [sharding]

      Подробнее о встроенных системных ролях sharding и replication можно узнать в разделе Служебные пользователи.

    • Системная роль шардирования – это технологическая роль набора реплик в шардированном кластере – storage (хранилище) или router (роутер). В конфигурации кластера список задается в секции sharding.roles на необходимом уровне конфигурации – для набора реплик, группы или всех узлов в кластере. Узнать больше о шардировании можно в соответствующем разделе документации.

      groups:  routers:    #...    sharding:      roles: [router]