Все консольные действия здесь живут на экране Keys (
/console/token) и
выполняются на вашем сессионном / access-токене, а не на ключе
ретрансляции. Создание, редактирование, отключение или удаление ключа
требует роли Developer или выше. Только вызовы инференса /v1/*
используют ключ ретрансляции sk-orca-….1. Зачем ротировать и почему никогда на месте
Ключ в OrcaRouter — это неизменяемая идентичность, а не просто строка — он несёт собственный список разрешённых моделей, список разрешённых IP, лимит расходов, срок действия и привязки политик. Вы не можете изменить секретный материал существующего ключа; учётка и ограничения выпускаются вместе при создании. Так что «ротация» означает выпуск преемника и миграцию на него. Делайте это:- по фиксированному ритму для любой production-учётки (поквартально — распространённый базис);
- в момент, когда ключ заподозрен в утечке — хотя для подтверждённой утечки сначала отрежьте его, а ротируйте вторым (см. Реагирование на утечку ключа);
- всякий раз, когда меняется владелец ключа (сотрудник, вендорская интеграция, выведенный из эксплуатации агент).
2. Последовательность ротации API-ключа
Весь смысл в чистом перекрытии: новый ключ работает, прежде чем старый останавливается. Четыре шага.Создайте ключ-преемник
Выпустите новый ключ с той же областью, что и у заменяемого — те же
model_limits, allow_ips, credit_limit_usd, expired_time и те же
guardrail_id / firewall_policy_id. Скопируйте открытый текст
немедленно. Ротация — идеальный момент, чтобы ужесточить область тоже:
уберите модель, которую агент больше не использует, или сузьте список
разрешённых IP.Мигрируйте трафик
Разверните новый
sk-orca-… на каждого вызывающего — конфиг, менеджер
секретов, переменную CI, рантайм агента. Раскатайте его так же, как вы
отгружаете любое изменение секрета. Оба ключа живы на этом этапе, так
что деплои можно делать вразнобой без простоя.Убедитесь, что новый ключ несёт нагрузку
Подтвердите, что преемник действительно обслуживает трафик, прежде чем
трогать старый. Следите, как
used_quota нового ключа растёт, пока у
старого выравнивается — использование на ключ это ваш сигнал
переключения.3. Конкретная ротация через REST
Всё ниже — консольное действие; эти маршруты управления выполняются под вашей сессией (UserAuth), а не ключом ретрансляции. Предположим, вы
заменяете ключ для запланированного агента суммаризации. Создайте
преемника с той же областью:
"data": "sk-orca-…").
Скопируйте его, разверните на суммаризатор и подтвердите, что новый ключ
обслуживает, прежде чем двигаться дальше.
Когда старый ключ (id 481) не показывает трафика, отключите, затем
удалите его:
Enabled (1), Disabled (2), Expired (3) или
Exhausted (4). Отключение ставит его в Disabled; каждый запрос, который
делает ключ, затем отклоняется, при этом его конфигурация, привязки и
история остаются нетронутыми. Удаление необратимо — учётка больше никогда
не сможет авторизовать запрос, а удалённый ключ невосстановим.
Вы можете сделать всё это без API — на экране Keys есть New key,
тумблер Disabled на каждый ключ и Delete (одиночный или пакетный).
REST-форма выше — для скриптинга запланированных ротаций.
4. Ротация ключей, привязанных к политикам, и ключей шлюза
Привязки guardrail и firewall ключа живут на ключе, так что преемник должен нести те жеguardrail_id и
firewall_policy_id, чтобы применять ту же позицию. Две вещи, которые надо
знать:
Политики переживают ротацию — двигается только привязка
Политики переживают ротацию — двигается только привязка
Guardrails и политики firewall — это именованные ресурсы в рамках
рабочего пространства, общие между ключами. Ротация ключа не трогает
саму политику; вы просто перенаправляете свежий ключ на существующий
guardrail_id / firewall_policy_id. Политика продолжает управлять
трафиком без перерыва.Ключам с областью шлюза нужен Admin и дополнительная дисциплина копирования
Ключам с областью шлюза нужен Admin и дополнительная дисциплина копирования
Ключ с установленным
is_firewall_gateway приводит в действие маршруты
шлюза Firewall
(/api/v1/firewall/*). Выпуск такого и повторное раскрытие его
открытого текста оба требуют Admin. Поскольку вы не можете
мимоходом перечитать его секрет, захватите открытый текст нового ключа
шлюза при создании и сохраните его в менеджере секретов, прежде чем
переключаться.5. Экстренная ротация (подозрение на утечку)
Если вы думаете, что ключ раскрыт, порядок переворачивается: сначала остановите кровотечение, мигрируйте вторым.- Отключите подозрительный ключ сразу, чтобы он не мог ничего авторизовать, пока вы расследуете — или удалите его сразу, если утечка подтверждена.
- Выпустите преемника и раскатайте его как в §2.
- Просмотрите, что делал утёкший ключ, прежде чем вы его отрезали: отфильтруйте логи запросов по этому ключу (токену), чтобы ограничить радиус поражения.
6. Дальнейшие шаги
Управление ключами
Жизненный цикл создать / отключить / отозвать, на котором строятся эти
шаги.
Привязка политик к ключу
Перенесите тот же guardrail и политику firewall на преемника.
Истекающие ключи
Задайте срок действия, чтобы ключи ротировали себя по дедлайну.
Реагирование на утечку ключа
Экстренный путь, когда учётка раскрыта.
