Настройка параметров, управляемых сервером
Централизованно настраивайте Claude Code для вашей организации через параметры, доставляемые сервером, без необходимости инфраструктуры управления устройствами.
Параметры, управляемые сервером, позволяют администраторам организации централизованно настраивать Claude Code из Admin Settings > Claude Code > Managed settings в консоли claude.ai. Клиенты Claude Code автоматически получают эти параметры при аутентификации пользователей с использованием подходящих учетных данных на платформе, где поддерживается доставка параметров, управляемых сервером. См. Доступность платформы для получения информации об учетных данных и платформах, которые соответствуют требованиям.
Параметры, управляемые сервером, доступны для клиентов Claude for Teams и Claude for Enterprise.
Требования
Для использования параметров, управляемых сервером, вам необходимо:
- План Claude for Teams или Claude for Enterprise
- Роль Owner или Primary Owner в вашей организации Claude для просмотра и редактирования конфигурации
- Сетевой доступ к
api.anthropic.com
Выбор между параметрами, управляемыми сервером, и параметрами, управляемыми конечной точкой
Claude Code поддерживает два подхода к централизованной конфигурации. Параметры, управляемые сервером, доставляют конфигурацию с серверов Anthropic. Параметры, управляемые конечной точкой развертываются непосредственно на устройства через встроенные политики ОС (управляемые параметры macOS, реестр Windows) или управляемые файлы параметров.
| Подход | Лучше всего подходит для | Модель безопасности |
|---|---|---|
| Параметры, управляемые сервером | Организации без MDM или пользователи на неуправляемых устройствах | Параметры, которые Claude Code получает с серверов Anthropic при запуске и обновляет каждый час во время сеанса |
| Параметры, управляемые конечной точкой | Организации с MDM или управлением конечными точками | Параметры развертываются на устройства через профили конфигурации MDM, политики реестра или управляемые файлы параметров |
Если ваши устройства зарегистрированы в решении MDM или управления конечными точками, параметры, управляемые конечной точкой, обеспечивают более сильные гарантии безопасности, поскольку файл параметров может быть защищен от изменения пользователем на уровне ОС. Параметры, управляемые конечной точкой, не достигают облачных сеансов в размещенных в Anthropic средах, поэтому организации, разработчики которых запускают облачные сеансы, должны также настроить параметры, управляемые сервером. Сеансы в самостоятельно размещенной среде также читают управляемый файл параметров в образе runner. Приоритет параметров ниже указывает, когда этот файл применяется.
Настройка параметров, управляемых сервером
Откройте консоль администратора
В консоли claude.ai перейдите в Admin Settings > Claude Code > Managed settings.
Если ссылка перенаправляет вас на другую страницу Admin Settings вместо страницы Claude Code, ваша учетная запись не имеет требуемой роли. Роли администратора и другие роли, отличные от Owner, не могут просматривать или редактировать управляемые параметры, поэтому попросите Owner или Primary Owner в вашей организации внести изменение. См. Контроль доступа.
Определите ваши параметры
Добавьте вашу конфигурацию как JSON. Все параметры, доступные в settings.json поддерживаются, за исключением тех, которые ограничены доставкой политики на уровне ОС; см. Текущие ограничения для этого краткого списка. Это включает hooks, переменные окружения и параметры только для управления, такие как allowManagedPermissionRulesOnly.
Этот пример применяет список отказа в разрешениях, предотвращает обход разрешений пользователями и ограничивает правила разрешений только теми, которые определены в управляемых параметрах. Правило Bash(curl *) соответствует curl так, как его пишет Claude, а не /usr/bin/curl или sh -c 'curl …'; для применения сетевых ограничений, которые не зависят от текста команды, добавьте sandbox блок с allowManagedDomainsOnly.
{
"permissions": {
"deny": [
"Bash(curl *)",
"Read(./.env)",
"Read(./.env.*)",
"Read(./secrets/**)"
],
"disableBypassPermissionsMode": "disable"
},
"allowManagedPermissionRulesOnly": true
}
Hooks используют тот же формат, что и в settings.json.
Этот пример запускает скрипт аудита после каждого редактирования файла во всей организации:
{
"hooks": {
"PostToolUse": [
{
"matcher": "Edit|Write",
"hooks": [
{ "type": "command", "command": "/usr/local/bin/audit-edit.sh" }
]
}
]
}
}
Поскольку hooks выполняют команды оболочки, пользователи в интерактивных сеансах видят диалог одобрения безопасности перед тем, как Claude Code применит их.
Чтобы настроить классификатор режима автоматизации так, чтобы он знал, какие репозитории, бакеты и домены доверяет ваша организация, доставьте блок autoMode таким же образом; см. Настройка режима автоматизации для информации о том, как записи autoMode влияют на то, что блокирует классификатор, и важные предупреждения о полях environment, allow, soft_deny и hard_deny.
Сохраните и разверните
Сохраните ваши изменения. Клиенты Claude Code получат обновленные параметры при следующем запуске или в цикле опроса каждый час.
Проверка доставки параметров
Чтобы подтвердить, что параметры применяются, попросите пользователя перезагрузить Claude Code. Если конфигурация включает параметры, которые запускают диалог одобрения безопасности, пользователь видит подсказку, описывающую управляемые параметры при следующей загрузке параметров Claude Code: при следующем запуске или в течение часа в работающем интерактивном сеансе. Вы также можете проверить, что активны управляемые правила разрешений, попросив пользователя запустить /permissions для просмотра его эффективных правил разрешений.
Чтобы проверить результат загрузки на конкретной машине, попросите пользователя запустить claude doctor и прочитать строку Managed settings (remote). Требуется Claude Code v2.1.248 или позже. Строка сообщает об одном из четырех результатов:
- Доставленные параметры загружены
- Ваша организация не имеет настроенных параметров, управляемых сервером
- Загрузка не удалась, с указанием причины и того, применяется ли кэшированная политика
- Claude Code пропустил загрузку, с указанием причины. См. Доступность платформы для поставщиков и конфигураций, которые пропускают её
Пока загрузка еще выполняется, строка сообщает об этом вместо этого.
В работающем сеансе /status показывает ту же строку после неудачной загрузки и для некоторых причин пропуска загрузки, таких как переменная поставщика третьей стороны или пользовательский ANTHROPIC_BASE_URL, экспортированный в оболочке пользователя.
Контроль доступа
Следующие роли могут управлять параметрами, управляемыми сервером:
- Primary Owner
- Owner
Ограничьте доступ доверенному персоналу, так как изменения параметров применяются ко всем пользователям в организации.
Параметры только для управления
Большинство ключей параметров работают в любой области. Несколько ключей читаются только из управляемых параметров и не имеют эффекта при размещении в файлах параметров пользователя или проекта. См. параметры только для управления для элементов управления разрешениями и плагинами, или прочитайте столбец Scope в индексе Все параметры для полного набора.
Текущие ограничения
Параметры, управляемые сервером, имеют следующие ограничения:
-
Параметры применяются одинаково ко всем пользователям в организации. Конфигурации для отдельных групп еще не поддерживаются.
-
Вы не можете распространять файл
managed-mcp.jsonчерез параметры, управляемые сервером. Вместо этого доставьте там ключи политикиallowedMcpServersиdeniedMcpServers. На Claude Code v2.1.259 или позже вы также можете предоставить удаленные серверы с помощьюmanagedMcpServers, который принимает только серверыhttpиsseи не берет исключительный контроль так, как это делает файл.Claude Code читает
managed-mcp.json, развернутый по его системному пути, отдельно от уровня управляемых параметров, поэтому файл все еще применяется, когда действуют параметры, управляемые сервером. -
Параметры, ограниченные источниками политики на уровне ОС, такие как
policyHelperиwslInheritsWindowsSettings, не учитываются. Разверните их через MDM или системный файлmanaged-settings.jsonвместо этого.policyHelper, развернутый таким образом, работает только тогда, когда его источник является выбранным в приоритете в пределах управляемого уровня.
Доставка параметров
Приоритет параметров
Управляемые сервером параметры и управляемые конечной точкой параметры занимают наивысший уровень в иерархии параметров Claude Code. Никакой другой уровень параметров не может их переопределить, включая аргументы командной строки, за исключением исключений из приоритета управляемых параметров.
В пределах управляемого уровня Claude Code по умолчанию использует первый источник, который доставляет хотя бы один ключ политики, сначала проверяя управляемые сервером параметры, а затем управляемые конечной точкой параметры, за исключением ключей исключений, рассмотренных далее. Как Claude Code объединяет управляемые источники содержит полный рейтинг, исключение для ключей управления и согласие, которое применяется к каждому источнику.
Если выбранный источник — это политика MDM или файл управляемых параметров, чей policyHelper предоставляет управляемые параметры, выходные данные помощника заменяют этот источник как единственную управляемую конфигурацию для запуска. Claude Code не обращается к policyHelper, настроенному в MDM или файловых параметрах, пока управляемые сервером параметры доставляют ключ политики.
Если более поздняя выборка обнаруживает удаление управляемых сервером параметров, Claude Code сразу же запускает этот помощник вместо следующего запуска. Запись policyHelper охватывает то, что происходит при сбое этого запуска.
Если вы очищаете конфигурацию управляемых сервером параметров в консоли администратора с намерением вернуться к управляемой конечной точкой plist или политике реестра, имейте в виду, что кэшированные параметры сохраняются на клиентских машинах до следующей успешной выборки, и ключи, которые применяются только при следующем запуске, такие как model, остаются в силе до перезагрузки каждого клиента. Запустите /status, чтобы увидеть, какой управляемый источник активен.
Исключения для отдельных ключей в управляемых источниках
Три вида ключей являются исключениями из правила отсутствия объединения:
-
Ключи блокировки между источниками: небольшой набор ключей, таких как блокировки списка разрешений песочницы, указанные на странице управляемых параметров. Claude Code соблюдает их, когда любой управляемый администратором источник их устанавливает; уровень реестра HKCU, доступный для записи пользователем, исключен.
Когда
policyHelperпредоставляет управляемые параметры, его выходные данные — это единственный источник, который эти проверки читают, за исключениемforceRemoteSettingsRefresh, который Claude Code читает из источников администратора непосредственно при запуске. -
Блок
env: помимо единицы телеметрии и переменных маршрутизации, связанных с ключом учетных данных, оба рассмотрены ниже, он объединяется по ключам в управляемых администратором источниках. Для каждой переменной окружения источник с наивысшим приоритетом, определяющий ее, побеждает, а источники администратора с более низким приоритетом заполняют переменные, которые источники с более высоким приоритетом оставляют неустановленными. Записьenv, управляемая конечной точкой, поэтому применяется всякий раз, когда конфигурация управляемых сервером параметров оставляет эту переменную неустановленной, или пока кэшированное значение сервера для нее удерживается в ожидании подтверждения сервером. Требуется Claude Code v2.1.223 или более поздняя версия. До v2.1.223 Claude Code применяет только весь блокenvвыбранного источника.- Единица телеметрии: ключи экспортера
OTEL_EXPORTER_OTLP_*, переключатели захвата содержимогоOTEL_LOG_*,OTEL_LOGS_EXPORTERи бета-переменные трассировкиENABLE_BETA_TRACING_DETAILEDиBETA_TRACING_ENDPOINTследуют источнику с наивысшим приоритетом, который устанавливает любой из них как единицу. Источник, который доставляет ключ учетных данныхotelHeadersHelper, также претендует на единицу, но размещает эти переменные только когда он является выбранным источником: источник, который не выбран, но доставляет ключ, не вносит ни один из них и все еще блокирует более низкие источники от их заполнения. В любом случае конечная точка экспортера из одного источника никогда не может быть связана с учетными данными из другого. - Маршрутизация с привязкой к учетным данным: источник, который связывает переменные маршрутизации с ключом учетных данных, доступным только для выбранного источника, такой как
apiKeyHelperилиotelHeadersHelper, вносит эти переменные маршрутизации только когда он выигрывает слот.
- Единица телеметрии: ключи экспортера
-
Ключи входа в шлюз: Claude Code никогда не читает
forceLoginGatewayUrl,gatewayInternalNetworksили значение"gateway"forceLoginMethodиз управляемых сервером параметров, поэтому значение там ни не применяется, ни не скрывает значение, установленное в политике MDM или файле управляемых параметров. ЗаписьmanagedSourcesBehaviorуказывает, какой источник администратора на машине их предоставляет.
Поведение выборки и кэширования
Claude Code выполняет выборку параметров с серверов Anthropic при запуске и опрашивает обновления каждый час во время активных сеансов.
Клиент, вошедший через шлюз приложений Claude, выполняет выборку параметров из шлюза и ждет завершения этой выборки перед началом сеанса, поэтому выборка в списках ниже к нему не применяется. Принудительный отказ при запуске охватывает то, что происходит при сбое этой выборки.
Первый запуск без кэшированных параметров:
- Когда разработчик входит при запуске, например при первом запуске или после
/logout, Claude Code ждет до пяти секунд выборки перед открытием сеанса. Когда политика поступает вовремя, Claude Code применяет ее с первого экрана и показывает вашиcompanyAnnouncementsна нем. Когда полезная нагрузка требует одобрения безопасности, Claude Code завершает ожидание и применяет полезную нагрузку после одобрения разработчиком - При любом другом запуске и когда истекает пятисекундное ожидание, Claude Code открывает сеанс, пока выборка продолжается, поэтому краткое окно проходит перед загрузкой параметров и вступлением в силу ограничений
- Если выборка не удается, Claude Code продолжает работу без управляемых сервером параметров и предупреждает в интерактивных сеансах, что удаленная политика не применяется; управляемые конечной точкой параметры все еще применяются. Если управляемый источник устанавливает
forceRemoteSettingsRefresh, Claude Code вместо этого выходит
Последующие запуски с кэшированными параметрами:
- Кэшированные параметры применяются немедленно при запуске, за исключением кэшированных значений
modelPricingиmanagedMcpServersи переменных окружения, которые Claude Code удерживает до подтверждения полезной нагрузки сервером - Кэшированный
modelPricingне применяется до тех пор, пока выборка сеанса не подтвердит полезную нагрузку. До этого момента цифры затрат, которые разработчики видят в/usageи в строке состояния, находятся по цене списка - Кэшированный блок
managedMcpServersне применяется до тех пор, пока выборка сеанса не подтвердит полезную нагрузку. Claude Code ждет до 30 секунд для этой выборки перед подключением серверов MCP. Если выборка не удается или истекает время ожидания, сеанс начинается без серверов организации,/statusэто указывает, и они подключаются после подтверждения более поздней выборкой. Полное поведение см. в разделе Когда предоставленные серверы подключаются, включая первый запуск. Требуется Claude Code v2.1.259 или более поздняя версия - Claude Code выполняет выборку свежих параметров в фоновом режиме
- Кэшированные параметры сохраняются при сбоях сети. Если выборка при запуске не удается, Claude Code предупреждает в интерактивных сеансах, что кэшированная политика действует
- До успешной выборки удерживаемые значения при запуске остаются удерживаемыми
Claude Code удерживает несколько категорий переменных в кэшированном блоке env до подтверждения полезной нагрузки сервером для сеанса. Это предотвращает перенаправление, перехват или повторную аутентификацию кэшированного прокси, центра сертификации, конечной точки или значения учетных данных при выборке параметров, которая подтверждает полезную нагрузку. Усиление применяется только к кэшу параметров, полученных с сервера: управляемые конечной точкой параметры, развернутые через MDM или managed-settings.json, не затронуты. Удержание требует Claude Code v2.1.198 или более поздней версии; до v2.1.198 весь кэшированный блок env применяется при запуске. Удерживаемые категории включают:
- Конфигурация прокси и TLS, такая как
HTTPS_PROXY,NODE_EXTRA_CA_CERTSи переменные сертификата клиента mTLSCLAUDE_CODE_CLIENT_CERTиCLAUDE_CODE_CLIENT_KEY - Маршрутизация API и выбор поставщика, включая
ANTHROPIC_BASE_URL, переменные выбора поставщика, такие какCLAUDE_CODE_USE_BEDROCKиCLAUDE_CODE_USE_VERTEX, и URL-адреса конечных точек поставщика, такие какANTHROPIC_BEDROCK_BASE_URL - Учетные данные аутентификации, такие как
ANTHROPIC_API_KEY,ANTHROPIC_AUTH_TOKENиCLAUDE_CODE_OAUTH_TOKEN - Селектор каталога конфигурации
CLAUDE_CONFIG_DIR - Селекторы источника учетных данных и каталога конфигурации в Claude Code v2.1.223 или более поздней версии: переменные Workload Identity Federation, такие как
ANTHROPIC_FEDERATION_RULE_IDиANTHROPIC_IDENTITY_TOKEN, селекторы профиля и каталога конфигурацииANTHROPIC_PROFILEиANTHROPIC_CONFIG_DIR, и переменные каталога операционной системыHOME,XDG_CONFIG_HOME,APPDATAиUSERPROFILE
Claude Code читает переменные Workload Identity Federation и селекторы ANTHROPIC_PROFILE и ANTHROPIC_CONFIG_DIR только при запуске, поэтому значение, доставленное сервером для них, не переключает источник учетных данных сеанса даже после успешной выборки. Для доставки этих селекторов на Claude Code v2.1.223 или более поздней версии используйте управляемые конечной точкой параметры, такие как MDM или managed-settings.json. Для CLAUDE_CONFIG_DIR и переменных каталога операционной системы само удержание является защитой: кэшированное значение остается вне окружения до подтверждения полезной нагрузки сервером.
Каждый другой ключ в кэшированном блоке env применяется при запуске. После подтверждения полезной нагрузки сервером и вашего одобрения, если оно требует одобрения безопасности, удерживаемые переменные применяются для остальной части сеанса.
Если вашей организации требуется прокси для доступа к api.anthropic.com, удержание влияет только на сам доставленный блок env: прокси, установленный в управляемом конечной точкой блоке env через MDM или managed-settings.json, в окружении оболочки или в пользовательских параметрах, достигает выборки параметров. Источник, управляемый конечной точкой, требует Claude Code v2.1.223 или более поздней версии: кэшированное значение прокси, управляемое сервером, удерживается до подтверждения выборкой, поэтому значение, управляемое конечной точкой, заполняется по ключам и достигает самой выборки. До v2.1.223 используйте окружение оболочки или пользовательские параметры, чтобы прокси применялся вместе с кэшированной полезной нагрузкой сервера. Первый запуск не имеет кэша, поэтому источник, управляемый конечной точкой, окружение оболочки или пользовательские параметры все еще требуются для начальной выборки.
Claude Code применяет большинство обновлений параметров к работающим сеансам без перезагрузки. Некоторые обновления применяются только при следующем запуске, включая конфигурацию экспортера OpenTelemetry, ключ model и удаление переменной из блока env.
Недействительные записи в доставленных параметрах
Когда часть полезной нагрузки не проходит проверку схемы, Claude Code выводит ошибку валидации и применяет каждый оставшийся действительный параметр; Недействительные записи в управляемых параметрах указывает, что он отбрасывает и какие ключи возвращаются к более строгому значению. Требуется Claude Code v2.1.169 или более поздняя версия.
Доставка, управляемая сервером, добавляет эти поведения:
- Кэш в
~/.claude/remote-settings.jsonхранит спасенную полезную нагрузку с удаленными недействительными записями, за исключением недействительных значенийcleanupPeriodDaysиdesktopSessionCleanupPeriodDays, которые остаются в кэшированной копии и никогда не применяются. - Когда ни одно поле в полезной нагрузке не может быть спасено и полезная нагрузка не содержит только эти ключи хранения, Claude Code отклоняет полезную нагрузку, сохраняет последние принятые кэшированные параметры и записывает
Remote settings: Settings validation failed - no fields could be salvagedв журнал отладки. Если установленforceRemoteSettingsRefresh, CLI вместо этого выходит. - Диалог одобрения безопасности оценивает спасенную полезную нагрузку, поэтому удаленная недействительная запись никогда не представляется для одобрения и никогда не выполняется.
Для отладки проблем доставки запустите claude --debug-file <path> и найдите в журнале Remote settings. Проверьте изменение полезной нагрузки с помощью claude doctor на тестовой машине перед развертыванием в организации.
Принудительный отказ при запуске
По умолчанию, если выборка удаленных параметров не удается при запуске, CLI продолжает работу с параметрами, кэшированными из последней успешной выборки, за исключением значений, которые Claude Code удерживает до успешной выборки. На машине, которая никогда их не выполняла, CLI продолжает работу без управляемых сервером параметров и все еще применяет любые управляемые конечной точкой параметры на устройстве.
Чтобы остановить клиентов от запуска с кэшированными или отсутствующими управляемыми сервером параметрами, установите forceRemoteSettingsRefresh: true в ваших управляемых параметрах.
Клиенты, вошедшие через шлюз приложений Claude, ждут выборки при запуске независимо от того, установлен ли этот параметр, и обрабатывают сбой выборки следующим образом:
- Если шлюз отвечает на посещаемый интерактивный запуск с
401и этот параметр отключен, шлюз завершил этот вход. Claude Code выводитCloud gateway session expired — run /login to reconnect.и открывает сеанс без входа в шлюз до тех пор, пока пользователь не запустит/login. - Когда выборка не удается каким-либо другим способом или в любом другом типе запуска, кроме подкоманды
claude auth, клиент выходит с ошибкой.
Когда этот параметр активен в сеансе, который выполняет выборку управляемых сервером параметров, CLI блокируется при запуске до тех пор, пока удаленные параметры не будут свежо выбраны. Если выборка не удается, CLI выходит вместо продолжения без политики. Этот параметр самовоспроизводится: после доставки с сервера он также кэшируется локально, чтобы последующие запуски применяли то же поведение даже перед первой успешной выборкой нового сеанса. Сеанс, который не выполняет выборку управляемых сервером параметров, начинается без ожидания.
Чтобы включить это, добавьте ключ в конфигурацию управляемых параметров:
{
"forceRemoteSettingsRefresh": true
}
Вы также можете установить этот ключ в управляемом конечной точкой профиле MDM или системном файле managed-settings.json для применения поведения отказа при запуске, перед поступлением любой полезной нагрузки сервера. В Claude Code v2.1.191 или более поздней версии этот флаг является исключением из правила приоритета выше: Claude Code соблюдает его, когда любой управляемый администратором источник его устанавливает, даже если также присутствует кэшированная полезная нагрузка, управляемая сервером, поэтому он не игнорирует значение, доставленное MDM, когда существуют управляемые сервером параметры.
Когда policyHelper предоставляет управляемые параметры, его выходные данные заменяют каждый другой управляемый источник для ключей, которые Claude Code читает после запуска. Для источников, из которых Claude Code читает этот ключ, см. его запись параметров. Запись policyHelper указывает, из каких источников Claude Code читает помощника и когда он запускается.
Выборка параметров также отправляет заголовок Cache-Control: no-cache, чтобы промежуточные HTTP-прокси не обслуживали устаревший ответ.
Перед включением этого параметра убедитесь, что ваши сетевые политики разрешают подключение к api.anthropic.com. Если эта конечная точка недоступна, CLI выходит при запуске и пользователи не могут запустить Claude Code.
Подкоманды claude auth, такие как claude auth login, освобождены от этой проверки и от выхода при запуске шлюза, поэтому пользователи могут повторно аутентифицироваться, когда истекшие учетные данные являются причиной сбоя выборки параметров.
Диалоги одобрения безопасности
Определенные параметры, которые могут представлять риск безопасности, требуют явного одобрения пользователя перед применением Claude Code в интерактивном сеансе:
- Параметры команды оболочки: параметры, которые выполняют команды оболочки, такие как
apiKeyHelper,statusLineиotelHeadersHelper - Параметры двоичного файла песочницы:
sandbox.bwrapPath,sandbox.socatPathиsandbox.ripgrep. Каждый из этих параметров указывает на исполняемый файл, и Claude Code запускает этот исполняемый файл - Параметры сети и изоляции песочницы: параметры песочницы, которые позволяют прокси песочницы читать, перенаправлять или аутентифицировать трафик, или которые ослабляют изоляцию песочницы:
sandbox.network.tlsTerminate,sandbox.network.httpProxyPort,sandbox.network.socksProxyPort,sandbox.credentials,sandbox.allowAppleEvents,sandbox.enableWeakerNestedSandbox,sandbox.enableWeakerNetworkIsolation,sandbox.filesystem.disabled,sandbox.network.allowAllUnixSockets,sandbox.network.allowUnixSocketsиsandbox.network.allowMachLookup. Блокsandbox.credentials, содержащий только правилаdeny, не требует одобрения, так как он ограничивает песочницу без предоставления прокси учетных данных. До v2.1.251 Claude Code применял эти параметры без одобрения - Пользовательские переменные окружения: доставленные переменные
env, требующие одобрения пользователя, такие как переменные прокси и базового URL; см. Переменные окружения и диалог одобрения - Конфигурации hooks: любое определение hooks
Когда эти параметры присутствуют, пользователи видят диалог безопасности, объясняющий, что настраивается. Пользователи должны одобрить для продолжения. Если пользователь отклоняет параметры, Claude Code выходит.
Управляемый CLAUDE.md, доставленный через ключ claudeMd, не требует одобрения, потому что это текст инструкций для Claude, а не команда, которую запускает Claude Code. Claude Code все еще проверяет разрешения для инструментов, которые Claude использует при следовании этим инструкциям. До v2.1.260 значение claudeMd также требовало одобрения.
Память одобрения
Claude Code записывает ваше одобрение в каталог конфигурации, ~/.claude, если вы не установили CLAUDE_CONFIG_DIR. Что он записывает, зависит от учетных данных, которые использует выборка параметров:
-
Вход claude.ai, сохраненный
/loginилиclaude auth login, или вход в консоль без ключа: одно одобрение на организацию, удерживаемое учетной записью, которая одобрила последней. -
Вход шлюза приложений Claude: одно одобрение на шлюз.
Если вы выходите и снова входите в тот же шлюз, Claude Code не показывает диалог снова, пока параметры, требующие одобрения, не изменятся. Claude Code показывает его снова, когда эти параметры изменяются, когда вы входите в другой шлюз и когда вы принимаете новый сертификат для того же шлюза.
Claude Code не сохраняет одобрение для шлюза разработки обратной связи, доступного через простой HTTP, поэтому диалог появляется снова после каждого входа.
-
Любые другие учетные данные, такие как ключ API или
CLAUDE_CODE_OAUTH_TOKEN: одно одобрение для доставленных параметров, сохраняемое с кэшированной копией параметров в этом каталоге конфигурации. Claude Code показывает диалог снова, когда параметры, требующие одобрения, изменяются, и после запуска/logoutилиclaude auth logout, каждый из которых удаляет кэшированную копию.
Одобрение для sandbox.credentials или sandbox.network.tlsTerminate также охватывает записи sandbox.network.allowedDomains в этих же доставленных параметрах, потому что оба параметра действуют на этот список разрешений. Диалог появляется снова, когда ваш администратор добавляет или удаляет одну из этих записей, даже хотя sandbox.network.allowedDomains не требует одобрения сам по себе.
С сохраненным входом claude.ai:
- Если вы выходите и снова входите, или переключаетесь на другую организацию и позже возвращаетесь, Claude Code не показывает диалог снова, пока эти параметры не изменятся, если только другая учетная запись не одобрила их для этой организации в том же каталоге конфигурации в промежутке.
- Если вы входите в ту же организацию с другой учетной записью, Claude Code показывает диалог снова, даже когда параметры не изменяются. Одобрение этой учетной записи заменяет предыдущее, поэтому когда вы переключаетесь обратно, Claude Code показывает диалог еще раз.
Claude Code не всегда может показать диалог. Каждый случай ниже указывает, какие параметры применяются, когда он не может, и когда вы снова видите диалог:
- Интерактивный сеанс, который не может показать диалог: Claude Code не применяет доставленные параметры и сохраняет последние одобренные параметры. Диалог появляется в следующем сеансе, который может его показать. Требуется Claude Code v2.1.211 или более поздняя версия.
claude installилиclaude update: Claude Code не показывает диалог во время любой команды. Команда запускается с последними одобренными параметрами, и диалог появляется в вашем следующем интерактивном сеансе. Если Claude Code ждет выборки параметров при запуске, например с установленнымforceRemoteSettingsRefreshили при развертывании шлюза приложений Claude, он показывает диалог во время команды вместо этого, и запуск установки из трубы не удается; см.Raw mode is not supportedduring install. До v2.1.246 Claude Code пытался показать диалог во время этих команд тоже.- Ошибка закрывает диалог перед вашим ответом: Claude Code не применяет доставленные параметры и сохраняет последние одобренные параметры. Он показывает диалог снова в следующем сеансе, который может его показать.
- Неинтерактивный запуск, такой как
claude -pили сеанс Agent SDK: Claude Code не может показать диалог, поэтому когда доставленные параметры требуют одобрения, он применяет их только для этого запуска. Он не записывает их как одобренные и не записывает их в локальный кэш, и следующий интерактивный сеанс показывает диалог. До одобрения пользователем в интерактивном сеансе каждый неинтерактивный запуск выполняет выборку параметров снова при запуске. До v2.1.207 неинтерактивный запуск сохранял параметры как одобренные, поэтому более поздние интерактивные сеансы никогда не показывали диалог для них.
Переменные окружения и диалог одобрения
Claude Code применяет некоторые доставленные переменные env без показа пользователю диалога одобрения, включая:
- Переключатели функций и команд
- Параметры выбора и поведения модели, такие как
ANTHROPIC_MODEL,DISABLE_PROMPT_CACHINGиCLAUDE_CODE_EFFORT_LEVEL - Параметры окна контекста и компактности, такие как
DISABLE_AUTO_COMPACT - Параметры пользовательского интерфейса терминала и доступности
- Числовые ограничения, бюджеты и тайм-ауты
Другие доставленные переменные могут требовать одобрения пользователя перед вступлением в силу; непустое значение прокси, базового URL или OTEL_EXPORTER_OTLP_ENDPOINT всегда требует. Когда доставленная переменная требует одобрения, диалог называет ее, поэтому пользователь видит ровно то, что политика просит установить. До v2.1.218 Claude Code применял меньше переменных без запроса пользователя, поэтому параметры, такие как DISABLE_AUTO_COMPACT, вызывали диалог при любом непустом значении.
Claude Code решает, требуют ли четыре переключателя конфиденциальности одобрения по доставленному значению, а не по имени переменной: CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC, DISABLE_ERROR_REPORTING, DISABLE_TELEMETRY и DO_NOT_TRACK. Истинное значение, такое как 1 или true, только отключает отслеживание, отчеты об ошибках или другой ненужный трафик, поэтому Claude Code применяет его без запроса пользователя. Для любого другого непустого значения Claude Code показывает диалог. До v2.1.218 все они, кроме DO_NOT_TRACK, применялись без одобрения при любом значении, и DO_NOT_TRACK вызывал диалог при любом непустом значении.
Claude Code также решает, требует ли API_FORCE_IDLE_TIMEOUT одобрения по доставленному значению: истинное значение только включает тайм-аут простоя тела, поэтому Claude Code применяет его без запроса пользователя. Для любого другого непустого значения Claude Code показывает диалог. До v2.1.248 любое непустое значение вызывало диалог.
Требует ли ANTHROPIC_CUSTOM_HEADERS одобрения, также зависит от доставленного значения. Заголовки, которые только помечают запросы, такие как Accept-Language, применяются без диалога. Строка, которая называет учетные данные, селектор организации или клиента, переменную маршрутизации или переопределения хоста, или заголовок поведения API, такой как Authorization, X-Api-Key, Host, anthropic-beta или заголовки X-Amzn-Bedrock-*, требует одобрения. Строка также требует одобрения, когда ее имя не является действительным токеном заголовка HTTP или ее значение содержит символ, который заголовок HTTP не может нести. Проверка совпадает со словами внутри имени заголовка, поэтому X-Client-Version, которая содержит client и version, также требует одобрения. До v2.1.251 любое значение ANTHROPIC_CUSTOM_HEADERS применялось без него.
Ложное значение, такое как 0 или false, для ENABLE_BETA_TRACING_DETAILED или OTEL_LOG_RAW_API_BODIES, применяется без диалога, потому что оно только отключает детальную трассировку или захват тела сырого API. Любое другое непустое значение для любой переменной требует одобрения.
Доступность платформы
Параметры, управляемые сервером, требуют прямого подключения к api.anthropic.com. Доставка также требует, чтобы сеанс аутентифицировался с помощью одного из этих учетных данных:
- Вход в организацию Team или Enterprise через OAuth
- Токен OAuth, предоставленный через
CLAUDE_CODE_OAUTH_TOKEN - Напрямую настроенный ключ API
- Профиль
user_oauthAnthropic, если только профиль не устанавливаетbase_url, отличный от Anthropic API. Требуется Claude Code v2.1.257 или позже.
Ни ключи, возвращаемые скриптом apiKeyHelper, ни учетные данные Workload Identity Federation не запускают выборку параметров.
В сеансе Cowork в приложении Claude Desktop Claude Code не получает параметры, управляемые сервером, из консоли администратора claude.ai, даже если пользователь входит с учетной записью Team или Enterprise. Где и когда применяется политика охватывает, какая политика достигает сеансов Cowork на машине пользователя и удаленных сеансов Cowork. claude.ai по-прежнему применяет ваши списки strictKnownMarketplaces и blockedMarketplaces сам по себе, когда пользователь Cowork добавляет marketplace из репозитория git на claude.ai или из Customize на вкладке Cowork. Как работают ограничения описывает эту проверку.
Если вы экспортируете переменную поставщика CLAUDE_CODE_USE_* или нестандартный ANTHROPIC_BASE_URL в вашей оболочке, Claude Code пропускает выборку параметров для ваших сеансов. claude doctor и /status сообщают о пропущенной выборке и ее причине.
Вы не можете очистить экспорт с помощью управляемого сервером блока env, потому что блок поступает через выборку, которую экспорт предотвращает. Блок параметров env, управляемый конечной точкой](/ru/managed-settings#delivery-mechanisms), также не восстанавливает выборку: Claude Code проверяет приемлемость перед применением управляемых блоков env, поэтому значение, управляемое конечной точкой, изменяет выбор поставщика сеанса, но выборка остается пропущенной.
Чтобы восстановить доставку, управляемую сервером, удалите экспорт из вашей оболочки или установите переменную на "" в блоке env пользовательских параметров, который применяется перед проверкой приемлемости. Чтобы обеспечить политику без полагания на пользователей для изменения их оболочек, доставляйте параметры через управляемый конечной точкой канал вместо этого.
Для развертываний Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry и Claude Platform on AWS, самостоятельно размещаемый Claude apps gateway обеспечивает эквивалентную доставку удаленных управляемых параметров: клиенты, вошедшие в шлюз, получают управляемые параметры из шлюза вместо api.anthropic.com. Семантика отказов отличается при запуске: клиент шлюза, который не может достичь шлюз, завершает работу с ошибкой вместо возврата к кэшированным параметрам, в то время как почасовое фоновое обновление открыто при отказе на обоих каналах.
Аудит логирования
События журнала аудита для изменений параметров доступны через API соответствия или экспорт журнала аудита. Свяжитесь с вашей командой учета Anthropic для получения доступа.
События аудита включают тип выполненного действия, учетную запись и устройство, которые выполнили действие, и ссылки на предыдущие и новые значения.
Соображения безопасности
Параметры, управляемые сервером, обеспечивают централизованное применение политики, но они работают как элемент управления на стороне клиента, а не как граница безопасности. На неуправляемых устройствах пользователю не требуется доступ администратора или sudo для их обхода.
| Сценарий | Поведение |
|---|---|
| Пользователь редактирует кэшированный файл параметров | Измененный файл применяется при запуске, за исключением значений, которые Claude Code удерживает до подтверждения сервером полезной нагрузки. При следующей выборке с сервера восстанавливаются правильные параметры, за исключением ключей, которые применяются только при следующем запуске, таких как model или переменная, добавленная в блок env, которые остаются в силе до перезагрузки |
| Пользователь удаляет кэшированный файл параметров | Происходит поведение первого запуска |
| Пользователь запускает измененный двоичный файл Claude Code | Пользователь, который может запустить измененный клиент, может обойти любой элемент управления на стороне клиента |
| Пользователь запускает более старую версию Claude Code | Версии, которые предшествуют параметрам, управляемым сервером, не выбирают и не применяют их |
| API недоступен | Кэшированные параметры применяются, если доступны, за исключением значений, которые Claude Code удерживает до успешной выборки. Без кэша Claude Code не применяет параметры, управляемые сервером, до следующей успешной выборки, и по-прежнему применяет любые параметры, управляемые конечной точкой на устройстве. С forceRemoteSettingsRefresh: true CLI выходит вместо продолжения, за исключением claude auth подкоманд. Клиенты, вошедшие через шлюз приложений Claude, выходят при запуске без этого параметра, с той же исключением claude auth |
| Пользователь аутентифицируется с другой организацией | Параметры не доставляются для учетных записей вне управляемой организации |
| Пользователь настраивает поставщика моделей третьей стороны | Параметры, управляемые сервером, обходятся. Это включает установку CLAUDE_CODE_USE_BEDROCK, CLAUDE_CODE_USE_MANTLE, CLAUDE_CODE_USE_VERTEX, CLAUDE_CODE_USE_FOUNDRY, CLAUDE_CODE_USE_ANTHROPIC_AWS или нестандартного ANTHROPIC_BASE_URL |
| Сетевой трафик перехватывается или перенаправляется | Отключенная проверка TLS или перехваченный трафик могут изменить параметры, которые получает клиент |
Для логирования изменений локальных файлов параметров, включая managed-settings.json, используйте ConfigChange hooks. Claude Code не запускает их при поступлении параметров, управляемых сервером, или при их обновлении, или при изменении профиля MDM или политики реестра, и hook не может заблокировать изменение policy_settings.
Для ограничения организаций, к которым ваши пользователи могут получить доступ с учетными данными, которые предоставляет клиент, см. Enforce network-level access control with Tenant Restrictions в Центре справки Claude. Для более сильных гарантий применения используйте параметры, управляемые конечной точкой на устройствах, зарегистрированных в решении MDM.
См. также
Связанные страницы для управления конфигурацией Claude Code:
- Все параметры: каждый ключ параметров
- Управляемые параметры Endpoint: управляемые параметры, развертываемые на устройства IT
- Аутентификация: настройка доступа пользователей к Claude Code
- Безопасность: гарантии безопасности и лучшие практики