/sys/mounts
Конечная точка /sys/mounts используется для управления механизмами секретов в StarVault.
1. Список примонтированных механизмов секретов
В этой конечной точке перечислены все примонтированные механизмы секретов.
Метод |
Путь |
|
|
curl \
--header "X-Vault-Token: ..." \
http://127.0.0.1:8200/v1/sys/mounts
{
"request_id": "48d2c601-97a0-3904-f549-4fcbc740d718",
"lease_id": "",
"lease_duration": 0,
"renewable": false,
"data": {
"cubbyhole/": {
"accessor": "cubbyhole_eb4503de",
"config": {
"default_lease_ttl": 0,
"force_no_cache": false,
"max_lease_ttl": 0
},
"description": "per-token private secret storage",
"external_entropy_access": false,
"local": true,
"options": null,
"plugin_version": "",
"running_plugin_version": "v1.1.0+builtin.starvault",
"running_sha256": "",
"seal_wrap": false,
"type": "cubbyhole",
"uuid": "79ddaa52-fa07-6f19-653a-f0777f6439fd"
},
"identity/": {
"accessor": "identity_68a03448",
"config": {
"default_lease_ttl": 0,
"force_no_cache": false,
"max_lease_ttl": 0
},
"description": "identity store",
"external_entropy_access": false,
"local": false,
"options": null,
"plugin_version": "",
"running_plugin_version": "v1.1.0+builtin.starvault",
"running_sha256": "",
"seal_wrap": false,
"type": "identity",
"uuid": "45f79a67-58f7-3f87-892c-9032084e7801"
},
"secret/": {
"accessor": "kv_aedd93c1",
"config": {
"default_lease_ttl": 0,
"force_no_cache": false,
"max_lease_ttl": 0
},
"deprecation_status": "supported",
"description": "key/value secret storage",
"external_entropy_access": false,
"local": false,
"options": {
"version": "2"
},
"plugin_version": "",
"running_plugin_version": "v0.13.0+builtin",
"running_sha256": "",
"seal_wrap": false,
"type": "kv",
"uuid": "8074a73f-6921-c0cd-589a-016405dc46ec"
},
"sys/": {
"accessor": "system_f8df2902",
"config": {
"default_lease_ttl": 0,
"force_no_cache": false,
"max_lease_ttl": 0,
"passthrough_request_headers": ["Accept"]
},
"description": "system endpoints used for control, policy and debugging",
"external_entropy_access": false,
"local": false,
"options": null,
"plugin_version": "",
"running_plugin_version": "v1.1.0+builtin.starvault",
"running_sha256": "",
"seal_wrap": false,
"type": "system",
"uuid": "c79f4f66-4cfa-4521-9d31-b1238b0a6800"
}
},
"warnings": null
}
Значение 0 в default_lease_ttl или max_lease_ttl означает, что этот бэкэнд использует системные значения по умолчанию.
2. Включение механизма секретов
Данная конечная точка включает новый механизм секретов по указанному пути.
Метод |
Путь |
|
|
2.1. Параметры
-
path(string: <required>)– указывает путь, по которому будет смонтирован механизм секретов. Он указывается как часть URL-адреса.Для указания нужного пути используйте печатные символы ASCII.
-
type(string: <required>)– указывает тип бэкэнда, например «kv». -
description(string: "")– задает понятное для человека описание монтирования. -
config(map<string|string>: nil)– здает параметры конфигурации для данного монтирования; если они установлены для конкретного монтирования, значения переопределят любые глобальные значения по умолчанию (например, системное TTL/Max TTL)-
default_lease_ttl(string: "")- длительность аренды по умолчанию, указанная в виде строки, например «5s» или «30m». -
max_lease_ttl(string: "")- максимальная продолжительность аренды, указанная в виде строки, например «5s» или «30m». -
force_no_cache(bool: false)- отключить кэширование. -
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". Если версия не указана, сервер выберет любой подходящий плагин без версии, который мог быть зарегистрирован, плагин с последней зарегистрированной версией или встроенный плагин в указанном порядке приоритета.
-
-
options(map<string|string>: nil)- указывает параметры, специфичные для типа монтирования, которые передаются в бэкэнд.Ключ/Значение (KV)
-
version(string: "1")- версия KV для монтирования. Установите значение «2» для монтирования KV v2.
-
{
"type": "kv",
"config": {
"force_no_cache": true
}
}
curl \
--header "X-Vault-Token: ..." \
--request POST \
--data @payload.json \
http://127.0.0.1:8200/v1/sys/mounts/my-mount
3. Отключение механизма секретов
Эта конечная точка отключает точку монтирования, указанную в URL.
Метод |
Путь |
|
|
curl \
--header "X-Vault-Token: ..." \
--request DELETE \
http://127.0.0.1:8200/v1/sys/mounts/my-mount
3.1. Принудительное отключение
Поскольку отключение механизма секретов приводит к отзыву секретов, связанных с этим монтированием, возможные ошибки могут помешать отключению механизма секретов, если отзыв завершится неудачей.
Лучший способ решения этой проблемы — выяснить её первопричину и отключить механизм секретов после её устранения. Часто это может быть просто увеличение тайм-аута (в случае ошибок тайм-аута).
В случае восстановления, когда секрет был вручную удалён из службы поддержки секретов, можно принудительно отключить механизм секретов в StarVault, выполнив принудительный отзыв префикса монтирования, а затем отключив секреты после его завершения. Если базовые секреты не были очищены вручную, этот метод может привести к появлению неактивных учётных данных. Это предназначено для чрезвычайных ситуаций.
4. Получение конфигурации механизма секретов
Эта конечная точка возвращает конфигурацию конкретного механизма секретов.
Метод |
Путь |
|
|
curl \
--header "X-Vault-Token: ..." \
http://127.0.0.1:8200/v1/sys/mounts/cubbyhole
{
"config": {
"default_lease_ttl": 0,
"force_no_cache": false,
"max_lease_ttl": 0
},
"description": "per-token private secret storage",
"accessor": "cubbyhole_db85f061",
"external_entropy_access": false,
"options": null,
"uuid": "9c0e211a-904d-e41d-e1a2-7f1ff2bb8461",
"type": "cubbyhole",
"local": true,
"seal_wrap": false,
"request_id": "efdab917-ade2-1802-b8fa-fe2e6486d4e5",
"lease_id": "",
"renewable": false,
"lease_duration": 0,
"data": {
"accessor": "cubbyhole_db85f061",
"config": {
"default_lease_ttl": 0,
"force_no_cache": false,
"max_lease_ttl": 0
},
"description": "per-token private secret storage",
"external_entropy_access": false,
"local": true,
"options": null,
"plugin_version": "",
"running_plugin_version": "v1.1.0+builtin.starvault",
"running_sha256": "",
"seal_wrap": false,
"type": "cubbyhole",
"uuid": "9c0e211a-904d-e41d-e1a2-7f1ff2bb8461"
},
"wrap_info": null,
"warnings": null,
"auth": null
}
5. Чтение конфигурации монтирования
Эта конечная точка считывает конфигурацию указанного монтирования. В отличие от конечной точки mounts, она возвращает текущее время в секундах для каждого TTL, которое может быть системным значением по умолчанию или значением, специфичным для монтирования.
Метод |
Путь |
|
|
curl \
--header "X-Vault-Token: ..." \
http://127.0.0.1:8200/v1/sys/mounts/my-mount/tune
{
"default_lease_ttl": 3600,
"max_lease_ttl": 7200,
"force_no_cache": false
}
6. Настройка конфигурации монтирования
Эта конечная точка настраивает параметры конфигурации для заданной точки монтирования.
Метод |
Путь |
|
|
6.1. Параметры
-
default_lease_ttl(int: 0)– задаёт время жизни по умолчанию. Оно переопределяет глобальное значение по умолчанию. Значение0эквивалентно времени жизни (TTL) системы по умолчанию. -
max_lease_ttl(int: 0)– задаёт максимальное время жизни. Это переопределяет глобальное значение по умолчанию. Значение0эквивалентно максимальному времени жизни (TTL) системы. -
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: [])- список заголовков, которые разрешены для включения плагином в исходящий ответ. -
plugin_version(string: "")– указывает семантическую версию используемого плагина, например, "v1.0.0". Изменения не вступят в силу до перезагрузки монтирования.
{
"default_lease_ttl": 1800,
"max_lease_ttl": 3600
}
curl \
--header "X-Vault-Token: ..." \
--request POST \
--data @payload.json \
http://127.0.0.1:8200/v1/sys/mounts/my-mount/tune