Как настроить вход и управлять сессиями
Все параметры входа кластера живут в одном месте: длина пароля, четыре требования к его составу, лимит неудачных попыток, окно их подсчёта и срок блокировки. Параметры одни на кластер — отдельной политики для ВЦОД (виртуального центра обработки данных) или для роли не предусмотрено.
Второй сюжет этой страницы — сессия. Она нужна каждому обращению к кластеру: без действующей сессии запрос отклоняется ещё до разбора операции. Понимание того, что гасит сессию, экономит время при разборе жалоб: половина «необъяснимых» отказов оказывается погашенной сессией после смены пароля.
Что нужно заранее
- Роль
Cluster master, чтобы менять параметры безопасности и разблокировать учётные записи. Требования к паролю видит любой авторизованный пользователь. - Действующий вход в интерфейс кластера.
- Понимание модели ролей — см. «Модель доступа vStack Center».
Как устроена сессия
При входе кластер выдаёт токен сессии, и дальше каждый запрос предъявляет этот
токен. Внутри кластера токен не ходит: на входе он превращается в числовой
идентификатор пользователя, и все проверки прав работают уже с ним. Запрос без
токена отклоняется отказом -9494 «No session token» — это отказ на
аутентификации, а не на правах, и сама операция даже не начинает работать.
Токен теряет силу в трёх случаях: пользователь вышел, срок сессии истёк или пароль
пользователя сменили. С недействительным токеном приходит отказ -11000: такой
сессии среди активных нет.
Шаг 1. Прочитайте действующие параметры
-
Откройте раздел
Settingsи найдите блокSecurity policy. -
Посмотрите требования к паролю: минимальная длина и четыре требования к составу символов — заглавная буква, строчная буква, цифра, спецсимвол.
-
Посмотрите параметры блокировки: сколько неудачных попыток допускается, за какое окно они складываются и на какой срок запись блокируется.
Требования к паролю видны любому авторизованному пользователю: форма смены пароля
должна показать их каждому. Параметры блокировки открывает привилегия
Edit Security Settings (9001), а не номер роли. У Cluster Master она есть, и
кастомной роли её тоже можно назначить: в списке запрещённых для кастомных ролей
стоят только привилегии управления ролями (7111, 7112, 7113). Поэтому «в блоке нет
параметров блокировки» означает «нет привилегии 9001», а не обязательно «вы не
администратор кластера».
Правка политики устроена строже чтения: сохранить изменения вправе только
Cluster Master, привилегии 9001 для этого недостаточно.
Шаг 2. Измените политику
-
Откройте
Settings→Security policy. -
Впишите новые значения в числовые параметры и переключите тумблеры требований к паролю. Менять всю политику целиком не нужно: незатронутые параметры остаются как были.
-
Сохраните изменения.
| Параметр | Значение | Что задаёт |
|---|---|---|
max_failed_attempts | целое, не меньше 1 | сколько неудачных попыток допускается до блокировки |
failed_attempts_window_minutes | целое, не меньше 1 | окно в минутах, внутри которого попытки складываются |
lockout_duration_minutes | целое, не меньше 0 | срок блокировки в минутах; 0 — только снятие вручную |
password_min_length | целое, не меньше 1 | минимальная длина пароля |
password_require_uppercase | тумблер | требовать заглавную букву [A-Z] |
password_require_lowercase | тумблер | требовать строчную букву [a-z] |
password_require_digits | тумблер | требовать цифру [0-9] |
password_require_special | тумблер | требовать спецсимвол |
Два значения меняют режим работы платформы сильнее остальных. Нулевой срок блокировки превращает автоматическую блокировку в постоянную: он не истечёт, и снять блокировку сможет только администратор кластера. Такой режим уместен там, где разбирают каждый инцидент, но он же оставляет пользователя без доступа до обращения в поддержку. Лимит в одну неудачную попытку блокирует запись после первой же опечатки.
Шаг 3. Проверьте, что политика работает
Самая быстрая проверка — задать тестовой учётной записи пароль, который заведомо не
проходит. Короткое значение вернёт отказ -22730 «Password is too short». Дальше
каждое требование отвечает своим кодом.
| Код | Требование политики |
|---|---|
-22730 | минимальная длина пароля |
-22731 | заглавная буква |
-22732 | строчная буква |
-22733 | цифра |
-22734 | спецсимвол |
-22735 | пароль не совпадает с именем учётной записи |
-22737 | новый пароль не совпадает с текущим паролем этой же записи |
Последние два требования включены всегда и в параметрах не отключаются.
Дальше проверьте блокировку: исчерпайте лимит неудачных попыток тестовой записью и
посмотрите её состояние в разделе Users & Roles, таб Users. Как снять
блокировку — в инструкции
«Как управлять пользователями».
Как завершить сессию
Выход из интерфейса доходит до кластера: токен сессии сразу перестаёт работать. Выйти вправе любой пользователь, привилегия для этого не нужна, и на сессии других пользователей выход не влияет ни в одном режиме.
| Область выхода | Что происходит | Когда применять |
|---|---|---|
| текущая сессия (по умолчанию) | завершается ровно та сессия, из которой вы вышли; другие сессии того же пользователя продолжают работать | обычный выход из интерфейса |
| все сессии пользователя | завершаются все сессии, выданные этой учётной записи | выход со всех устройств, например после работы с чужого рабочего места |
Успешный выход кластер записывает одним событием безопасности auth.logout — с
пользователем, временем и адресом. Событие появляется только при успешном выходе:
повторная попытка выйти с уже погашенным токеном отклоняется на аутентификации и
второго события не создаёт.
Принудительная смена пароля при первом входе
У учётной записи может быть включено требование сменить пароль при первом входе. Такой пользователь после входа попадает не в интерфейс, а на форму смены пароля, и до смены ему доступна только она. Форма показывает действующие требования к паролю — их видно до отправки, а не после отказа.
На смену пароля даётся 5 минут: дальше нужно входить заново. Разрешение одноразовое и распространяется только на собственный пароль — сменить через него пароль другой учётной записи нельзя. После успешной смены требование снимается, и пользователь входит обычным путём.
Если операция отклонена
| Код | Причина | Что делать |
|---|---|---|
-9494 «No session token» | обращение ушло без токена сессии | войдите в интерфейс заново |
-11000 | сессии нет среди активных: срок истёк, был выполнен выход или пароль сменили | войдите заново |
-403 «Access denied» | параметры безопасности меняет не администратор кластера | выполните операцию от имени Cluster master |
-29101 «Security settings not found» | параметры хранятся одной записью на кластер, и этой записи нет | обратитесь в поддержку: параметры можно прочитать и обновить, но не создать заново |
-29102 | ошибка базы данных при чтении или записи параметров | повторите; если повтор не помог, обратитесь в поддержку |
-125 «Temp token expired or invalid» | на смену пароля при первом входе ушло больше 5 минут либо она уже выполнена | войдите заново и смените пароль сразу |
-126 «Method not allowed with temp token» | до смены пароля при первом входе запрошена другая операция | смените пароль, войдите обычным путём и повторите операцию |
-127 «Temp token allows changing own password only» | при первом входе меняется пароль другой учётной записи | через форму первого входа меняется только собственный пароль |
-22730…-22735, -22737 | новый пароль не проходит политику | посмотрите действующие требования в Settings → Security policy |
См. также
- Разблокировка учётной записи и смена пароля администратором — «Как управлять пользователями».
- Роли, привилегии и области видимости — «Модель доступа vStack Center».
- Точные наборы полей и сводка кодов — «Поля и коды ошибок методов доступа».
- События категории
auth— входы, выходы и отказы аутентификации — читаются в «Как читать журнал и фильтровать события»; устройство журнала — в «Журнале безопасности».
Методы API
Операции этой страницы в API: auth-security-settings-get,
auth-security-settings-set, auth-logout, user-set-password, user-unlock —
см. Справочник API.