Метод Userpass

Метод аутентификации по логину/паролю

Метод авторизации userpass позволяет пользователям проходить аутентификацию в Deckhouse Stronghold с помощью комбинации имени пользователя и пароля.

Комбинации имени пользователя и пароля конфигурируются непосредственно в методе auth с помощью пути users/. Этот метод не может считывать имена пользователей и пароли из внешнего источника.

Все вводимые имена пользователей записываются в нижнем регистре, например, Mary и mary - это одна и та же запись.

Конфигурация

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

  1. Включите метод аутентификации userpass, как представлено ниже:

    d8 stronghold auth enable userpass
    

    Это позволяет включить метод аутентификации userpass по адресу auth/userpass. Чтобы включить его по другому пути, используйте флаг -path, как представлено ниже:

    d8 stronghold auth enable -path=<path> userpass
    
  2. Настройте метод на пользователей, которым разрешена аутентификация:

    d8 stronghold write auth/<userpass:path>/users/mitchellh \
       password=foo \
       policies=admins
    

В результате создается новый пользователь mitchellh с паролем foo, который будет связан с политикой admins. Это единственная необходимая конфигурация.

Блокировка пользователя

Если пользователь несколько раз подряд предоставит неверные учетные данные, Stronghold на некоторое время прекратит попытки проверить его учетные данные, а вместо этого сразу же вернет ошибку с отказом доступе. Мы называем такое поведение «блокировкой пользователя» (user_lockout). Время, на которое пользователь будет заблокирован, называется «длительностью блокировки» (lockout_duration). Пользователь сможет войти в систему после истечения срока блокировки. Количество неудачных попыток входа, после которых пользователь будет заблокирован, называется «порог блокировки» (lockout_threshold). Счетчик порога блокировки обнуляется через несколько минут без попыток входа или при успешной попытке входа. Время, в течение которого счетчик будет обнулен после отсутствия попыток входа, называется «сброс счетчика блокировки» (lockout_counter_reset). Это позволяет предотвратить атаки с целью подбора пароля.

Функция блокировки пользователя включена по умолчанию. Значения по умолчанию:

  • lockout_threshold - 5 попыток
  • lockout_duration - 15 минут
  • lockout_counter_reset - 15 минут.

Функцию блокировки пользователя можно отключить с помощью команды «auth tune», передав значение disable_lockout true

Этот функционал поддерживается только методами userpass, ldap и approle auth.