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, шлюз централізує керування ідентичністю, доступом до моделей і витратами за допомогою одного конфігураційного файлу.
Ця публікація про те, що відбувається далі. Ваш AI-актив майже напевно перевищує Claude. Ймовірно, ви використовуєте сервери MCP від кількох постачальників. Можливо, у вас є робочі навантаження OpenAI або Gemini, самостійно розміщене інференс через vLLM або Ollama, CI-пайплайни, які ніколи не бачать браузера, і агентські фреймворки, що делегують завдання між постачальниками. Шлюз додатків підтримує лише Claude і лише OIDC. Це рішення щодо області охоплення, а не дефект — але це означає, що питання управління відповідає лише частково.
Описана тут модель спільного розгортання розташовує самостійно розміщену платформу управління поруч із шлюзом, читаючи дані як з телеметрії шлюзу, так і з решти вашої агентської інфраструктури. Компліментарно, а не конкурентно: шлюз обробляє автентифікацію, платформа обробляє управління.
Що добре робить шлюз додатків
Шлюз вирішує конкретну, важливу проблему: надає 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, локальний висновок та інші постачальники не входять до сфери шлюзу.
- Без потоку service-token. Невідвідувані конвеєри CI/CD не мають задокументованого неблокуючого шляху автентифікації через шлюз.
- Без адміністраторського інтерфейсу. Конфігурація — це 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 може позначати guardrail gap. Конектор шлюзу повідомляє, що відсутній загальний політичний catch-all. Одна поверхня, один вигляд.
Як це виглядає у конфігурації
З’єднувач 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» та «керування середовищем» справді є різними проблемами.
Часті запитання
Чи замінює Olivares AI шлюз додатків Claude?
Ні. Доктрина така: «і», а не «або». Шлюз Anthropic володіє сесією автентифікації Claude Code, маршрутизацією доступу до моделей і вибором upstream. Olivares AI робить це розгортання керованою поверхнею всередині ширшої контрольної площини, яка також охоплює постачальників, не пов’язаних з Claude, сервери MCP, локально розміщені моделі та решту вашого агентського середовища. Якщо ви вже використовуєте шлюз, залишайте його.
Чи можу я запускати Olivares AI без шлюзу додатків Claude?
Так. Конектор claude-apps-gateway є необов’язковим. Основний конектор Claude (connectors/claude) приймає телеметрію OTLP і підключення безпосередньо з сеансів Claude Code, з шлюзом попереду або без нього. Якщо ви не використовуєте шлюз Anthropic, ви втрачаєте його шлях автентифікації сеансів OIDC, але зберігаєте повне управління: інвентаризацію сеансів, відображення доступних країв, призначення витрат, забезпечення виконання підключень, стан MCP і перегляд з кількома постачальниками.
Для детальної топології розгортання дивіться /architecture. Для управління серверами MCP серед постачальників дивіться /product/mcp. Для повного огляду продукту дивіться /product.