Методы аутентификации

Настройка Claude Code требует доступа к моделям Anthropic. Для команд вы можете настроить доступ к Claude Code одним из трех способов:

  • Anthropic API через Anthropic Console
  • Amazon Bedrock
  • Google Vertex AI

Аутентификация Anthropic API

Чтобы настроить доступ к Claude Code для вашей команды через Anthropic API:

  1. Используйте существующую учетную запись Anthropic Console или создайте новую учетную запись Anthropic Console
  2. Вы можете добавить пользователей любым из следующих способов:
    • Массовое приглашение пользователей из Console (Console -> Settings -> Members -> Invite)
    • Настройка SSO
  3. При приглашении пользователей им нужна одна из следующих ролей:
    • Роль “Claude Code” означает, что пользователи могут создавать только API-ключи Claude Code
    • Роль “Developer” означает, что пользователи могут создавать любые типы API-ключей
  4. Каждый приглашенный пользователь должен выполнить следующие шаги:

Аутентификация облачного провайдера

Чтобы настроить доступ к Claude Code для вашей команды через Bedrock или Vertex:

  1. Следуйте документации Bedrock или документации Vertex
  2. Распространите переменные окружения и инструкции по генерации облачных учетных данных среди ваших пользователей. Узнайте больше о том, как управлять конфигурацией здесь.
  3. Пользователи могут установить Claude Code

Контроль доступа и разрешения

Мы поддерживаем детализированные разрешения, чтобы вы могли точно указать, что агенту разрешено делать (например, запускать тесты, запускать линтер) и что ему не разрешено делать (например, обновлять облачную инфраструктуру). Эти настройки разрешений могут быть зафиксированы в системе контроля версий и распространены среди всех разработчиков в вашей организации, а также настроены отдельными разработчиками.

Система разрешений

Claude Code использует многоуровневую систему разрешений для баланса между мощностью и безопасностью:

Тип инструментаПримерТребуется одобрениеПоведение “Да, больше не спрашивать”
Только чтениеЧтение файлов, LS, GrepНетН/Д
Bash-командыВыполнение shellДаПостоянно для каталога проекта и команды
Изменение файловРедактирование/запись файловДаДо конца сессии

Настройка разрешений

Вы можете просматривать и управлять разрешениями инструментов 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 может анализировать, но не изменять файлы или выполнять команды
bypassPermissionsПропускает все запросы разрешений (требует безопасной среды - см. предупреждение ниже)

Рабочие каталоги

По умолчанию Claude имеет доступ к файлам в каталоге, где он был запущен. Вы можете расширить этот доступ:

  • При запуске: Используйте аргумент CLI --add-dir <path>
  • Во время сессии: Используйте слэш-команду /add-dir
  • Постоянная конфигурация: Добавьте в additionalDirectories в файлах настроек

Файлы в дополнительных каталогах следуют тем же правилам разрешений, что и исходный рабочий каталог - они становятся читаемыми без запросов, а разрешения на редактирование файлов следуют текущему режиму разрешений.

Правила разрешений для конкретных инструментов

Некоторые инструменты поддерживают более детализированные элементы управления разрешениями:

Bash

  • Bash(npm run build) Соответствует точной Bash-команде npm run build
  • Bash(npm run test:*) Соответствует Bash-командам, начинающимся с npm run test
  • Bash(curl http://site.com/:*) Соответствует curl-командам, которые начинаются точно с curl http://site.com/

Claude Code знает о shell-операторах (таких как &&), поэтому правило соответствия префикса типа Bash(safe-cmd:*) не даст ему разрешение на выполнение команды safe-cmd && other-cmd

Важные ограничения шаблонов разрешений Bash:

  1. Этот инструмент использует соответствие префиксов, а не regex или glob-шаблоны
  2. Подстановочный знак :* работает только в конце шаблона для соответствия любому продолжению
  3. Шаблоны типа 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)<путь к файлу настроек>/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) Соответствует запросам fetch к example.com

MCP

  • mcp__puppeteer Соответствует любому инструменту, предоставляемому сервером puppeteer (имя настроено в Claude Code)
  • mcp__puppeteer__puppeteer_navigate Соответствует инструменту puppeteer_navigate, предоставляемому сервером puppeteer

В отличие от других типов разрешений, разрешения MCP НЕ поддерживают подстановочные знаки (*).

Чтобы одобрить все инструменты от MCP-сервера:

  • ✅ Используйте: mcp__github (одобряет ВСЕ инструменты GitHub)
  • ❌ Не используйте: mcp__github__* (подстановочные знаки не поддерживаются)

Чтобы одобрить только конкретные инструменты, перечислите каждый:

  • ✅ Используйте: mcp__github__get_issue
  • ✅ Используйте: mcp__github__list_issues

Дополнительный контроль разрешений с помощью хуков

Хуки Claude Code предоставляют способ регистрации пользовательских shell-команд для выполнения оценки разрешений во время выполнения. Когда Claude Code делает вызов инструмента, хуки PreToolUse запускаются перед запуском системы разрешений, и вывод хука может определить, одобрить или отклонить вызов инструмента вместо системы разрешений.

Настройки управляемой политики предприятия

Для корпоративных развертываний Claude Code мы поддерживаем настройки управляемой политики предприятия, которые имеют приоритет над пользовательскими и проектными настройками. Это позволяет системным администраторам обеспечивать соблюдение политик безопасности, которые пользователи не могут переопределить.

Системные администраторы могут развертывать политики в:

  • macOS: /Library/Application Support/ClaudeCode/managed-settings.json
  • Linux и WSL: /etc/claude-code/managed-settings.json
  • Windows: C:\ProgramData\ClaudeCode\managed-settings.json

Эти файлы политик следуют тому же формату, что и обычные файлы настроек, но не могут быть переопределены пользовательскими или проектными настройками. Это обеспечивает последовательные политики безопасности в вашей организации.

Приоритет настроек

Когда существует несколько источников настроек, они применяются в следующем порядке (от наивысшего к наименьшему приоритету):

  1. Корпоративные политики
  2. Аргументы командной строки
  3. Локальные настройки проекта (.claude/settings.local.json)
  4. Общие настройки проекта (.claude/settings.json)
  5. Пользовательские настройки (~/.claude/settings.json)

Эта иерархия гарантирует, что организационные политики всегда соблюдаются, при этом все еще позволяя гибкость на уровне проекта и пользователя там, где это уместно.

Управление учетными данными

Claude Code безопасно управляет вашими учетными данными аутентификации:

  • Место хранения: В macOS API-ключи, OAuth-токены и другие учетные данные хранятся в зашифрованной macOS Keychain.
  • Поддерживаемые типы аутентификации: Учетные данные Claude.ai, учетные данные Anthropic API, Bedrock Auth и Vertex Auth.
  • Пользовательские скрипты учетных данных: Настройка apiKeyHelper может быть настроена для запуска shell-скрипта, который возвращает API-ключ.
  • Интервалы обновления: По умолчанию apiKeyHelper вызывается через 5 минут или при HTTP 401 ответе. Установите переменную окружения CLAUDE_CODE_API_KEY_HELPER_TTL_MS для пользовательских интервалов обновления.