AWS и Anthropic выпустили self-hosted gateway для Claude Code
AWS и Anthropic выпустили Claude apps gateway — self-hosted control plane для Claude Code и Claude Desktop. Один stateless-контейнер в вашей инфраструктуре берёт на себя аутентификацию через OIDC, централизованные лимиты и телеметрию. Upstream-креды уходят с ноутбуков разработчиков навсегда.
AWS и Anthropic выпустили Claude apps gateway — self-hosted control plane, который решает конкретную болячку: полсотни разработчиков с личными ключами Bedrock в dotfiles, счёт одной суммой и никакой видимости, кто сжёг три тысячи долларов за ночь на зациклившемся агенте.
Что это такое технически
Один stateless-контейнер на ECS, EKS или голом EC2 за внутренним ALB. Рядом - RDS for PostgreSQL под состояние логина и счётчики лимитов. Весь конфиг - один YAML при старте. Клиента переустанавливать не нужно: gateway встроен в тот же claude-бинарь, который у разработчиков уже стоит.
Куда деваются ключи
Upstream-креды переезжают с ноутбуков в инфраструктуру. Разработчик логинится через ваш OIDC - Okta, Entra ID, Google Workspace. Браузерный SSO выдаёт токен, по умолчанию на час, дальше тихий refresh.
Для Bedrock статических ключей нет совсем: gateway ходит через IAM task role контейнера. Уволили человека, отозвали в IdP - доступ отвалится на следующем рефреше, без беготни по выданным ключам.
Управление политиками и лимитами
При входе gateway раздаёт managed settings с привязкой к группе из IdP: какие модели доступны, какие инструменты запрещены, какие настройки нельзя переопределить. Контрактникам, например, оставляют одну дешёвую модель и режут веб-доступ.
Лимиты - дневной, недельный, месячный - выставляются через admin API в центах: на организацию, группу или конкретного человека. Упёрся в потолок - получил 429. Убежавший агент не доедает общий cloud-commitment до дна.
Телеметрия и переключение апстрима
Каждый запрос помечается usage-метрикой, gateway гонит её по OTLP в ваш коллектор - CloudWatch или Amazon Managed Prometheus - в вашей сети и с вашим retention. Из потока видно adoption по командам, самые дорогие вызовы и агентов, ушедших в бесконечный цикл.
Апстрим переключается централизованно. Лёг us-east-1 - правкой конфига переводишь на us-west-2 или на Anthropic API. Разработчики этого не замечают, никакой рассылки новых ключей на сотни машин.
По приватности: инференс и usage в Anthropic не утекают, пока вы сами не выберете апстримом Claude API. Anthropic обещает опубликовать протокол - сторонние реализации gateway в теории появятся.
Честно о подводных камнях
Gateway моментально становится single point of failure. Лёг сервис, его Postgres или IdP - вся команда сидит без агента. Значит, нужны реплики, multi-AZ и заранее продуманная семантика fail-open против fail-closed для лимитов.
Телеметрия чувствительнее, чем кажется. В неё стекают команды, пути к файлам, имена репозиториев, аргументы тулов, потенциально куски промптов. Валить всё это в коллектор без редактирования и с бесконечным retention - сомнительная идея.
Граница контроля обманчива. Аутентификацию, выбор модели и квоты gateway держит. А разрешение выполнять локальный Bash или трогать файлы - это уже managed settings на клиенте, и их надёжность зависит от того, насколько хорошо закрыт MDM. Хочешь настоящий enforcement - закрывай прямой egress-фильтрацией отдельно.
Что это значит
Если в команде меньше десяти человек - городить это незачем. Если Claude Code дорос до продакшн-инструмента на сотни людей и ключи с политиками пора снимать с личных ноутбуков - вот готовый ответ на эту задачу.
Подробнее: Хабр, 19 июля
FAQ
Нужно ли переустанавливать Claude Code? Нет. Gateway встроен в уже установленный claude-бинарь. Разработчику достаточно выполнить claude /login.
Работает ли это только с Bedrock? Основной сценарий - Bedrock через IAM task role. Апстрим можно переключить на Anthropic API, но тогда данные начнут утекать к Anthropic.
Можно ли развернуть не на AWS? Контейнер можно запустить на голом EC2, ECS или EKS. Жёсткой привязки к AWS-специфичным сервисам нет, но Postgres и OTLP-коллектор нужны в любом случае.