/sys/auth
Конечная точка /sys/auth используется для перечисления, создания, обновления и удаления методов аутентификации. Методы аутентификации преобразуют информацию, предоставленную пользователем или устройством, в токен, который можно использовать для всех будущих запросов.
1. Список методов аутентификации
В данной конечной точке перечислены все включенные методы аутентификации.
Метод |
Путь |
|
|
curl \
--header "X-Vault-Token: ..." \
http://127.0.0.1:8200/v1/sys/auth
{
"request_id": "9bc0fab8-d65c-3961-afe6-d05f50c5fd22",
"lease_id": "",
"lease_duration": 0,
"renewable": false,
"data": {
"github/": {
"accessor": "auth_github_badd7fd0",
"config": {
"default_lease_ttl": 0,
"force_no_cache": false,
"max_lease_ttl": 0,
"token_type": "default-service"
},
"deprecation_status": "supported",
"description": "",
"external_entropy_access": false,
"local": false,
"options": null,
"plugin_version": "",
"running_plugin_version": "v1.12.0+builtin.starvault",
"running_sha256": "",
"seal_wrap": false,
"type": "github",
"uuid": "4b42d1a4-0a0d-3c88-ae90-997e0c8b41be"
},
"token/": {
"accessor": "auth_token_bd90f507",
"config": {
"default_lease_ttl": 0,
"force_no_cache": false,
"max_lease_ttl": 0,
"token_type": "default-service"
},
"description": "token based credentials",
"external_entropy_access": false,
"local": false,
"options": null,
"plugin_version": "",
"running_plugin_version": "v1.12.0+builtin.starvault",
"running_sha256": "",
"seal_wrap": false,
"type": "token",
"uuid": "e162baec-721b-7657-7913-c960df402f8a"
}
},
"warnings": null
}
2. Включение метода аутентификации
Данная конечная точка включает новый метод аутентификации. После включения к нему можно будет получить доступ и настроить его через путь аутентификации, указанный в URL-адресе. Этот путь аутентификации будет вложен в auth префикс.
Например, включение метода аутентификации «foo» сделает его доступным по адресу /auth/foo.
-
sudoтребуется – данная конечная точка требуетsudoвозможности в дополнение к любым возможностям, специфичным для пути.
Метод |
Путь |
|
|
2.1. Параметры
-
path(string: <required>)– Указывает путь для включения метода аутентификации. Это часть URL-адреса запроса.
|
Для указания нужного пути используйте печатные символы ASCII. |
-
description(string: "")– задает понятное для человека описание метода аутентификации. -
type(string: <required>)– указывает название типа метода аутентификации, например «github» или «token». -
config(map<string|string>: nil)– задает параметры конфигурации для этого метода аутентификации. Возможные значения:-
default_lease_ttl(string: "")- длительность аренды по умолчанию, указанная в виде строки, например «5s» или «30m». -
max_lease_ttl(string: "")- максимальная продолжительность аренды, указанная в виде строки, например «5s» или «30m». -
audit_non_hmac_request_keys(array: [])- список ключей, которые не будут проверяться HMAC устройствами аудита в объекте данных запроса. -
audit_non_hmac_response_keys(array: [])- список ключей, которые не будут проверяться HMAC устройствами аудита в объекте данных ответа. -
listing_visibility(string: "")— указывает, отображать ли данное подключение в списке при вызове конечной точке, специфичной для пользовательского интерфейса. Допустимые значения:"unauth"или"hidden", значение по умолчанию —"", что эквивалентно"hidden". -
passthrough_request_headers(array: [])- список заголовков, которые разрешается передавать из запроса в плагин. -
allowed_response_headers(array: [])- список разрешенных заголовков, позволяющий плагину включать их в ответ. -
plugin_version(string: "")– указывает семантическую версию используемого плагина, например, "v1.0.0". Если версия не указана, сервер выберет любой подходящий плагин без версии, который мог быть зарегистрирован, плагин с последней зарегистрированной версией или встроенный плагин в указанном порядке приоритета.
-
{
"type": "oidc",
"description": "Login with OIDC"
}
curl \
--header "X-Vault-Token: ..." \
--request POST \
--data @payload.json \
http://127.0.0.1:8200/v1/sys/auth/my-auth
3. Конфигурация метода аутентификации
Данная конечная точка возвращает конфигурацию метода аутентификации по указанному пути.
Метод |
Путь |
|
|
curl \
--header "X-Vault-Token: ..." \
http://127.0.0.1:8200/v1/sys/auth/my-auth
{
"request_id": "8d2a1e33-4c00-46a5-f50d-4dc5f5d96f12",
"lease_id": "",
"lease_duration": 0,
"renewable": false,
"data": {
"accessor": "auth_oidc_badd7fd0",
"config": {
"default_lease_ttl": 0,
"force_no_cache": false,
"max_lease_ttl": 0,
"token_type": "default-service"
},
"deprecation_status": "supported",
"description": "",
"external_entropy_access": false,
"local": false,
"options": null,
"plugin_version": "",
"running_plugin_version": "v1.12.0+builtin.starvault",
"running_sha256": "",
"seal_wrap": false,
"type": "oidc",
"uuid": "4b42d1a4-0a0d-3c88-ae90-997e0c8b41be"
},
"warnings": null
}
4. Отключение метода аутентификации
Данная конечная точка отключает метод аутентификации по заданному пути аутентификации.
sudo требуется – эта конечная точка требует sudo возможности в дополнение к любым возможностям, специфичным для пути.
Метод |
Путь |
|
|
5. Настройка метода аутентификации чтения
-
Эта конечная точка считывает конфигурацию указанного пути аутентификации. Для этой конечной точки требуется
sudoразрешение на конечном пути, но ту же функциональность можно реализовать и безsudoпри использованииsys/mounts/auth/[auth-path]/tune. -
sudoтребуется – эта конечная точка требуетsudoвозможности в дополнение к любым возможностям, специфичным для пути.
Метод |
Путь |
|
|
5.1. Параметры
-
path(string: <required>)– Указывает путь для настройки.
curl \
--header "X-Vault-Token: ..." \
http://127.0.0.1:8200/v1/sys/auth/my-auth/tune
{
"default_lease_ttl": 2764800,
"description": "",
"force_no_cache": false,
"max_lease_ttl": 2764800,
"token_type": "default-service"
}
6. Метод аутентификации Tune
Параметры конфигурации Tune для заданного пути аутентификации. Эта конечная точка требует наличия sudo разрешения на конечном пути, но ту же функциональность можно получить и без sudo при использовании sys/mounts/auth/[auth-path]/tune.
sudo требуется – данная конечная точка требует sudo возможности в дополнение к любым возможностям, специфичным для пути.
Метод |
Путь |
|
|
6.1. Параметры
-
default_lease_ttl(int: 0)– задает время жизни по умолчанию. Если задано для конкретного пути аутентификации, это переопределяет глобальное значение по умолчанию. -
max_lease_ttl(int: 0)– задает максимальное время жизни. Если задано для конкретного пути аутентификации, это переопределяет глобальное значение по умолчанию. -
description(string: "")– задает описание монтирования. Оно переопределяет текущее сохраненное значение, если таковое имеется. -
audit_non_hmac_request_keys(array: [])- указывает список ключей, которые не будут проверяться HMAC устройствами аудита в объекте данных запроса. -
audit_non_hmac_response_keys(array: [])- указывает список ключей, которые не будут проверяться HMAC устройствами аудита в объекте данных ответа. -
listing_visibility(string: "")— указывает, отображать ли это крепление в конечной точке списка, специфичной для пользовательского интерфейса. Допустимые значения:"unauth"или"hidden", значение по умолчанию —"", что эквивалентно"hidden". -
passthrough_request_headers(array: [])- список заголовков, которые разрешается передавать из запроса в плагин. -
allowed_response_headers(array: [])- список разрешенных заголовков, позволяющий плагину включать их в ответ. -
token_type(string: "")– указывает тип токенов, которые должно возвращать монтирование. Доступны следующие значения:-
default-service: если метод аутентификации не требует другого типа, выдайте токены сервиса; -
default-batch: если метод аутентификации не требует другого типа, выдавайте пакетные токены; -
service: переопределить любые предпочтения метода аутентификации и всегда выдавать токены службы с этого монтирования; -
batch: переопределить любые предпочтения метода аутентификации и всегда выдавать токены пакетов с этого монтирования.
-
-
plugin_version(string: "")– указывает семантическую версию используемого плагина, например, "v1.0.0". Изменения не вступят в силу до перезагрузки монтирования. -
user_lockout_config(map<string|string>: nil)– задает конфигурацию пользовательской блокировки для монтируемого устройства. Возможные значения:-
lockout_threshold(string: "")- указывает количество неудачных попыток входа в систему, после которого пользователь блокируется, указывается в виде строки типа «15». -
lockout_duration(string: "")- указывает продолжительность времени, на которое пользователь будет заблокирован, указывается в виде строки, например «5s» или «30m». -
lockout_counter_reset(string: "")- указывает длительность периода, по истечении которого счетчик блокировок сбрасывается при отсутствии неудачных попыток входа в систему, указывается в виде строки, например «5s» или «30m». -
lockout_disable(bool: false)- отключает функцию блокировки пользователя для этого монтируемого устройства, если установлено значениеtrue.
-
{
"default_lease_ttl": 1800,
"max_lease_ttl": 86400,
"audit_non_hmac_request_keys": ["client_nonce"],
"user_lockout_config":{
"lockout_threshold":"20",
"lockout_duration":"5m",
"lockout_counter_reset":"5m"
}
}
curl \
--header "X-Vault-Token: ..." \
--request POST \
--data @payload.json \
http://127.0.0.1:8200/v1/sys/auth/my-auth/tune