Предварительные требования
Перед настройкой Claude Code с Microsoft Foundry убедитесь, что у вас есть:- Подписка Azure с доступом к Microsoft Foundry
- Разрешения RBAC для создания ресурсов и развертываний Microsoft Foundry
- Azure CLI установлен и настроен (опционально - требуется только если у вас нет другого механизма для получения учетных данных)
Если вы развертываете Claude Code для нескольких пользователей, закрепите версии вашей модели перед развертыванием.
Установка
- Подготовка ресурса Microsoft Foundry
Сначала создайте ресурс Claude в Azure:
- Перейдите на портал Microsoft Foundry
- Создайте новый ресурс, отметив имя вашего ресурса
-
Создайте развёртывания для моделей Claude, отметив имя развёртывания, которое вы даёте каждому; вы установите эти имена как переменные модели на шаге 4:
- Claude Opus
- Claude Sonnet
- Claude Haiku
- Настройка учётных данных Azure
Claude Code поддерживает три метода аутентификации для Microsoft Foundry. Выберите метод, который лучше всего соответствует вашим требованиям безопасности:
- API-ключ: вы копируете ключ на портале Microsoft Foundry и устанавливаете его как
ANTHROPIC_FOUNDRY_API_KEY - Microsoft Entra ID: Claude Code получает токены через цепочку учётных данных по умолчанию Azure SDK, например из сессии
az login, поэтому хранить API-ключ не нужно - Bearer-токен: другой процесс получает токен доступа Microsoft Entra ID, и вы передаёте его в
ANTHROPIC_FOUNDRY_AUTH_TOKEN
При использовании Microsoft Foundry команда
/logout недоступна, так как аутентификация обрабатывается через учётные данные Azure.Использование API-ключа
Скопируйте ключ на портале Microsoft Foundry, затем установите его как переменную окружения:- Перейдите к вашему ресурсу на портале Microsoft Foundry
- Откройте раздел Endpoints and keys
- Скопируйте API Key
- Установите переменную окружения, заменив
your-azure-api-keyна скопированный ключ:
Использование Microsoft Entra ID
ОставьтеANTHROPIC_FOUNDRY_API_KEY и ANTHROPIC_FOUNDRY_AUTH_TOKEN неустановленными. Тогда Claude Code использует Azure SDK цепочку учётных данных по умолчанию.
Это поддерживает различные методы аутентификации локальных и удалённых рабочих нагрузок.
На локальном компьютере войдите с помощью Azure CLI:
Использование Bearer-токена
Claude Code отправляет значениеANTHROPIC_FOUNDRY_AUTH_TOKEN в каждом запросе в качестве заголовка Authorization: Bearer. Используйте этот вариант, когда другой процесс, такой как хост-приложение или скрипт входа, уже получил для вас токен доступа.
Установите переменную на токен Bearer, выданный Microsoft Entra ID для вашего ресурса:
ANTHROPIC_FOUNDRY_AUTH_TOKEN имеет приоритет над ANTHROPIC_FOUNDRY_API_KEY и над цепочкой учётных данных по умолчанию.
- Настройка Claude Code
Установите следующие переменные окружения для включения интеграции Microsoft Foundry:
ANTHROPIC_FOUNDRY_RESOURCE только имя ресурса, например my-resource. Claude Code отклоняет URL или имя хоста при отправке сообщения.
- Закрепление версий моделей
Установите переменные модели в соответствии с именами развёртываний, которые вы создали на шаге 1.
Без ANTHROPIC_DEFAULT_OPUS_MODEL псевдоним opus на Microsoft Foundry разрешается в Opus 4.6. Установите его на идентификатор более новой модели Opus, такой как Opus 4.8:
ANTHROPIC_DEFAULT_HAIKU_MODEL на развёртывание Haiku, доступное в вашей учётной записи, как показано выше.
Для получения текущих и устаревших идентификаторов моделей см. Обзор моделей. Полный список переменных окружения см. в разделе Конфигурация модели.
Кэширование промптов включено автоматически. Чтобы запросить TTL кэша в 1 час вместо стандартного 5-минутного, установите следующую переменную; записи кэша с TTL в 1 час выставляются по более высокому тарифу:
- Запуск Claude Code
С установленными переменными окружения запустите Claude Code из каталога вашего проекта:
CLAUDE_CODE_USE_FOUNDRY и другие переменные Microsoft Foundry из окружения и подключается к вашему ресурсу Azure при первом промпте. В отличие от Amazon Bedrock и Google Cloud’s Agent Platform, Microsoft Foundry не имеет интерактивного мастера установки, поэтому переменные окружения на шагах 3 и 4 являются единственным путём конфигурации.
Чтобы проверить вашу установку, запустите /status внутри Claude Code. Строка поставщика API показывает Microsoft Foundry вместе с именем ресурса или базовым URL-адресом, который вы настроили.
Конфигурация Azure RBAC
Роли по умолчаниюAzure AI User и Cognitive Services User включают все необходимые разрешения для вызова моделей Claude.
Для более ограничительных разрешений создайте пользовательскую роль со следующим содержимым:
Контекстное окно на 1M токенов
В Microsoft Foundry, когда Claude Code может определить, какую модель обслуживает ваше развёртывание, модели Fable, Sonnet 5 и более поздние, а также Opus 4.7 и более поздние по умолчанию работают с контекстным окном на 1M токенов, и суффикс[1m] не требуется. Claude Code определяет модель по имени развёртывания в ваших переменных модели. Назовите каждое развёртывание по идентификатору его модели, например claude-opus-4-8, или сопоставьте модель с именем вашего развёртывания с помощью modelOverrides. Для имени развёртывания, которое не удаётся сопоставить с моделью, Claude Code предполагает окно размером 200K, если вы не укажете другое.
Эта запись в settings.json сообщает Claude Code, что развёртывание с именем team-opus-prod обслуживает Opus 4.8:
CLAUDE_CODE_DISABLE_1M_CONTEXT=1.
Opus 4.6 и Sonnet 4.6 получают окно на 1M, если добавить [1m] к имени развёртывания в ANTHROPIC_DEFAULT_OPUS_MODEL или ANTHROPIC_DEFAULT_SONNET_MODEL, как описано в разделе Закрепление моделей для сторонних развёртываний. До версии v2.1.287 моделям Fable, а также Opus 4.7 и более поздним в Microsoft Foundry тоже требовался этот суффикс, а без него они по умолчанию работали с окном размером 200K.
Устранение неполадок
Если вы получаете ошибку “Failed to get token from azureADTokenProvider: ChainedTokenCredential authentication failed”:- Настройте Entra ID в среде или установите
ANTHROPIC_FOUNDRY_API_KEY.
- Проверьте, что
ANTHROPIC_FOUNDRY_RESOURCEустановлен на ваше фактическое имя ресурса, а не на заполнитель. Claude Code создает URL конечной точки из этого значения, поэтому неправильное имя указывает на хост, который не существует.