Пользователи Tarantool¶
Пользователи Tarantool – это учетные записи для управления кластером Tarantool (или продуктов на его основе).
В этом разделе описаны два пользователя Tarantool:
пользователь
admin
предоставляет клиенту полный доступ ко всем функциям кластера, включая управление ролями пользователей, настройку параметров и репликацию. Он может создавать другие роли, управлять состоянием кластера и настраивать взаимодействие с другими компонентами.Примечание
Набор привилегий и область действия пользователя
admin
являются фиксированными и не подлежат изменению. Пользовательadmin
всегда обладает полным доступом ко всем функциям и объектам кластера, независимо от конфигурации других пользователей или параметров доступа.DML-пользователь выполняет DML-операции (чтение, запись, обновление, удаление данных). Когда кластер переводится в пассивное состояние, TCF блокирует доступ для всех DML-пользователей данного кластера. Таким образом организуется запрет изменения данных на пассивном кластере. Может быть создано несколько пользователей с такой ролью. Его создание и добавление в файл конфигурации необходимо для корректной работы TCF.
Примеры операций, которые могут выполнять пользователи admin
и DML-пользователь.
Операции для пользователя admin¶
Управление пользователями¶
Операции пользователя admin
на примере DML-пользователя:
Операция |
Команда |
Описание |
---|---|---|
Создание пользователя и пароля |
|
Создает нового пользователя с заданным паролем |
Изменение пароля |
|
Задает новый пароль пользователю |
Назначение прав |
|
Дает права на чтение и запись в указанный спейс |
Отключение прав на пассивном кластере |
|
Запрещает запись на пассивном кластере |
Включение прав на активном кластере |
|
Возвращает права при переключении на активный кластер |
Удаление пользователя |
|
Удаляет пользователя из системы |
Основные операции администратора по организации работы с данными¶
Операция |
Пример команды |
Описание |
---|---|---|
Создание спейса |
|
Создает новый спейс для хранения данных |
Удаление спейса |
|
Удаляет указанный спейс |
Создание первичного индекса |
|
Создает первичный индекс для упрощения доступа по ключу |
Создание вторичного индекса |
|
Добавляет индекс по полю |
Задание формата данных для спейса |
|
Задает формат данных для спейса |
Операции для DML-пользователя¶
DML-пользователь выполняет операции чтения, записи, обновления и удаления данных в рамках прав, предоставленных администратором (admin
).
При переключении кластера в пассивный режим этот пользователь теряет права на изменение данных для предотвращения некорректных записей.
Таких пользователей может быть несколько.
Чтение данных:
-- Чтение всех записей из спейса 'accounts' box.space.accounts:select{} -- Чтение записи с определённым ключом (например, по ID аккаунта) box.space.accounts:get{1}
Пример ответа:
{'1', 'Account #1', 'Active'}
Добавление новых данных:
-- Вставка новой записи о банковском аккаунте box.space.accounts:insert{2, 'Account #2', 'Pending'}
Пример ответа:
{'2', 'Account #2', 'Pending'}
Обновление данных:
-- Обновление статуса аккаунта box.space.accounts:update({2}, {{'=', 3, 'Approved'}})
Пример ответа:
{'2', 'Account #2', 'Approved'}
Удаление данных:
-- Удаление записи по ключу (удаление аккаунта) box.space.accounts:delete{2}
Пример ответа:
{'2', 'Account #2', 'Approved'}
Операция |
Команда |
Описание |
---|---|---|
Чтение всех данных |
|
Чтение всех записей из спейса |
Чтение по ключу |
|
Чтение записи по первичному ключу в спейсе |
Добавление данных |
|
Добавление новой записи о банковском аккаунте |
Обновление данных |
|
Обновление существующей записи (например, статус аккаунта) |
Удаление данных |
|
Удаление записи по ключу из спейса |
Пример конфигурации¶
Пример создания пользователей в YAML-конфигурации для работы TCF:
credentials:
users:
admin:
password: 'secret'
roles: [super]
privileges:
- permissions: ['read', 'write', 'execute', 'create', 'alter', 'drop']
universe: true
dml_users:
password: 'dml_password'
roles: [dml]
privileges:
- permissions: ['read', 'write', 'create', 'alter']
spaces: ['space_name']
Пользователи:
admin
: администратор БД, предоставляет полный доступ ко всем функциям кластера;replication_user
: служебный пользователь репликации данных. На стороне Gateway требует прав на чтение (roles: [replication]
), на стороне Destination — прав на выполнение кода и запись данных. Обычно назначаются праваsuper
(без прав на управление пользователями);
Параметры пользователей:
password
: пароль пользователя, необходимый для аутентификации;roles
: роли, назначенные пользователю. Роль определяет разрешенные действия для пользователя в кластере;privileges
: операции, разрешенные пользователю. Может включать различные виды разрешений, такие как чтение, запись, выполнение и другие;permissions
: разрешения, которые могут быть предоставлены пользователю (например,read
,write
,execute
,create
,alter
,drop
);universe
: если задано значениеtrue
, разрешения действуют на все объекты в кластере;space
: спейс данных, для которого предоставляются права.