Методы аутентификации. AppRole
Метод аутентификации AppRole позволяет машинам или приложениям аутентифицироваться с использованием ролей, определенных в StarVault. Открытая конструкция AppRole позволяет использовать различные рабочие процессы и конфигурации для управления большим количеством приложений. Этот метод аутентификации ориентирован на автоматизированные рабочие процессы (машинное оборудование и сервисы) и менее полезен для операторов-людей. Мы рекомендуем с методом аутентификации AppRole использовать пакетные токены.
AppRole представляет собой набор политик StarVault и ограничений входа, которые должны быть выполнены для получения токена с этими политиками. Область применения может быть столь узкой или широкой, насколько это необходимо. AppRole может быть создан для конкретной машины, или даже для конкретного пользователя на этой машине, или для сервиса, распределенного по машинам. Требования к учетным данным для успешного входа зависят от ограничений, установленных на AppRole, связанном с учетными данными.
1. Настройка AppRole
Методы аутентификации должны быть настроены заранее, прежде чем пользователи или машины смогут пройти аутентификацию. Эти шаги обычно выполняются администратором или инструментом управления конфигурацией.
Для настройки AppRole выполните следующие действия:
-
Активируйте метод:
-
Через UI:
-
Аутентифицируйтесь в пользовательском интерфейсе с достаточными правами.
-
На странице Доступ нажмите Добавить.
-
Выберите AppRole и нажмите Далее.
-
При необходимости измените путь в поле Путь и параметры метода в группе Опции. Подробнее о параметрах см. в разделе Общие параметры для методов аутентификации.
-
Нажмите Включить метод.
-
-
Через CLI:
-
Используйте команду для активации метода аутентификации.
starvault auth enable [options] approle (1)1 Подробнее о параметрах см. в разделе Общие параметры для методов аутентификации
-
-
-
Создайте именованную роль с необходимыми параметрами:
starvault write auth/approle/role/<role-name> [options] (1)1 Замените <role-name>на имя создаваемой ролиДля настройки параметров роли используйте необходимые опции. Подробнее о доступных параметрах роли см. в таблице
-
Определите RoleID для AppRole
starvault read auth/approle/role/demo-role/role-id Key Value --- ----- role_id 6dd13b9f-024e-5ffd-f516-bb12a119a930RoleID является идентификатором, который выбирает AppRole, с которым сравниваются другие учетные данные. При аутентификации через конечную точку
loginэтого метода аутентификации RoleID всегда является обязательным аргументом -
Получите SecretID, выданный для AppRole:
starvault write -f auth/approle/role/demo-role/secret-id Key Value --- ----- secret_id 82b1c63c-368a-4985-48d1-0f2784bbd200 (1) secret_id_accessor 8a9b733b-c591-3bee-ded6-c1aa458dd602 secret_id_num_uses 40 secret_id_ttl 10m1 Необходимое значение SecretID - это учетные данные, которые по умолчанию требуются для любого входа (через secret_id). Для продвинутого использования требование SecretID может быть отключено через параметр bind_secret_id роли AppRole, позволяя машинам с знанием только RoleID или соответствующим другим установленным ограничениям получать токен.
2. Управление ролями AppRole
В таблице ниже представлены команды для управления ролями в методе AppRole.
| Команда | Описание |
|---|---|
|
Создание новой роли или изменение существующей по пути Подробнее о доступных параметрах роли см. в таблице |
|
Возвращает параметры роли с именем <role-name> в методе AppRole по пути С помощью опции |
|
Возвращает список ролей в методе AppRole по пути С помощью опции |
|
Удаляет роль с именем <role-name> в методе AppRole по пути |
Параметры, которые можно передать при создании/изменении роли представлены в следующей таблице:
| Опция | Описание |
|---|---|
|
Логическое значение. Определяет, будет ли для аутентификации через данную роль требоваться Secret ID. |
|
Список значений, разделенных запятыми. Определяет список CIDR-адресов, с которых разрешено использовать Secret ID для аутентификации. |
|
Целочисленное значение. Количество раз, которое Secret ID может быть использовано для аутентификации. |
|
Строковое значение. Время жизни (TTL) для Secret ID, связанного с ролью. |
|
Логическое значение. Определяет, будут ли Secret ID, связанные с данной ролью, локальными для сервера StarVault, на котором они были созданы. |
|
Целочисленное или строковое значение. Определяет время жизни (TTL) токенов, выдаваемых для данной роли AppRole. По истечении этого времени токен будет автоматически отозван, если только он не будет продлен. |
|
Целочисленное или строковое значение. Максимальное время жизни сгенерированных токенов. Текущее значение этого параметра будет указано при обновлении. |
|
Список значений, разделенных запятыми. Используется для указания списка политик, которые будут присвоены токенам, выданным при аутентификации с использованием этой роли. |
|
Список значений, разделенных запятыми. Определяет список CIDR-адресов, для которых будет действителен выданный токен. Это ограничение по IP-адресам устанавливает, что токен может использоваться только с определенных IP-адресов или диапазонов IP-адресов, что повышает безопасность, ограничивая возможность использования токена |
|
Целочисленное или строковое значение. Задает максимальное время жизни (TTL) для токенов, выданных с использованием этой роли. Это значение устанавливает жесткий верхний предел времени жизни токена, который не может быть превышен даже при продлении токена. |
|
Логическое значение. Определяет, будет ли новому токену автоматически присваиваться политика по умолчанию. Если |
|
Целочисленное значение. Максимальное количество раз, которое может быть использован сгенерированный токен (в течение срока его действия). 0 означает неограниченное количество раз. Если требуется, чтобы токен имел возможность создавать дочерние токены, необходимо установить это значение равным 0. |
|
Целочисленное или строковое значение. Определяет период, в течение которого выданный токен может быть продлен бесконечное количество раз, пока политики, связанные с токеном, остаются неизменными. |
|
Строковое значение. Определяет тип токена, который будет выдан при аутентификации с использованием этой роли. Допустимые значения:
|
Пример создания роли:
starvault write auth/approle/role/demo-role \
secret_id_ttl=10m \
token_num_uses=10 \
token_ttl=20m \
token_max_ttl=30m \
secret_id_num_uses=40