/sys/quotas/rate-limit
Конечная точка /sys/quotas/rate-limit используется для создания, редактирования и удаления квот ограничения частоты запросов.
1. Создание/обновление квоты ограничения частоты запросов
Данная конечная точка используется для создания квоты ограничения частоты запросов с идентификатором name. Квота ограничения частоты запросов должна включать значение rate с необязательным параметром path, который может быть монтированием, а также может дополнительно включать суффикс пути после монтирования для ограничения более конкретных путей API.
Метод |
Путь |
|
|
1.1. Параметры
-
name(string: "")- название квоты. -
path(string: "")- путь к месту применения квоты. -
rate(float: 0.0)- мксимальное количество запросов в заданном интервале, разрешенное правилом квоты.rateдолжен быть положительным числом. -
interval(string: "")- продолжительность действия ограничения частоты запросов (по умолчанию "1s"). -
block_interval(string: "")- если установлено, то при достижении клиентом порогового значения ограничения частоты запросов клиенту будет запрещено выполнять дальнейшие запросы до истечения времениblock_interval. -
role(string: "")- если установлена квота, гдеpathзадает монтирование аутентификации с концепцией ролей (например, /auth/approle/), квота ограничит запросы на вход в систему с указанной ролью для этого монтирования. Запрос завершится ошибкой, если монтирование аутентификации не имеет концепции ролей илиpathне является монтированием аутентификации.
{
"path": "",
"rate": 897.3,
"interval": "2m",
"block_interval": "5m"
}
curl \
--request POST \
--header "X-Vault-Token: ..." \
--data @payload.json \
http://127.0.0.1:8200/v1/sys/quotas/rate-limit/global-rate-limiter
2. Удаление квоты ограничения частоты запросов
Квоту ограничения частоты запросов можно удалить с помощью name.
Метод |
Путь |
|
|
curl \
--request DELETE \
--header "X-Vault-Token: ..." \
http://127.0.0.1:8200/v1/sys/quotas/rate-limit/global-rate-limiter
3. Получение квоты ограничения частоты запросов
Квоту ограничения частоты запросов можно получить с помощью name.
Метод |
Путь |
|
|
curl \
--request GET \
--header "X-Vault-Token: ..." \
http://127.0.0.1:8200/v1/sys/quotas/rate-limit/global-rate-limiter
{
"request_id": "d0870811-455d-3dfd-459f-aee016e6fb68",
"lease_id": "",
"lease_duration": 0,
"renewable": false,
"data": {
"block_interval": 300,
"interval": 2,
"name": "global-rate-limiter",
"path": "",
"rate": 897.3,
"role": "",
"type": "rate-limit"
},
"warnings": null
}
4. Список квот ограничения частоты запросов
Данная конечная точка возвращает список всех квот ограничения частоты запросов.
Метод |
Путь |
|
|
curl \
--request LIST \
--header "X-Vault-Token: ..." \
http://127.0.0.1:8200/v1/sys/quotas/rate-limit
{
"auth": null,
"data": {
"keys": ["global-rate-limiter", "kv-rate-limiter"]
},
"lease_duration": 0,
"lease_id": "",
"renewable": false,
"request_id": "ab633ee1-a692-ba03-083b-f1bd91c51c28",
"warnings": null,
"wrap_info": null
}