1. Зачем нужны ограниченные api-ключи для LLM-агентов
Обычный API-ключ — это bearer-учётка: тот, кто им владеет, может вызвать любую модель, откуда угодно, на любую сумму, без привязанной политики. Это полная противоположность тому, что нужно автономному агенту. На OrcaRouter API-ключ — это не просто учётка, это декларация области видимости. Каждый ключ несёт собственные ограничения (какие модели, какие IP, сколько расходов, когда истекает) и указывает на guardrail и политику firewall, которые управляют его трафиком. Редактирование политики, на которую указывает ключ, вступает в силу на следующем запросе, без передеплоя и изменений в коде агента. Принцип — минимальные полномочия: дайте каждому агенту самую узкую идентичность, которая всё ещё позволяет ему выполнять свою работу, и не больше. Один ключ, один агент, одна цель.2. Что несёт ограниченный ключ
Каждый ключ — это набор лимитов плюс две привязки политик. Каждое поле задокументировано на собственной странице — ссылки-спицы ниже ведут вглубь.Лимиты моделей
model_limits ограничивает ключ именованным списком моделей. Вызов вне
списка отклоняется до того, как покинет шлюз — агент не может
переключиться на более дорогую или более мощную модель.Список разрешённых IP
allow_ips привязывает ключ к конкретным исходным адресам. Утёкший
ключ, предъявленный откуда-либо ещё, отклоняется на уровне
аутентификации.Квота, лимит и срок
credit_limit_usd ограничивает суммарные расходы (0 = безлимит);
expired_time задаёт абсолютный срок истечения (-1 = никогда).Окружения
environment — это произвольная метка (prod, staging, dev) для
организации ключей и фильтрации логов.Привязка политик
guardrail_id и firewall_policy_id привязывают к ключу политику
содержимого и политику вызовов инструментов. Отсутствие привязки
откатывается к default’у рабочего пространства.Объект токена
Полный справочник по ключу поле за полем, включая
remain_quota / used_quota и is_firewall_gateway.Безлимитный vs ограниченный. Ключ с
credit_limit_usd: 0 и
expired_time: -1 не имеет лимита расходов и никогда не истекает —
удобно, но это худший радиус поражения при утечке. См.
безлимитный vs ограниченный, чтобы
понять, когда уместен каждый вариант.3. Один конкретный ключ с минимальными полномочиями
Запланированный агент, который суммаризирует тикеты поддержки одной дешёвой моделью и запускается с одного хоста, почти не нуждается в полномочиях. Хорошо ограниченный ключ для него:| Поле | Значение | Почему |
|---|---|---|
model_limits | одна модель суммаризации | не может эскалировать до фронтирной модели |
allow_ips | egress-CIDR планировщика | утёкший ключ бесполезен в другом месте |
credit_limit_usd | недельный потолок | зацикленный прогон не может опустошить баланс |
expired_time | конец развёртывания | автоистечение, не может задержаться |
guardrail_id | guardrail для маскировки PII | текст запроса проверяется |
firewall_policy_id | allow-list только нужных инструментов | никаких неожиданных вызовов инструментов |
4. Привязка двух плоскостей политик
Две привязки — самые мощные поля на ключе, и они разрешаются по-разному, когда привязанная политика отключена:guardrail_id — проверка содержимого
guardrail_id — проверка содержимого
Проверяет текст запроса и ответа (PII, секреты, prompt injection)
по упорядоченному guardrail в рамках рабочего
пространства. Разрешение: явный, включённый
guardrail_id применяется;
отключённый — это выключатель, он не откатывается к default’у
рабочего пространства. При отсутствии привязки применяется default-guardrail
рабочего пространства, иначе ничего.firewall_policy_id — применение для вызовов инструментов
firewall_policy_id — применение для вызовов инструментов
Управляет действиями, которые совершает агент — вызовами
инструментов, диспетчем MCP, egress — по политике
firewall в рамках рабочего пространства.
Разрешение отличается от guardrails: отключённая привязанная
политика firewall откатывается к default’у рабочего пространства,
она не выключает применение.
is_firewall_gateway — иной вид ключа
is_firewall_gateway — иной вид ключа
Токен с областью шлюза выпускается только для маршрутов Firewall MCP и
evaluate-хука (
/api/v1/firewall/*), никогда для инференса. Обычный
ключ получает там 403. Включение этого флага и чтение plaintext’а
ключа шлюза требуют Admin+.5. Раздел о ключах
Управление ключами
Создавайте, редактируйте и отзывайте ключи в консоли.
Ротация
Замените ключ без простоя.
Истекающие ключи
Короткоживущие ключи для эфемерных агентов и прогонов CI.
Маскировка ключей
Ключи маскируются при отображении; plaintext показывается один раз при
создании.
Утёкший ключ
Что делать в тот момент, когда ключ раскрыт.
Чек-лист минимальных полномочий
Прогоните каждый ключ через один и тот же проход усиления.
6. Где ключи находятся в стеке управления
Ограниченный ключ — это первый слой защиты: он решает, кто такой вызывающий и до чего он может дотянуться, до запуска любой политики. Guardrails и Firewall — следующие слои.Защита ИИ-агентов
Почему идентичность агента — фундамент стека управления.
Guardrails vs Firewall
Две плоскости политик, к которым может привязываться ключ.
Избыточные полномочия
Угроза, которую призваны сдерживать ключи с минимальными полномочиями.
