Перейти к основному содержимому

Как настроить вход и управлять сессиями

Все параметры входа кластера живут в одном месте: длина пароля, четыре требования к его составу, лимит неудачных попыток, окно их подсчёта и срок блокировки. Параметры одни на кластер — отдельной политики для ВЦОД (виртуального центра обработки данных) или для роли не предусмотрено.

Второй сюжет этой страницы — сессия. Она нужна каждому обращению к кластеру: без действующей сессии запрос отклоняется ещё до разбора операции. Понимание того, что гасит сессию, экономит время при разборе жалоб: половина «необъяснимых» отказов оказывается погашенной сессией после смены пароля.

Что нужно заранее​

  • Роль Cluster master, чтобы менять параметры безопасности и разблокировать учётные записи. Требования к паролю видит любой авторизованный пользователь.
  • Действующий вход в интерфейс кластера.
  • Понимание модели ролей — см. «Модель доступа vStack Center».

Как устроена сессия​

При входе кластер выдаёт токен сессии, и дальше каждый запрос предъявляет этот токен. Внутри кластера токен не ходит: на входе он превращается в числовой идентификатор пользователя, и все проверки прав работают уже с ним. Запрос без токена отклоняется отказом -9494 «No session token» — это отказ на аутентификации, а не на правах, и сама операция даже не начинает работать.

Токен теряет силу в трёх случаях: пользователь вышел, срок сессии истёк или пароль пользователя сменили. С недействительным токеном приходит отказ -11000: такой сессии среди активных нет.

Шаг 1. Прочитайте действующие параметры​

  1. Откройте раздел Settings и найдите блок Security policy.

  2. Посмотрите требования к паролю: минимальная длина и четыре требования к составу символов — заглавная буква, строчная буква, цифра, спецсимвол.

  3. Посмотрите параметры блокировки: сколько неудачных попыток допускается, за какое окно они складываются и на какой срок запись блокируется.

Требования к паролю видны любому авторизованному пользователю: форма смены пароля должна показать их каждому. Параметры блокировки открывает привилегия Edit Security Settings (9001), а не номер роли. У Cluster Master она есть, и кастомной роли её тоже можно назначить: в списке запрещённых для кастомных ролей стоят только привилегии управления ролями (7111, 7112, 7113). Поэтому «в блоке нет параметров блокировки» означает «нет привилегии 9001», а не обязательно «вы не администратор кластера».

Правка политики устроена строже чтения: сохранить изменения вправе только Cluster Master, привилегии 9001 для этого недостаточно.

Шаг 2. Измените политику​

  1. Откройте Settings → Security policy.

  2. Впишите новые значения в числовые параметры и переключите тумблеры требований к паролю. Менять всю политику целиком не нужно: незатронутые параметры остаются как были.

  3. Сохраните изменения.

ПараметрЗначениеЧто задаёт
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

См. также​

Методы API​

Операции этой страницы в API: auth-security-settings-get, auth-security-settings-set, auth-logout, user-set-password, user-unlock — см. Справочник API.