Роли в Tarantool DB
В Tarantool DB термин роль используется для обозначения нескольких разных сущностей:
-
Роль пользователя – это категория ролевого метода управления доступом, например Администратор БД, Пользователь БД, Администратор TCM и Пользователь словарей.
-
Технологическая роль – это программный модуль, реализующий определенные функции или логику, например
roles.coolerилиroles.crud-router. В конфигурации кластера список технологических ролей задается в секцииrolesна необходимом уровне конфигурации – для отдельного экземпляра кластера, набора реплик, группы или всех узлов в кластере. Настройки технологических ролей для конкретного экземпляра или группы экземпляров задаются в секцииroles_cfg. Подробнее о технологических ролях можно прочитать в разделе Технологические роли в Tarantool DataBase.Пример конфигурации роли
roles.crud-router, которые заданы на уровне группы – для всех роутеров в кластере:groups:routers:roles:- roles.crud-routerroles_cfg:roles.crud-router:stats: truestats_driver: metricsstats_quantiles: truestats_quantile_tolerated_error: 0.001stats_quantile_age_buckets_count: 5stats_quantile_max_age_time: 180 -
Системная роль – это именованная роль, которая задается в конфигурации кластера. Есть два вида системных ролей:
-
Системная роль пользователя – именованный набор прав (privileges), назначаемый пользователю, который позволяет управлять доступом к объектам Tarantool DB, например спейсам, функциям или базе данных целиком. Такие роли делятся на встроенные (например,
shardingилиreplication) и пользовательские. В конфигурации кластера набор системных ролей пользователя задается в секцииroles. В частности, используются следующие системные роли пользователя:sharding– роль предоставляется служебному пользователю, используемому для управления шардированием в кластере;replication– роль предоставляется служебному пользователю, используемому для управления репликацией внутри кластера;super– роль предоставляет пользователю полный набор административных прав;public– роль предоставляет пользователю определенные права на чтение. Автоматически назначается новым пользователям при их создании.
Пример конфигурации пользователей с встроенными системными ролями
shardingиreplication:credentials:users:replicator:password: replicator_passwordroles: [replication]storage:password: storage_passwordroles: [sharding]Подробнее о встроенных системных ролях
shardingиreplicationможно узнать в разделе Служебные пользователи. -
Системная роль шардирования – это технологическая роль набора реплик в шардированном кластере –
storage(хранилище) илиrouter(роутер). В конфигурации кластера список задается в секцииsharding.rolesна необходимом уровне конфигурации – для набора реплик, группы или всех узлов в кластере. Узнать больше о шардировании можно в соответствующем разделе документации.groups:routers:#...sharding:roles: [router]
-