Отклонить или ограничить запрос до резервирования денег
Напишите политику — условия, по которым проверяется запрос, и что происходит, когда они выполняются, — расставьте политики по порядку и проверьте на них запрос.
5 мин чтения
Политика — это правило, которое применяется к запросу до того, как деньги зарезервированы. Она отклоняет запрос или меняет его лимиты. Эта страница — о странице политик в консоли.
Где находятся политики
Откройте Настройки, затем Политики. Страница показывает политики каждого проекта, который вам доступен, и те, что действуют на все проекты, — в порядке, в котором они проверяются.
Строка показывает название политики, где она действует, её приоритет и само правило, прочитанное одним предложением.
Страница открывается тому, у кого есть разрешение management:read. Для создания, изменения и удаления политики нужно management:write. Политику, которая действует на все проекты, меняет только участник, которому доступен каждый проект.
Как проверяется запрос
Slen проверяет запрос по включённым политикам его проекта и по включённым политикам, которые действуют на все проекты. Это происходит до проверки бюджетов и до резервирования денег.
Первой проверяется политика с самым высоким приоритетом.
Политика применяется, когда выполняются все её условия. Политика без условий применяется к каждому запросу.
Первая политика, которая отказывает, останавливает запрос. Запрос завершается с кодом
policy_denied, а сообщение ошибки называет политику.Политика, которая меняет лимит, проверку не останавливает. Политики после неё проверяются дальше.
Условия
| Условие | Как сравнивается | Что сравнивается |
|---|---|---|
| Потрачено | Не меньше, не больше | Сколько проект потратил с первого дня месяца |
| Стоимость запроса | Не меньше, не больше | Оценка стоимости запроса |
| Операций в работе | Не меньше, не больше | Число резервов, которые проект держит в этот момент |
| Модель | Равно, одна из | Код модели запроса |
| Операция | Равно | Код операции запроса |
| Провайдер | Равно | Провайдер модели |
| Конечный клиент | Равно | Id вашего клиента, которого называет запрос |
| Время суток | Между | Время, когда приходит запрос, в выбранном вами часовом поясе. Окно, которое кончается раньше, чем начинается, переходит через полночь |
Действия
| Действие | Что оно делает |
|---|---|
| Отклонить запрос | Отклоняет каждый запрос, к которому применяется политика |
| Разрешить запрос | Само ничего не меняет. Политики после неё проверяются дальше, и бюджеты по-прежнему действуют |
| Разрешить только эти модели | Отклоняет запрос, модели которого нет в списке |
| Ограничить стоимость одного вызова | Отклоняет запрос, оценка стоимости которого выше потолка |
| Изменить коэффициент запаса | Задаёт, на что умножается оценка, чтобы получить резерв. При 1.5 резерв в полтора раза больше оценки. Когда применяется несколько таких политик, решает та, что проверена первой |
| Изменить потолок выходных токенов | Снижает число выходных токенов, которое запрос может запросить, — ещё до того, как оценена его стоимость |
Изменить потолок выходных токенов применяется до того, как известны стоимость и провайдер запроса. Давайте такой политике только условия Модель, Операция, Конечный клиент и Время суток. С любым другим условием политика не сохраняется — ни в консоли, ни через API. Политика этого вида, у которой уже есть другое условие, не применяется никогда.
Написать политику
1. Начните новую политику
Нажмите Новая политика.
2. Назовите политику
Причина отказа цитирует название, поэтому скажите в нём, для чего политика. Название может быть длиной до 120 символов.
3. Выберите, где она действует
В поле Применяется к выберите проект или Все проекты организации. Второй вариант предлагается только участнику, которому доступен каждый проект. После сохранения политики изменить, где она действует, нельзя.
4. Добавьте условия
В разделе Когда выберите, что сравнивается, как и с каким значением. Нажмите Добавить условие, чтобы добавить ещё одно. Форма не сохраняет политику, пока у какого-то условия нет значения. Удалите все условия, чтобы политика применялась к каждому запросу.
5. Выберите действие
В разделе Тогда выберите действие и заполните его значение. Форма не сохраняет политику, пока значение не того вида: модели — это список кодов через запятую, потолок стоимости — сумма, записанная с точкой и не больше чем восемью знаками после неё, коэффициент запаса — число больше 0 и меньше 1000 не больше чем с тремя знаками, а потолок выходных токенов — целое число от 1.
6. Задайте приоритет
Откройте Порядок применения и задайте Приоритет — целое число от 0 до 1000. У новой политики он равен 100. Отказ останавливает запрос, поэтому строгой политике дайте число побольше.
7. Создайте политику
Нажмите Создать политику.
Новая политика включена и действует уже на следующий запрос. Политика, которая отклоняет и не имеет условий, отклоняет каждый запрос там, где она действует.
Выключить, изменить или удалить политику
Переключатель в строке политики подписан Включена. Выключите его — и запросы перестанут проверяться по этой политике, а её настройки сохранятся. В меню строки — Изменить и Удалить.
Проверить запрос
Нажмите Проверить запрос, выберите Проект, из которого приходит запрос, и заполните запрос: модель, операцию, провайдера, оценку стоимости, время и конечного клиента. Панель отвечает Разрешён или Отклонён, называет причину и говорит по каждой политике, что она сделала.
Проверка выполняется в вашем браузере. Ничего не отправляется, и ничего не тратится.
Проверка проходит по политикам, которые встречает настоящий запрос выбранного проекта: по политикам этого проекта и тем, что действуют на все проекты.
Политика с условием Потрачено или Операций в работе зависит от живых счётчиков, поэтому панель её не оценивает и говорит об этом.
Политика, которая меняет потолок выходных токенов и несёт условие, которого она не видит, помечается как никогда не применяемая.
Что читать дальше
Глоссарий — что такое оценка, резерв и бюджет.
Журнал аудита — кто создал, изменил или удалил политику.
Коды ошибок — каждый код API — что он значит и что делать.
Бюджеты — ограничить траты за период; бюджеты проверяются после политик.