tools/call, который он
диспетчит.
Аутентификация каждого сервера шифруется в покое и маскируется при
чтении, так что открытый токен никогда не возвращается в вашу консоль, к
вашим агентам или к модели. Ротация — это обновление одного поля через
консоль рабочего пространства.
1. Почему ротация секрета MCP — отдельное действие
Зарегистрированный MCP-сервер хранит три вещи, которые вы не хотите терять при смене учётных данных: уникальное в рамках рабочего пространстваname
(пространство имён <server>.<tool>, против которого ваши правила
работают по глобу), endpoint и его обнаруженный набор инструментов.
Удаление и пересоздание сервера ради смены токена осиротило бы каждое
правило, ограниченное <server>.*, и потребовало бы свежего
зондирования (probe).
Ротация обходит всё это. Вы делаете PUT той же записи сервера с новым
auth_json; всё остальное — имя, правила, обнаруженные инструменты —
остаётся на месте.
Шлюз внедряет учётные данные во время диспетча, расшифровывая их только
для выполнения upstream-вызова. Ротированный секрет вступает в силу на
следующем подключении — OrcaRouter инвалидирует per-workspace кэш
инструментов при каждом изменении сервера, так что ждать истечения TTL не
нужно.
2. Один конкретный пример ротации
Допустим, вы зарегистрировали MCP-сервер с именемgithub и bearer-токеном,
и этот токен нужно сменить. Сначала прочитайте текущую запись — ответ
маскирует секрет, так что вы никогда не работаете со старым открытым
текстом:
PUT той же записи с только новыми учётными данными.
Отправьте id в теле и свежий auth_json; шлюз перешифрует его, прежде
чем он коснётся базы данных:
name, endpoint,
auth_mode и enabled сохраняют свои хранимые значения. Новый токен
активен на следующем tools/call.
3. Смена режима аутентификации, а не только секрета
Ротация также покрывает перевод сервера между схемами аутентификации. Закрытый набор значенийauth_mode:
none
none
Без учётных данных.
auth_json пуст. Используйте для публичных или
доверенных в сети MCP-серверов.bearer
bearer
{ "token": "…" } — отправляется как заголовок Authorization: Bearer.oauth
oauth
{ "client_id": "…", "client_secret": "…", "token_url": "…" }. Если вы
храните статический access_token в JSON, шлюз отправляет его как
bearer-токен; сам обмен client-credentials пока не выполняется, так что
сервер, которому нужен живой обмен, будет давать сбой, пока вы не
предоставите токен.basic
basic
{ "username": "…", "password": "…" } — HTTP basic auth.4. После ротации: повторное зондирование
Ротированные учётные данные меняют то, какие инструменты вам доступны, если старый токен был отозван. Зондируйте (probe) сервер, чтобы подтвердить, что новая аутентификация работает, и обновить егоstatus достижимости:
ok, degraded или down. Сбой аутентификации
всплывает здесь, а не как сбивающая с толку ошибка инструмента посреди
прогона.
5. Роли и что остаётся замаскированным
Каждое действие на этой странице — это консольный вызов в рамках рабочего пространства (/api/workspace/firewall/mcp_servers, UserAuth) с
ограничением по роли:
| Действие | Минимальная роль |
|---|---|
| Чтение сервера (секрет замаскирован) | Member |
| Ротация / обновление / регистрация | Developer+ |
| Удаление | Developer+ |
Открытый текст никогда не возвращается в вашу консоль. Чтение
маскирует секрет и редактирует эндпоинт; шлюз — единственное, что
расшифровывает учётные данные, и только в момент, когда он дозванивается до
upstream-сервера. Модель и ваши агенты не видят ни старого, ни нового
токена.
6. Куда это вписывается
Ротация — это одна операция в более широкой плоскости доверия MCP. Как только ваши серверы подключены и аутентифицированы, тот же шлюз оценивает каждыйtools/call по вашей политике firewall,
прежде чем он запустится, накладывает сверху карантин
навыков и управляет исходящим охватом.
Подключить сервер
Зарегистрируйте MCP-сервер и зондируйте его инструменты.
Аутентификация
Выберите правильный режим аутентификации для каждого сервера.
Список разрешённых MCP-инструментов
Ограничьте, какие инструменты может выставлять каждый сервер.
Лимиты egress
Управляйте тем, куда могут обращаться вызовы инструментов.
FAQ
Нужно ли переписывать правила firewall после ротации?
Нужно ли переписывать правила firewall после ротации?
Нет. Ротация меняет только учётные данные. Сервер сохраняет своё
name,
так что каждое правило, ограниченное <server>.* — и любой
список разрешённых — остаётся
привязанным.Сломаются ли активные агенты при ротации?
Сломаются ли активные агенты при ротации?
Новый секрет внедряется на следующем диспетчированном
tools/call.
Ждать истечения TTL кэша не нужно — OrcaRouter инвалидирует кэш
инструментов рабочего пространства при каждом изменении сервера.Могу ли я увидеть старый токен, чтобы убедиться, что именно я заменяю?
Могу ли я увидеть старый токен, чтобы убедиться, что именно я заменяю?
Нет — и в этом весь смысл. Чтение возвращает замаскированный секрет;
открытый текст расшифровывается только шлюзом при диспетче. Ротируйте,
отправив новое значение, затем зондируйте,
чтобы убедиться, что оно работает.
