Методы аутентификации
Настройка Claude Code требует доступа к моделям Anthropic. Для команд вы можете настроить доступ к Claude Code одним из четырех способов:
- Claude API через Claude Console
- Amazon Bedrock
- Microsoft Foundry
- Google Vertex AI
Аутентификация Claude API
Чтобы настроить доступ к Claude Code для вашей команды через Claude API:
- Используйте существующую учетную запись Claude Console или создайте новую учетную запись Claude Console
- Вы можете добавлять пользователей одним из следующих способов:
- Массовое приглашение пользователей из Console (Console -> Settings -> Members -> Invite)
- Настройка SSO
- При приглашении пользователей им нужна одна из следующих ролей:
- Роль “Claude Code” означает, что пользователи могут создавать только ключи API Claude Code
- Роль “Developer” означает, что пользователи могут создавать любой вид ключа API
- Каждый приглашенный пользователь должен выполнить следующие шаги:
Аутентификация облачного провайдера
Чтобы настроить доступ к Claude Code для вашей команды через Bedrock, Vertex или Azure:
- Следуйте документации Bedrock, документации Vertex или документации Microsoft Foundry
- Распределите переменные окружения и инструкции по созданию облачных учетных данных среди ваших пользователей. Узнайте больше о том, как управлять конфигурацией здесь.
- Пользователи могут установить Claude Code
Управление доступом и разрешения
Мы поддерживаем детальные разрешения, чтобы вы могли точно указать, что агент может делать (например, запускать тесты, запускать линтер) и что он не может делать (например, обновлять облачную инфраструктуру). Эти параметры разрешений можно добавить в систему контроля версий и распределить среди всех разработчиков в вашей организации, а также настроить отдельными разработчиками.
Система разрешений
Claude Code использует многоуровневую систему разрешений для баланса между мощностью и безопасностью:
| Тип инструмента | Пример | Требуется одобрение | Поведение “Да, не спрашивать снова” |
|---|
| Только чтение | Чтение файлов, LS, Grep | Нет | Н/П |
| Команды Bash | Выполнение оболочки | Да | Постоянно для каждого каталога проекта и команды |
| Изменение файлов | Редактирование/запись файлов | Да | До конца сеанса |
Настройка разрешений
Вы можете просматривать и управлять разрешениями инструментов Claude Code с помощью /permissions. Этот интерфейс отображает все правила разрешений и файл settings.json, из которого они берутся.
- Правила Allow позволят Claude Code использовать указанный инструмент без дополнительного ручного одобрения.
- Правила Ask будут запрашивать подтверждение пользователя всякий раз, когда Claude Code пытается использовать указанный инструмент. Правила Ask имеют приоритет над правилами Allow.
- Правила Deny предотвратят использование Claude Code указанного инструмента. Правила Deny имеют приоритет над правилами Allow и Ask.
- Дополнительные каталоги расширяют доступ Claude к файлам в каталогах за пределами исходного рабочего каталога.
- Режим по умолчанию контролирует поведение разрешений Claude при возникновении новых запросов.
Правила разрешений используют формат: Tool или Tool(optional-specifier)
Правило, которое является просто названием инструмента, соответствует любому использованию этого инструмента. Например, добавление Bash в список правил Allow позволит Claude Code использовать инструмент Bash без требования одобрения пользователя.
Режимы разрешений
Claude Code поддерживает несколько режимов разрешений, которые можно установить как defaultMode в файлах параметров:
| Режим | Описание |
|---|
default | Стандартное поведение - запрашивает разрешение при первом использовании каждого инструмента |
acceptEdits | Автоматически принимает разрешения на редактирование файлов для сеанса |
plan | Режим плана - Claude может анализировать, но не может изменять файлы или выполнять команды |
dontAsk | Автоматически отклоняет инструменты, если они не предварительно одобрены через /permissions или правила permissions.allow |
bypassPermissions | Пропускает все запросы разрешений (требует безопасной среды - см. предупреждение ниже) |
Рабочие каталоги
По умолчанию Claude имеет доступ к файлам в каталоге, где он был запущен. Вы можете расширить этот доступ:
- При запуске: используйте аргумент CLI
--add-dir <path>
- Во время сеанса: используйте команду слэша
/add-dir
- Постоянная конфигурация: добавьте в
additionalDirectories в файлах параметров
Файлы в дополнительных каталогах следуют тем же правилам разрешений, что и исходный рабочий каталог - они становятся читаемыми без запросов, и разрешения на редактирование файлов следуют текущему режиму разрешений.
Правила разрешений для конкретных инструментов
Некоторые инструменты поддерживают более детальные элементы управления разрешениями:
Bash
Правила разрешений Bash поддерживают как сопоставление префиксов с :*, так и подстановочное сопоставление с *:
Bash(npm run build) Соответствует точной команде Bash npm run build
Bash(npm run test:*) Соответствует командам Bash, начинающимся с npm run test
Bash(npm *) Соответствует любой команде, начинающейся с npm (например, npm install, npm run build)
Bash(* install) Соответствует любой команде, заканчивающейся на install (например, npm install, yarn install)
Bash(git * main) Соответствует командам вроде git checkout main, git merge main
Claude Code осведомлен об операторах оболочки (таких как &&), поэтому правило сопоставления префиксов вроде Bash(safe-cmd:*) не даст ему разрешение на выполнение команды safe-cmd && other-cmd
Важные ограничения шаблонов разрешений Bash:
- Подстановочный знак
:* работает только в конце шаблона для сопоставления префиксов
- Подстановочный знак
* может появляться в любой позиции и соответствует любой последовательности символов
- Шаблоны вроде
Bash(curl http://github.com/:*) можно обойти многими способами:
- Опции перед URL:
curl -X GET http://github.com/... не будут соответствовать
- Другой протокол:
curl https://github.com/... не будет соответствовать
- Перенаправления:
curl -L http://bit.ly/xyz (перенаправляет на github)
- Переменные:
URL=http://github.com && curl $URL не будут соответствовать
- Дополнительные пробелы:
curl http://github.com не будут соответствовать
Для более надежной фильтрации URL рассмотрите:
- Использование инструмента WebFetch с разрешением
WebFetch(domain:github.com)
- Инструктирование Claude Code о ваших разрешенных шаблонах curl через CLAUDE.md
- Использование хуков для пользовательской проверки разрешений
Read & Edit
Правила Edit применяются ко всем встроенным инструментам, которые редактируют файлы. Claude будет прилагать все усилия для применения правил Read ко всем встроенным инструментам, которые читают файлы, таким как Grep, Glob и LS.
Правила Read & Edit оба следуют спецификации gitignore с четырьмя различными типами шаблонов:
| Шаблон | Значение | Пример | Соответствует |
|---|
//path | Абсолютный путь от корня файловой системы | Read(//Users/alice/secrets/**) | /Users/alice/secrets/** |
~/path | Путь из домашнего каталога | Read(~/Documents/*.pdf) | /Users/alice/Documents/*.pdf |
/path | Путь относительно файла параметров | Edit(/src/**/*.ts) | <settings file path>/src/**/*.ts |
path или ./path | Путь относительно текущего каталога | Read(*.env) | <cwd>/*.env |
Шаблон вроде /Users/alice/file НЕ является абсолютным путем - он относительно вашего файла параметров! Используйте //Users/alice/file для абсолютных путей.
Edit(/docs/**) - Редактирование в <project>/docs/ (НЕ /docs/!)
Read(~/.zshrc) - Чтение .zshrc вашего домашнего каталога
Edit(//tmp/scratch.txt) - Редактирование абсолютного пути /tmp/scratch.txt
Read(src/**) - Чтение из <current-directory>/src/
WebFetch
WebFetch(domain:example.com) Соответствует запросам выборки на example.com
MCP
mcp__puppeteer Соответствует любому инструменту, предоставленному сервером puppeteer (имя настроено в Claude Code)
mcp__puppeteer__* Синтаксис подстановочного знака, который также соответствует всем инструментам с сервера puppeteer
mcp__puppeteer__puppeteer_navigate Соответствует инструменту puppeteer_navigate, предоставленному сервером puppeteer
Task (Subagents)
Используйте правила Task(AgentName) для управления тем, какие подагенты может использовать Claude:
Task(Explore) Соответствует подагенту Explore
Task(Plan) Соответствует подагенту Plan
Task(Verify) Соответствует подагенту Verify
Добавьте эти правила в массив deny в ваших параметрах или используйте флаг CLI --disallowedTools для отключения конкретных агентов. Например, чтобы отключить агента Explore:
{
"permissions": {
"deny": ["Task(Explore)"]
}
}
Дополнительное управление разрешениями с помощью хуков
Хуки Claude Code предоставляют способ регистрации пользовательских команд оболочки для выполнения оценки разрешений во время выполнения. Когда Claude Code выполняет вызов инструмента, хуки PreToolUse запускаются перед системой разрешений, и выходные данные хука могут определить, одобрить или отклонить вызов инструмента вместо системы разрешений.
Управляемые параметры
Для организаций, которым требуется централизованное управление конфигурацией Claude Code, администраторы могут развертывать файлы managed-settings.json в системные каталоги. Эти файлы политики следуют тому же формату, что и обычные файлы параметров, и не могут быть переопределены параметрами пользователя или проекта.
Приоритет параметров
Когда существуют несколько источников параметров, они применяются в следующем порядке (от наивысшего к наименьшему приоритету):
- Управляемые параметры (
managed-settings.json)
- Аргументы командной строки
- Локальные параметры проекта (
.claude/settings.local.json)
- Общие параметры проекта (
.claude/settings.json)
- Параметры пользователя (
~/.claude/settings.json)
Эта иерархия гарантирует, что организационные политики всегда применяются, при этом обеспечивая гибкость на уровне проекта и пользователя, где это уместно.
Управление учетными данными
Claude Code безопасно управляет вашими учетными данными аутентификации:
- Место хранения: На macOS ключи API, токены OAuth и другие учетные данные хранятся в зашифрованной цепочке ключей macOS.
- Поддерживаемые типы аутентификации: учетные данные Claude.ai, учетные данные Claude API, Azure Auth, Bedrock Auth и Vertex Auth.
- Пользовательские скрипты учетных данных: параметр
apiKeyHelper можно настроить для запуска скрипта оболочки, который возвращает ключ API.
- Интервалы обновления: по умолчанию
apiKeyHelper вызывается через 5 минут или при ответе HTTP 401. Установите переменную окружения CLAUDE_CODE_API_KEY_HELPER_TTL_MS для пользовательских интервалов обновления.