Anthropic отправила шлюз приложений Claude в конце июня 2026 года. Это саморазмещаемый сервис, включенный в бинарный файл claude (v2.1.195+). Вы запускаете его с claude gateway --config gateway.yaml, поддерживаете с PostgreSQL, и он ставит вход OIDC перед вашим парком Claude Code: корпоративные сеансы IdP вместо локально управляемых API-ключей. Это настоящий шаг вперед. Для команд, которые используют Claude Code с Bedrock, Vertex, Foundry или напрямую с API Anthropic, шлюз централизует управление идентификацией, доступом к моделям и контролем расходов в одном конфигурационном файле.
Этот пост о том, что произойдет дальше. Ваш ИИ-ландшафт почти наверняка больше, чем Claude. Вероятно, вы управляете серверами MCP от нескольких поставщиков. У вас могут быть рабочие нагрузки OpenAI или Gemini, локально размещенный вывод через vLLM или Ollama, CI-конвейеры, которые никогда не видят браузер, и агентские фреймворки, которые делегируют задачи между провайдерами. Шлюз приложений поддерживает только Claude и только OIDC. Это решение о масштабировании, а не дефект — но это означает, что вопрос управления решен лишь частично.
Модель совместного развертывания, описанная здесь, размещает платформу управления на собственном сервере рядом со шлюзом, читая как телеметрию шлюза, так и оставшуюся инфраструктуру ваших агентов. Дополняет, а не конкурирует: шлюз занимается аутентификацией, платформа управляет governance.
Что хорошо в шлюзе приложений
Шлюз решает конкретную, важную проблему: предоставление Claude Code надлежащего слоя идентификации. До его появления каждый разработчик использовал API-ключ или общие учетные данные, и не существовало стандартизированного способа контроля доступа к моделям, ограничения расходов или управления настройками на уровне организации.
С внедрением шлюза:
- Разработчики проходят аутентификацию через вашего провайдера идентификации OIDC (один эмитент на экземпляр шлюза).
- Группы IdP отображаются на белые списки моделей и политики управляемых настроек в
gateway.yaml. - Лимиты расходов применяются для каждого пользователя, каждой группы или всей организации с помощью Admin API для контроля лимитов расходов.
- Телеметрия распределяется через OTLP/HTTP, помечается
user.id,user.emailиuser.groups. - События аудита (11 типов:
config.load,session.mint,auth.denied,inferenceи др.) выводятся в виде однострочного JSON в stderr.
Это хорошо спроектированная инфраструктура для заявленного объема. Anthropic публикует протокол шлюза и приглашает к реализации сторонние проекты, что является необычно открытой позицией для поставщика модели.
Что не охватывается
Anthropic ясно документирует следующие решения по области применения. Это не дефекты — они определяют границу совместного развертывания:
- Только OIDC. Нет SAML, нет LDAP. Если ваш IdP использует SAML, вам нужен мост OIDC перед шлюзом.
- Одиночный эмитент. Один поставщик OIDC на экземпляр шлюза. Для многопользовательских развертываний требуются отдельные экземпляры.
- Только Claude. Каталог моделей содержит модели Claude. OpenAI, Gemini, локальные инференсы и другие поставщики находятся вне области действия шлюза.
- Нет потока с сервисным токеном. Небезопасные пайплайны CI/CD не имеют документированного пути неинтерактивной аутентификации через шлюз.
- Нет UI для администратора. Конфигурация осуществляется через YAML-файл; изменения требуют повторного развертывания.
- Нет Helm-чарта. Шлюз запускается как стандартное развертывание, но упакованного чарта нет.
Помимо этих задокументированных ограничений, есть вопросы уровня управления, которые шлюз не предназначен решать:
- Инвентаризация и состояние серверов MCP. Какие серверы MCP развернуты, какие инструменты они предоставляют и соответствуют ли их заявленные возможности их наблюдаемому поведению — всё это не является задачей шлюза.
- Применение политики между провайдерами. Политика, которая говорит «производственные базы данных доступны только для чтения для всех агентов», должна применяться к моделям Claude, OpenAI и к собственным моделям. Шлюз управляет доступом к модели Claude; он не управляет ресурсами, к которым эти модели обращаются, или тем, что делают другие модели.
- Картирование доступа на уровне сессии. Построение графа того, какая сессия агента получила доступ к какой базе данных, хранилищу объектов или API-эндпоинту — и был ли этот доступ только для чтения или read/write — требует корреляции телеметрии, хуков и сигналов инфраструктуры. Шлюз передает OTLP дословно; он не анализирует, что описывает телеметрия.
- Аудит с защитой от подделки. Шлюз выдает события аудита в формате JSON через stderr. Эти события должны попадать в цепочку блоков с хешированием и только добавлением, если они будут использоваться для пакетов доказательств соответствия.
Модель совместного развертывания
Архитектура намеренно проста: шлюз и платформа управления работают бок о бок в вашей инфраструктуре, каждый выполняя то, в чем он хорош.
Developer workstations Your infrastructure
┌─────────────────────┐
│ Claude Code │
│ (v2.1.195+) │
└──────┬──────────────┘
│
│ OIDC device flow
│ /v1/messages
▼
┌──────────────────────────────┐ ┌────────────────────────────────┐
│ Claude apps gateway │ │ Olivares AI (self-hosted) │
│ │ │ │
│ • OIDC auth (1 issuer) │ │ • OTLP receiver (gRPC + HTTP) │
│ • Model allowlists │ ──▶ │ • Claude hooks correlation │
│ • Spend limits │ OTLP │ • gateway.yaml posture │
│ • Managed settings │ │ • Audit event ingest │
│ • OTLP fan-out │ │ • Multi-provider governance │
│ • JSON audit on stderr │ ──▶ │ • MCP server inventory │
│ │ logs │ • Access-edge graph (R/RW) │
│ Claude models only. │ │ • Hash-chained audit ledger │
│ OIDC only. │ │ │
└──────────────────────────────┘ │ ALL providers, ALL surfaces. │
└────────────────────────────────┘
▲
Other agent traffic ────────────────────────┘
(OpenAI, Gemini, vLLM, Ollama, MCP servers, CI pipelines)
Два потока данных соединяют шлюз с платформой:
OTLP множественное распределение. Конфигурация шлюза telemetry.forward_to уже поддерживает назначения OTLP/HTTP. Направьте одно из них на приёмник Olivares OTLP. Атрибут session.id связывает телеметрию, переданную через шлюз, с записями времени сеанса от собственного приёмника хуков коннектора Claude. Идентификационные атрибуты (user.id, user.email, user.groups), добавленные шлюзом, проходят через список разрешённых операторских атрибутов и становятся метками атрибуции на гранях сеансов и образцах затрат — новый код приёмника не требуется.
Загрузка событий аудита. Коннектор claude-apps-gateway считывает JSON-события аудита шлюза. 11 документированных типов событий (config.load, session.mint, session.refresh, device.authorize, device.verify, auth.denied, access.denied, inference, managed.serve, spend.blocked, admin.denied) отображаются на наблюдения SDK: отказы, имеющие отношение к безопасности, становятся находками, события вывода — ребрами доступа, создания сессий — наблюдениями идентичности, а операционные события — счетчиками метрик. Личные данные (PII) в необработанных событиях SHA-256 хэшируются перед тем, как попасть в любое наблюдение; электронные письма и идентификаторы являются псевдонимными.
Коннектор claude-apps-gateway также инвентаризирует сам gateway.yaml: эмитента OIDC, отображения группы IdP на модель, провайдеров уровня выше, назначения OTLP и состояние управления расходами. Этот инвентарь является структурными метаданными — топологией, а не учетными данными.
Результаты анализа состояния конфигурации шлюза
Коннектор выявляет множество находок состояния, полученных из конфигурации шлюза. Это те вещи, которые оператор управления должен знать о развертывании шлюза:
| Находка | Серьезность | Что обнаруживает |
|---|---|---|
| Не настроено назначение OTLP | Средняя | Телеметрия не пересылается; флот невидим для мониторинга |
| Нет универсальной политики | Высокий | Пользователи, не соответствующие ни одной группе IdP, получают все модели и не имеют управляемых настроек |
| Без лимитов расхода | Средний | API управления расходами и принудительное исполнение не настроены |
| Секретные литералы в YAML | Высокий | client_secret, jwt_secret или пароли базы данных, записанные как литералы вместо ссылок ${VAR} или ${file:...} |
| Долгое время жизни сессии (>12 ч) | Средний | Задержка деактивации: сессия отозванного пользователя остается действительной |
| PKCE отключен | Низкий | Поток OIDC не использует Proof Key for Code Exchange |
| Чувствительные телеметрические сигналы | Низкий | logs: true или traces: true на назначении — они могут содержать полные команды bash и пути к файлам |
Эти выводы появляются в той же панели состояния, что и выводы каждого другого коннектора. Коннектор MCP может сообщать о несандбоксированном инструменте. Коннектор Bedrock может пометить защитный барьер gap. Коннектор шлюза сообщает о том, что отсутствует универсальная политика. Одна поверхность, один вид.
Как это выглядит в конфигурации
Коннектор Claude запускает приемник OTLP на стандартных портах OpenTelemetry и конечную точку hooks для хуков PreToolUse/PostToolUse от Claude Code. В дополнение к этому, коннектор apps-gateway считывает конфигурацию и поток аудита шлюза. Оба коннектора поставляются под Apache-2.0 и импортируют только из SDK, никогда не из ядра движка.
# olivares.yaml (сокращённо)
connectors:
- name: olivares.claude
config:
grpc_addr: "127.0.0.1:4317"
http_addr: "127.0.0.1:4318"
hook_path: "/hooks"
enforcement: |
{"rules":[
{"tool":"Bash","decision":"ask","reason":"shell access requires confirmation"},
{"resource_kind":"file","mode":"write","decision":"ask"}
]}
gateway: "direct"
semconv_opt_in: "gen_ai_latest_experimental"
- name: olivares.claude-apps-gateway
config:
config_path: "/etc/claude-gateway/gateway.yaml"
audit_log_path: "/var/log/claude-gateway/audit.jsonl"
Поле gateway на разъёме Claude помечает каждый образец затрат поверхностью развертывания (direct, bedrock-mantle, bedrock-legacy, vertex, foundry, claude-platform-aws), чтобы FinOps мог разделять расходы по пути поставщика. Поле semconv_opt_in включает нейтральный к поставщикам профиль GenAI для загрузки (привязанный к OpenTelemetry semconv v1.41.1), что означает, что OpenAI, Gemini или любой агент с инструментированием OTel передают ту же карту доступа и конвейер затрат — а не только Claude Code.
Честная позиция
Есть вещи, о которых стоит говорить прямо.
Это не замена шлюза. Прокси-устройство Olivares реализует подмножество опубликованного протокола шлюза Anthropic (обнаружение OAuth, авторизация устройств RFC 8628, доставка управляемых настроек и административный интерфейс лимитов расходов — просмотр, запись и принудительное соблюдение по пользователям, с документированными отклонениями от протокола передачи данных). Оно полезно, когда этого подмножества достаточно. Это не полная замена браузерного потока OIDC шлюза, а семантика групповых расходов намеренно отличается (выигрывает наиболее строгий вариант, а не объединённые правила шлюза). Если шлюз Anthropic соответствует вашим требованиям аутентификации, используйте его.
Разъем только для чтения. Разъем claude-apps-gateway отслеживает конфигурацию шлюза и вывод аудита. Он не изменяет gateway.yaml, не внедряет политики и не перехватывает путь /v1/messages. Это видимость, а не управление.
Olivares AI находится в предрелизной версии. Продукт не сертифицирован по SOC 2, ISO/IEC 27001, Закону ЕС о ИИ или какой-либо другой системе, и аудит не ведется. Он разработан с ориентацией на контрольные цели, которые исследуют эти системы, поэтому он готов к аудиту, когда придет время.
Ценность заключается в комбинации. Команда, которая использует только Claude Code с одним провайдером, с одним IdP и без серверов MCP от других поставщиков, может считать шлюз достаточным. Совместное развертывание оправдано, когда инфраструктура является разнородной: несколько провайдеров, серверы MCP от разных поставщиков, собственные модели, CI-пайплайны, требования к соответствию, охватывающие всю поверхность агентов. Именно здесь «Claude auth» и «управление инфраструктурой» действительно являются разными проблемами.
FAQ
Заменяет ли Olivares AI шлюз приложений Claude?
Нет. Доктрина такова: «и, а не или». Шлюз Anthropic владеет сессией аутентификации Claude Code, маршрутизацией доступа к моделям и выбором вышестоящего уровня. Olivares AI делает это развертывание управляемой поверхностью внутри более широкой контрольной плоскости, которая также охватывает провайдеров, не относящихся к Claude, серверы MCP, размещённые самостоятельно модели и остальную часть вашего агентского окружения. Если вы уже используете шлюз, оставьте его.
Могу ли я запускать Olivares AI без шлюза приложений Claude?
Да. Разъем claude-apps-gateway является необязательным. Основной разъем Claude (connectors/claude) принимает телеметрию OTLP и хуки напрямую из сессий Claude Code, с шлюзом перед ним или без него. Если вы не используете шлюз Anthropic, вы теряете путь аутентификации сессии OIDC, но сохраняете полное управление: инвентаризация сессий, отображение доступа на границе, распределение затрат, применение хуков, состояние MCP и вид нескольких поставщиков.
. Для подробной топологии развертывания смотрите /architecture. Для управления сервером MCP у разных поставщиков смотрите /product/mcp. Для полного обзора продукта смотрите /product.