Методы аутентификации. Логин и пароль (Advanced)
Метод аутентификации userpass-advanced позволяет пользователям аутентифицироваться в StarVault, используя комбинацию имени пользователя и пароля. В отличие от базовой версии, этот метод поддерживает смену собственного пароля пользователем, установку флага принудительной смены пароля администратором, генерацию пароля по политике. С настройками политик паролей подробнее можно ознакомиться в руководстве.
Комбинации имени пользователя, пароля и флаг принудительной смены пароля перед входом пользователя настраиваются непосредственно в методе аутентификации через путь users/. Этот метод не может считывать имена пользователей и пароли из внешнего источника.
Метод приводит все введенные имена пользователей к нижнему регистру, например, Mary и mary будут считаться одной и той же записью.
1. Аутентификация с помощью метода Userpass-advanced
Этот метод аутентификации можно использовать для аутентификации через UI, CLI или API.
- UI
-
На странице входа выберите Username & Password Advanced в качестве метода и в поля Username и Password введите соответствующие значения.
Если метод Userpass & Password Advanced был смонтирован по пути, отличном от пути по умолчанию (auth/userpass) введите этот путь в поле Mount path в разделе Hide options:
Пусть у созданного пользователя в разделе users/ был выставлен флаг Force password change (предвыбирается автоматически), как показано ниже:
В данном случае при первом входе необходимо выполнить смену пароля:
Ручная смена пароля доступна при нажатии на иконку профиля:
- CLI
-
-
Создание пользователя:
starvault write auth/userpass-advanced/users/<username> \ password="<password>" \ force_password_change=true \ create=true (1)
1 Для выполнения обновления данных уже созданного пользователя, необходимо выполнить аналогичную команду с флагом create=falseили без указания флага. -
-
Просмотр информации о пользователе:
starvault read auth/<userpass-advanced>/users/<username> -
Вход в УЗ, если
force_password_change = false, то выполнить действие Вход после смены пароля. -
Попытка входа, если флаг
force_password_change=true(по умолчанию). Возвращает ошибку403 password change required:starvault write auth/<userpass-advanced>/login/<username> password="<password>" -
Смена временного пароля:
starvault write auth/<userpass-advanced>/users/change-temporary-password \ username="<username>" \ password="<currnet_password>" \ new_password="<new_password>" -
starvault write auth/<userpass-advanced>/login/<username> \ password="<password>" -
Необязательно. Смена пароля вручную:
starvault write auth/<userpass-advanced>/users/password \ old_password="<current_password>" \ new_password="<new_password>"
2. Настройка Userpass-advanced
Методы аутентификации должны быть настроены заранее, прежде чем пользователи или машины смогут пройти аутентификацию. Эти шаги обычно выполняются администратором или инструментом управления конфигурацией.
Для настройки Userpass-advanced выполните следующие действия:
-
Активируйте метод:
-
Через UI:
-
Аутентифицируйтесь в пользовательском интерфейсе с достаточными правами.
-
На странице Доступ нажмите Добавить.
-
Выберите Username & Password Advanced и нажмите Далее.
-
При необходимости измените путь в поле Путь и параметры метода в группе Опции. Подробнее о параметрах см. в разделе Общие параметры для методов аутентификации
-
Нажмите Включить метод.
-
Для того, чтобы пользователь мог менять пароль, необходимо отредактировать политику default. Для этого выполните шаги:
-
Перейдите на вкладку Политики и с помощью фильтра найдите политику default.
-
Нажмите на кнопку Редактировать и перейдите к редактированию политики.
-
Добавьте в политику следующие строки:
path "auth/<userpass-advanced>/users/password" { capabilities = ["create", "update"] }Впишите в поле path свой путь метода.
-
Нажмите Сохранить
-
-
-
Через CLI:
-
Используйте команду для активации метода аутентификации.
starvault auth enable userpass-advanced -
Используйте команду для активации метода аутентификации c переопределением path.
starvault auth enable -path=<path> userpass-advancedПодробнее о параметрах см. в разделе Общие параметры для методов аутентификации
-
-
-
Необязательно. Доступно редактирование стандартной парольной политики Password policy в конфгурации метода
auth/configure/userpass-advanced/options. С настройками политик паролей подробнее можно ознакомиться в руководстве:-
Через UI:
-
Аутентифицируйтесь в пользовательском интерфейсе с достаточными правами.
-
На странице Доступ нажмите на карточку метода Userpass-advanced.
-
На странице метода нажмите Конфигурация.
-
В разделе конфигурации метода нажмите Конфигурировать.
-
-
Через CLI:
-
Используйте команду для редактирования парольной политики.
starvault write auth/userpass-advanced/policies/password policy="length = 30 rule \"charset\" { charset = \"abcdefghijklmnopqrstuvwxyz\" min-chars = 3 } rule \"charset\" { charset = \"ABCDEFGHIJKLMNOPQRSTUVWXYZ\" min-chars = 3 } rule \"charset\" { charset = \"0123456789\" min-chars = 3 } rule \"charset\" { charset = \"-\" min-chars = 3 }"
-
-
-
Создайте пользователя и ассоциируйте его с политикой (подробнее см. в разделе Политики доступа)
-
Через UI:
-
Аутентифицируйтесь в пользовательском интерфейсе с достаточными правами.
-
На странице Доступ нажмите на карточку метода Userpass-advanced.
-
На странице метода нажмите Создать.
-
Введите имя пользователя и пароль (его можно сгенерировать).
-
Необязательно. Переопределите параметр Принудительная смена пароля, отвечающий за необходимость смены пароля при первом входе пользователя.
-
В разделе Токены можно настроить дополнительные параметры, в том числе связать токен с политиками.
-
Нажмите Сохранить
Подробнее о доступных параметрах токена см. в таблице.
-
-
Через CLI:
Используйте следующую команду для создания пользователя:
starvault write auth/<userpass:path>/users/<username> \ password=<password> \ force_password_change=true \ create=true \ [options]
-
3. Управление пользователями
В таблице ниже представлены команды для управления пользователями в методе Userpass-advanced.
| Команда | Описание |
|---|---|
|
Создание нового пользователя или изменение существующего по пути Подробнее о доступных параметрах токена см. в таблице. |
|
Возвращает данные пользователя с именем <username> в методе Userpass-advanced по пути С помощью опции |
|
Возвращает список пользователей в методе Userpass-advanced по пути С помощью опции |
|
Удаляет пользователя с именем <username> в методе Userpass-advanced по пути |
Параметры учетной записи, которые можно передать при создании/изменении пользователя представлены в следующей таблице:
| Опция CLI | Поле в UI | Описание |
|---|---|---|
|
Флаг Force password change |
Логическое значение. Определяет, необходима ли смена пароля при первом входе. Если force_password_change установлен в |
|
Переключатель Generated Token’s Initial TTL |
Целочисленное или строковое значение. Определяет время жизни (TTL) токенов, выдаваемых для данного пользователя. По истечении этого времени токен будет автоматически отозван, если только он не будет продлен. |
|
Переключатель Generated Token’s Maximum TTL |
Целочисленное или строковое значение. Максимальное время жизни сгенерированных токенов. Текущее значение этого параметра будет указано при обновлении. |
|
Поля Generated Token’s Policies |
Список значений, разделенных запятыми. Используется для указания списка политик, которые будут присвоены токенам, выданным при аутентификации с использованием этого пользователя. |
|
Поля Generated Token’s Bound CIDRs |
Список значений, разделенных запятыми. Определяет список CIDR-адресов, для которых будет действителен выданный токен. Это ограничение по IP-адресам устанавливает, что токен может использоваться только с определенных IP-адресов или диапазонов IP-адресов, что повышает безопасность, ограничивая возможность использования токена |
|
Переключатель Generated Token’s Explicit Maximum TTL |
Целочисленное или строковое значение. Задает максимальное время жизни (TTL) для токенов, выданных с использованием этого пользователя. Это значение устанавливает жесткий верхний предел времени жизни токена, который не может быть превышен даже при продлении токена. |
|
Опция Do Not Attach 'default' Policy To Generated Tokens |
Логическое значение. Определяет, будет ли новому токену автоматически присваиваться политика по умолчанию. Если |
|
Поле Maximum Uses of Generated Tokens |
Целочисленное значение. Максимальное количество раз, которое может быть использован сгенерированный токен (в течение срока его действия). 0 означает неограниченное количество раз. Если требуется, чтобы токен имел возможность создавать дочерние токены, необходимо установить это значение равным 0. |
|
Переключатель Generated Token’s Period |
Целочисленное или строковое значение. Определяет период, в течение которого выданный токен может быть продлен бесконечное количество раз, пока политики, связанные с токеном, остаются неизменными. |
|
Поле Generated Token’s Type |
Строковое значение. Определяет тип токена, который будет выдан при аутентификации с использованием этой роли. Допустимые значения:
|
|
Флаг, отвечающий за создание новой или обновление существующей учетной записи по указанному пути. Допустимые значения:
|
Пример:
starvault write auth/admin-users/users/admin \ (1)
password=P@ssw0rd \ (2)
token_policies=admins-kv \ (3)
token_ttl=5h \ (4)
token_num_uses=2 (5)
| 1 | Создается пользователь с именем admin в методе аутентификации по пути admin-users |
| 2 | Установка пароля пользователя |
| 3 | Сопоставление токена пользователя с политикой admins-kv |
| 4 | Срок действия токена пользователя задан равным 5 часам |
| 5 | С этим токеном можно аутентифицироваться 2 раза. Затем токен будет аннулирован. |