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

Методы аутентификации. Логин и пароль

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

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

Метод приводит все введенные имена пользователей к нижнему регистру, например, Mary и mary будут считаться одной и той же записью.

1. Аутентификация с помощью метода Userpass

Этот метод аутентификации можно использовать для аутентификации через UI, CLI или API.

UI

На странице входа выберите Username в качестве метода и в поля Username и Password введите соответствующие значения.

userpass auth ui 1

Если метод Userpass был смонтирован по пути, отличном от пути по умолчанию (auth/userpass) введите этот путь в поле Mount path в разделе Hide options:

userpass auth ui 2
CLI

Используйте команду starvault login:

starvault login -method=userpass \ (1)
  username=admin \ (2)
  password=P@ssw0rd \ (3)
  [-path=<path>] (4)
1 Указывает команде использовать метод Userpass
2 Указывает пользователя для входа
3 Указывает пароль для входа
4 Если метод Userpass был смонтирован по пути, отличном от пути по умолчанию (auth/userpass) необходимо ввести актуальный путь.

2. Настройка Userpass

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

Для настройки Userpass выполните следующие действия:

  1. Активируйте метод:

    • Через UI:

      1. Аутентифицируйтесь в пользовательском интерфейсе с достаточными правами.

      2. На странице Access нажмите Enable new method.

      3. Выберите Username & Password и нажмите Next.

        enable userpass 1
      4. При необходимости измените путь в поле Path и параметры метода в группе Hide Method Options. Подробнее о параметрах см. в разделе Общие параметры для методов аутентификации.

      5. Нажмите Enable Method.

    • Через CLI:

      1. Используйте команду для активации метода аутентификации.

        starvault auth enable [options] userpass (1)
        1 Подробнее о параметрах см. в разделе Общие параметры для методов аутентификации
  2. Создайте пользователя и ассоциируйте его с политикой (подробнее см. в разделе Политики):

    • Через UI:

      1. Аутентифицируйтесь в пользовательском интерфейсе с достаточными правами.

      2. На странице Access нажмите на карточку метода Userpass.

      3. На странице метода нажмите Create user.

      4. Введите имя пользователя и пароль.

      5. В разделе Hide Tokens можно настроить дополнительные параметры, в т.ч связать токен с политиками.

      6. Нажмите Save.

      create user ui

      Подробнее о доступных параметрах токена см. в таблице

    • Через CLI:

      1. Используйте команду для создания пользователя.

        starvault write auth/<userpass:path>/users/<username> \ (1) (2)
            password=<password> \ (3)
            [options] (4)
        1 <userpass:path> - точка монтирования метода. По умолчанию userpass
        2 <username> - имя пользователя. Обязательный параметр
        3 <password> - пароль для пользователя. Обязательный параметр
        4 Дополнительные параметры токена пользователя. Подробнее о доступных параметрах токена см. в таблице

3. Управление пользователями

В таблице ниже представлены команды для управления пользователями в методе Userpass.

Команда Описание

starvault write auth/<userpass:path>/users/<username> <key=value list>

Создание нового пользователя или изменение существующего по пути auth/<userpass:path>/users/<username>. Параметры учетной записи передаются в формате key=value. Для добавления нескольких ключей со значениями, их необходимо перечислить через пробел.

Подробнее о доступных параметрах токена см. в таблице

starvault read [-format=<string>] auth/<userpass:path>/users/<username>

Возвращает данные пользователя с именем <username> в методе Userpass по пути <userpass:path>.

С помощью опции -format=<string> можно указать формат представления данных. Допустимые значения: table (по умолчанию), yaml, 'json', 'raw'.

starvault list [-format=<string>] auth/<userpass:path>/users

Возвращает список пользователей в методе Userpass по пути <userpass:path>.

С помощью опции -format=<string> можно указать формат представления данных. Допустимые значения: table (по умолчанию), yaml, 'json'.

starvault delete auth/<userpass:path>/users/<username>

Удаляет пользователя с именем <username> в методе Userpass по пути <userpass:path>.

Параметры учетной записи, которые можно передать при создании/изменении пользователя представлены в следующей таблице:

Опция CLI Поле в UI Описание

token_ttl

Переключатель Generated Token’s Initial TTL

Целочисленное или строковое значение. Определяет время жизни (TTL) токенов, выдаваемых для данного пользователя. По истечении этого времени токен будет автоматически отозван, если только он не будет продлен.

token_max_ttl

Переключатель Generated Token’s Maximum TTL

Целочисленное или строковое значение. Максимальное время жизни сгенерированных токенов. Текущее значение этого параметра будет указано при обновлении.

token_policies

Поля Generated Token’s Policies

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

token_bound_cidrs

Поля Generated Token’s Bound CIDRs

Список значений, разделенных запятыми. Определяет список CIDR-адресов, для которых будет действителен выданный токен. Это ограничение по IP-адресам устанавливает, что токен может использоваться только с определенных IP-адресов или диапазонов IP-адресов, что повышает безопасность, ограничивая возможность использования токена

token_explicit_max_ttl

Переключатель Generated Token’s Explicit Maximum TTL

Целочисленное или строковое значение. Задает максимальное время жизни (TTL) для токенов, выданных с использованием этого пользователя. Это значение устанавливает жесткий верхний предел времени жизни токена, который не может быть превышен даже при продлении токена.

token_no_default_policy

Опция Do Not Attach 'default' Policy To Generated Tokens

Логическое значение. Определяет, будет ли новому токену автоматически присваиваться политика по умолчанию.

Если token_no_default_policy установлен в true, то при создании токена политика по умолчанию не будет присвоена.

token_num_uses

Поле Maximum Uses of Generated Tokens

Целочисленное значение. Максимальное количество раз, которое может быть использован сгенерированный токен (в течение срока его действия). 0 означает неограниченное количество раз. Если требуется, чтобы токен имел возможность создавать дочерние токены, необходимо установить это значение равным 0.

token_period

Переключатель Generated Token’s Period

Целочисленное или строковое значение. Определяет период, в течение которого выданный токен может быть продлен бесконечное количество раз, пока политики, связанные с токеном, остаются неизменными.

token_type

Поле Generated Token’s Type

Строковое значение. Определяет тип токена, который будет выдан при аутентификации с использованием этой роли.

Допустимые значения:

  • service - стандартный тип токена, который может быть продлен в соответствии с его политиками и TTL. Токены типа "service" подходят для большинства приложений и сервисов, которые требуют долгосрочного доступа и возможности продления токена.

  • batch - легковесный тип токена, который хранится в памяти и не записывается в хранилище данных StarVault. Токены типа "batch" не могут быть продлены или отозваны индивидуально, и они исчезают при перезагрузке или выключении сервера StarVault. Они подходят для краткосрочных операций и сценариев с большим объемом токенов, где требуется меньшая нагрузка на хранилище.

  • default - Если параметр не задан, будет использоваться тип токена по умолчанию, который в большинстве случаев является типом "service".

Пример:

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 раза. Затем токен будет аннулирован.