Методы аутентификации. Общие сведения
Методы аутентификации — это компоненты в StarVault, которые выполняют аутентификацию и отвечают за присвоение идентификатора и набора политик пользователю. Во всех случаях StarVault обеспечивает аутентификацию как часть обработки запроса. В большинстве случаев StarVault делегирует администрирование и принятие решений о аутентификации соответствующему настроенному внешнему методу аутентификации (например, GitHub, Kubernetes, LDAP и т.д.).
Наличие нескольких методов аутентификации позволяет выбрать наиболее подходящий для каждого отдельного случая использования StarVault.
Например, на машинах разработчиков метод аутентификации через GitHub является наиболее простым в использовании. Но для серверов рекомендуемым выбором является метод AppRole.
1. Жизненный цикл методов аутентификации
Большинство методов аутентификации можно включать, отключать, настраивать и перемещать с помощью CLI, API или UI.
К этапам жизненного цикла методов аутентификации относятся:
-
Enable - активация метода аутентификации по указанному пути. За некоторыми исключениями, методы могут быть включены по нескольким путям. По умолчанию методы аутентификации монтируются в auth/<type>. Например, после активации метода "github", взаимодействовать с ним можно по адресу auth/github.
-
Disable - отключение существующего метода аутентификации. При отключении метода аутентификации, все пользователи, прошедшие аутентификацию с помощью этого метода, автоматически выходят из системы.
-
Move - перемещение существующего метода аутентификации в другой путь. В результате этого процесса все аренды аннулируются. Конфигурационные данные, хранящиеся для метода аутентификации, сохраняются после перемещения.
-
Tune - настройка глобальной конфигурации метода аутентификации, например TTL.
После активации метода аутентификации вы можете взаимодействовать с ним напрямую по его пути в соответствии с его собственным API. Используйте команду starvault path-help, чтобы определить пути, на которые он отвечает.
Обратите внимание, что точки монтирования в StarVault не могут конфликтовать друг с другом. Этот факт имеет два серьёзных последствия:
-
Вы не можете иметь точку монтирования, которая начинается с уже существующей точки монтирования.
-
Вы не можете создать точку монтирования с именем, которое является префиксом уже существующей точки монтирования.
Например, точки монтирования foo/bar и foo/baz могут сосуществовать, a foo и foo/baz нет.
1.1. Управление жизненным циклом
В следующей таблице представлены возможные операции с методами аутентификации и способы их выполнения.
| Операция | Выполнение в UI | Выполнение в CLI | Дополнительная информация |
|---|---|---|---|
Просмотр списка доступных методов |
На странице Access |
|
При использовании CLI возможно управление выводом списка методов с помощью следующих опций:
|
Активация |
На странице Access путем нажатия Enable new method |
|
Как при использовании UI, так и CLI при активации можно задать дополнительные параметры механизма. Список параметров и их описание см. в разделе Общие параметры для методов аутентификации. |
Деактивация |
На странице Access в расширенном меню метода ( |
|
|
Перемещение |
Недоступно |
|
|
Настройка |
|
|
Список параметров и их описание см. в разделе Общие параметры для методов аутентификации. |
1.2. Общие параметры для методов аутентификации
В таблице ниже представлены возможные параметры для настройки методов и их описание.
|
Для конкретных методов могут быть доступны не все параметры. Подробнее см. в описании соответствующего метода. |
| Опция команды CLI | Поле в UI | Описание параметра | ||
|---|---|---|---|---|
|
Используется для настройки списка заголовков ответа, которые разрешено возвращать клиенту при запросах к методу аутентификации. Например:
В этом примере заголовки |
|||
|
Request keys excluded from HMACing in audit |
Используется для указания списка ключей запроса, которые должны быть залогированы в журналах аудита в незашифрованном виде. По умолчанию, когда запрос записывается в журнал аудита, все его ключи и значения обычно защищены с помощью хэширования HMAC, чтобы предотвратить утечку конфиденциальной информации через журналы. Например:
В этом примере |
||
|
Response keys excluded from HMACing in audit |
Используется для указания списка ключей ответа, которые должны быть залогированы в журналах аудита в незашифрованном виде. Как и в случае с ключами запроса, когда ответ записывается в журнал аудита, все его ключи и значения обычно защищены с помощью хэширования HMAC, чтобы предотвратить утечку конфиденциальной информации через журналы. Например:
В этом примере |
||
|
Default Lease TTL |
Используется для установки времени жизни (TTL) по умолчанию для всех аренд (leases), выдаваемых методом аутентификации, к которому применяется эта настройка. Это время, на которое выдается токен или другие учетные данные после успешной аутентификации пользователя. Как только TTL истекает, аренда (и соответствующие учетные данные) становятся недействительными, если они не были продлены. Пример:
В этом примере для точки монтирования по пути |
||
|
Description |
Описание метода аутентификации. |
||
|
Используется для включения доступа к внешнему источнику энтропии при генерации криптографических ключей, токенов или других случайных значений, которые требуют высокого уровня случайности. Пример:
Эта команда включает доступ к внешнему источнику энтропии для метода <method-name> при его активации. |
|||
|
Опция List method when unauthenticated |
Определяет, какие ключи будут видны при выполнении запроса типа Опция имеет два возможных значения:
Пример:
В этом примере для точки монтирования по пути |
||
|
Опция Local |
Используется для указания, что данный метод аутентификации должен быть локальным для сервера, на котором он настроен. Это означает, что метод не будет реплицироваться в кластерных установках StarVault, которые используют репликацию данных. Пример:
|
||
|
Max Lease TTL |
Устанавливает максимальное время жизни (TTL) для аренды, выдаваемой методом аутентификации. Это ограничение применяется ко всем токенам и учетным данным, выданным через точку монтирования, и задаёт верхний предел времени, на который можно продлить аренду до её истечения. Пример:
В этом примере для точки монтирования по пути |
||
|
Allowed passthrough request headers |
Используется для указания списка HTTP заголовков запроса, которые должны быть переданы через StarVault к удалённому ресурсу или сервису. Например:
В этом примере заголовки |
||
|
Path |
Определяет путь точки монтирования, где будет активирован метод аутентификации. Например:
В этом примере метод типа |
||
|
Используется для указания имени плагина, который будет использоваться при активации метода аутентификации. Это имя должно соответствовать имени плагина, как оно зарегистрировано в системе StarVault. Например:
В этом примере плагин с именем |
|||
|
Используется для указания версии плагина, который вы хотите использовать при активации метода аутентификации. Указание версии плагина необходимо, когда доступно несколько версий плагина и требуется контроль над тем, какая именно версия должна быть задействована. Пример:
В этом примере плагин с именем |
|||
|
Опция Seal wrap |
Используется для включения функции обертывания печати (Seal Wrapping) для всего метода аутентификации или определенных данных внутри него. Seal Wrapping — это механизм, который использует возможности автоматического запечатывания (Auto-Seal) хранилища для дополнительной защиты конфиденциальных данных. Когда опция Пример:
В этом примере для метода аутентификации типа |
||
|
Меню Token Type |
Используется для определения типа токена, который будет выдан после успешной аутентификации пользователя. Тип токена влияет на возможности и поведение токена в системе StarVault. Существует несколько типов токенов, которые можно указать с помощью этой опции:
Пример:
В этом примере для метода аутентификации через GitHub устанавливается тип выдаваемых токенов как "batch". Это означает, что после аутентификации пользователей через GitHub, они получат batch-токены. |
||
|
Определяет период времени, по истечении которого счетчик неудачных попыток входа (автоматической блокировки пользователя) будет сброшен. Эта настройка используется в сочетании с механизмами блокировки учетных записей для предотвращения подбора паролей и других видов атак. Пример:
В этом примере для метода аутентификации, находящегося по пути path/to/auth/method, устанавливается продолжительность сброса счетчика блокировки равной одному часу ( |
|||
|
Используется для отключения механизма блокировки пользователей после определенного количества неудачных попыток аутентификации. Это может быть полезно в средах, где блокировка пользователей не требуется или где администраторы предпочитают другие методы защиты от атак по подбору паролей. Пример:
|
|||
|
Задаёт продолжительность блокировки пользователя после превышения допустимого количества неудачных попыток входа. Пример:
В этом примере для метода аутентификации по пути path/to/auth/method устанавливается продолжительность блокировки пользователя равной 30 минутам ( |
|||
|
Устанавливает пороговое значение неудачных попыток входа, после которого пользователь будет временно заблокирован. Это мера безопасности предназначена для предотвращения атак по подбору паролей и других видов несанкционированного доступа. Пример:
В этом примере для метода аутентификации по пути path/to/auth/method устанавливается пороговое значение в 5 неудачных попыток входа. Если пользователь вводит неверные учетные данные более пяти раз подряд, он будет заблокирован в соответствии с настройками продолжительности блокировки. |
