AUTH
AUTH
AUTH [username] password
- Доступно с версии:
- 1.0.0
- Сложность по времени:
- O(N), где N — количество паролей, определённых для пользователя
- Категории ACL:
-
@fast,@connection,
Команда AUTH аутентифицирует текущее подключение в двух случаях:
- Если сервер Redis защищён паролем через опцию
requirepass. - Если используется система ACL Redis на экземпляре Redis 6.0 или выше.
Версии Redis до Redis 6 могли понимать только одноаргументный вариант команды:
AUTH <password>
Эта форма просто аутентифицирует по паролю, установленному с помощью requirepass. В этой конфигурации Redis будет блокировать любые команды, выполняемые только что подключенными клиентами, пока подключение не будет аутентифицировано с помощью AUTH.
Если предоставленный с помощью AUTH пароль совпадает с паролем в файле конфигурации, сервер отвечает статусом OK и начинает принимать команды. В противном случае возвращается ошибка, и клиенту нужно попробовать новый пароль.
Когда используются ACL Redis, команда должна быть задана расширенным способом:
AUTH <username> <password>
Для аутентификации текущего подключения с одним из подключений, определённых в списке ACL (см. ACL SETUSER), и см. официальное руководство по ACL здесь для получения дополнительной информации.
Когда используются ACL, одноаргументный вариант команды, где указан только пароль, предполагает, что неявное имя пользователя — "default".
Замечание по безопасности
Из-за высокой производительности Redis, возможно параллельное тестирование большого количества паролей за очень короткий промежуток времени, поэтому убедитесь, что вы сгенерировали надёжный и очень длинный пароль, чтобы сделать такую атаку невозможной. Хороший способ сгенерировать надёжные пароли — использование команды ACL GENPASS.
Возврат
Ответ в виде простой строки или ошибка, если пароль или пара "имя пользователя/пароль" неверны.
История
- Начиная с версии Redis 6.0.0: добавлен стиль ACL (имя пользователя и пароль).
© 2006–2022 Salvatore Sanfilippo
Licensed under the Creative Commons Attribution-ShareAlike License 4.0.
https://redis.io/commands/auth/