Отклонить или ограничить запрос до резервирования денег

Напишите политику — условия, по которым проверяется запрос, и что происходит, когда они выполняются, — расставьте политики по порядку и проверьте на них запрос.

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 — что он значит и что делать.

  • Бюджеты — ограничить траты за период; бюджеты проверяются после политик.