Tarantool CE/EE Documentation portal logo
Помощь
Обновлена 15 сентября 2026 г. в 08:55

Аутентификация

Ограничения аутентификации

Tarantool Enterprise Edition предоставляет возможность применять дополнительные ограничения для аутентификации пользователей. Например, можно задать минимальное время между попытками аутентификации или отключить доступ для гостевых пользователей.

В приведенной ниже конфигурации для параметра security.auth_retries установлено значение 2, что означает, что Tarantool позволяет клиенту попытаться аутентифицироваться с одним и тем же именем пользователя три раза. При четвертой попытке применяется задержка аутентификации, заданная параметром security.auth_delay. Это означает, что после первой неудачной попытки клиенту нужно подождать 10 секунд.

security:  auth_delay: 10  auth_retries: 2  disable_guest: true

Параметр disable_guest отключает доступ через удаленные соединения для неаутентифицированных пользователей или пользователей guest.

Политика паролей

Политика паролей позволяет повысить безопасность базы данных за счет требования использовать надежные пароли, установки максимального срока действия пароля и т. д. При создании нового пользователя с помощью box.schema.user.create или обновлении пароля существующего пользователя с помощью box.schema.user.passwd пароль проверяется на соответствие настроенным параметрам политики паролей.

В примере ниже заданы следующие параметры:

security:  password_min_length: 16  password_enforce_lowercase: true  password_enforce_uppercase: true  password_enforce_digits: true  password_enforce_specialchars: true  password_lifetime_days: 365  password_history_length: 3

Протокол аутентификации

По умолчанию Tarantool использует протокол CHAP для аутентификации пользователей и применяет хеширование SHA-1 к passwords. Обратите внимание, что CHAP хранит хеши паролей в спейсе _user без соли. Если злоумышленник получит доступ к базе данных, он может подобрать пароль, например, используя радужную таблицу.

В Enterprise Edition можно включить аутентификацию PAP с алгоритмом хеширования SHA256. При использовании PAP пароль солится уникальной для пользователя солью перед сохранением в базе данных, что защищает базу данных от подбора пароля с помощью радужной таблицы.

Чтобы включить PAP, задайте параметр security.auth_type следующим образом:

security:  auth_type: 'pap-sha256'

Для новых пользователей метод box.schema.user.create генерирует данные аутентификации с использованием PAP-SHA256. Для существующих пользователей необходимо сбросить пароль с помощью box.schema.user.passwd, чтобы использовать новый протокол аутентификации.

В примере ниже показано, как задать протокол аутентификации с помощью параметра auth_type при подключении к экземпляру с использованием net.box:

local connection = require('net.box').connect({    uri = 'admin:topsecret@127.0.0.1:3301',    params = { auth_type = 'pap-sha256',               transport = 'ssl',               ssl_cert_file = 'certs/server.crt',               ssl_key_file = 'certs/server.key' }})

Если протокол аутентификации не указан явно на стороне клиента, клиент использует протокол, настроенный на сервере с помощью security.auth_type.