Ключи API обеспечивают доступ к Claude API, но они могут представлять значительные риски безопасности, если не обращаться с ними надлежащим образом. Ваш ключ API — это цифровой ключ к вашей учетной записи. Подобно номеру кредитной карты, если кто-то получит и использует ваш ключ API, они будут нести расходы от вашего имени. В этой статье описаны лучшие практики управления ключами API, чтобы они оставались защищенными и предотвращали несанкционированный доступ и платежи на вашу учетную запись Claude Console.
Распространенные риски и уязвимости
Одной из наиболее частых причин утечки ключей API является случайное раскрытие в общедоступных репозиториях кода или сторонних инструментах. Разработчики часто случайно коммитят ключи API в открытом виде в общедоступные репозитории GitHub или вводят их в сторонние инструменты, что может привести к несанкционированному доступу и потенциальному злоупотреблению связанными учетными записями.
Лучшие практики безопасности ключей API
1. Никогда не делитесь своим ключом API
Держите его в конфиденциальности: Как вы не делились бы своим личным паролем, не делитесь своим ключом API. Если кому-то нужен доступ к Claude API, они должны получить свой собственный ключ.
Не делитесь ключом на общедоступных форумах: Не включайте ваш ключ API в общедоступные обсуждения, электронные письма или билеты поддержки, даже между вами и Anthropic.
Будьте осторожны со сторонними инструментами: Учитывайте, что когда вы загружаете ваш ключ API в сторонние инструменты или платформы (такие как веб-IDE, облачный провайдер или платформа CI/CD), вы предоставляете разработчику этого инструмента доступ к вашей учетной записи Claude Console. Если вы не доверяете их репутации, не доверяйте им свой ключ API.
При использовании стороннего провайдера всегда добавляйте ваш ключ API как зашифрованный секрет. Никогда не включайте его непосредственно в ваш код или файлы конфигурации.
2. Внимательно отслеживайте использование и логи
Мы рекомендуем регулярно проверять логи и паттерны использования для ваших ключей API в Console.
Для организаций API с пользовательским лимитом скорости: Установите лимиты использования и расходов в настройках вашей учетной записи.
Эти лимиты служат защитой от неожиданного использования из-за утечки ключей или ошибочных скриптов.
Для организаций API со стандартным лимитом скорости: Включите и настройте параметры автоматической перезагрузки в вашей учетной записи.
Эта функция позволяет вам установить порог, при котором ваша учетная запись автоматически будет списывать средства с карты на файле для пополнения кредитов использования.
Тщательно рассмотрите лимиты автоматической перезагрузки. Хотя они обеспечивают непрерывное обслуживание, они также служат защитой от неожиданного высокого использования, которое может быть результатом утечки ключей или ошибок в вашем коде.
3. Безопасное обращение с ключами API с использованием переменных окружения и секретов
Лучшей практикой для безопасного обращения с ключами API является использование переменных окружения для безопасного внедрения и совместного использования переменных окружения. Когда вы развертываете свое приложение в облачной среде, вы можете использовать их решение для управления секретами, чтобы безопасно передать ключ API вашему приложению через переменную окружения без случайного раскрытия вашего ключа API.
Если вы храните секреты локально с использованием dotenv, вы должны добавить ваши файлы .env в файл игнорирования системы контроля версий (например, .gitignore для git), чтобы предотвратить случайное распространение конфиденциальной информации публично. В облачных средах предпочитайте зашифрованное хранилище секретов вместо файлов dotenv.
Пример на Python:
1. Создайте файл .env в директории вашего проекта.
2. Добавьте ваш ключ API в файл .env:
ANTHROPIC_API_KEY=your-api-key-here
3. Установите пакет python-dotenv:
pip install python-dotenv
4. Загрузите ключ API в ваш скрипт Python:
from dotenv import load_dotenv
import os
load_dotenv()
my_api_key = os.getenv("ANTHROPIC_API_KEY")
5. Если вы развертываете свое приложение в облачной среде хостинга, обратитесь к документации вашего облачного провайдера о том, как добавить ваш ключ Claude API и поделиться им с вашим приложением (AWS, GCP, Azure, Vercel, Heroku). Некоторые провайдеры предлагают несколько способов безопасного внедрения переменных окружения в ваше приложение.
4. Регулярно ротируйте ключи API
Регулярно ротируйте ваши ключи API по согласованному графику (например, каждые 90 дней), создавая новые и деактивируя старые. Эта процедура помогает минимизировать потенциальные риски, если ключ когда-либо будет скомпрометирован.
5. Используйте отдельные ключи для разных целей
По возможности используйте разные ключи API для сред разработки, тестирования и производства. Таким образом, вы можете соотнести ваше использование с разными внутренними случаями использования. Если ваш ключ API скомпрометирован, это позволяет вам быстро отключить только этот случай использования и ограничить любой потенциальный ущерб.
6. Сканируйте репозитории на предмет секретов
Регулярно проверяйте ваши репозитории системы контроля версий на предмет случайно закоммиченных секретов.
Используйте инструменты SAST, такие как Gitleaks (https://github.com/gitleaks/gitleaks), для сканирования ваших репозиториев на предмет случайно закоммиченных секретов.
Интегрируйте сканирование секретов в ваш конвейер CI/CD, чтобы перехватить любые секреты перед их отправкой в основную ветку.
Путем включения регулярного сканирования секретов в ваш рабочий процесс разработки, вы можете перехватить и предотвратить случайное раскрытие ключей API и другой конфиденциальной информации в ваших репозиториях кода.
7. Используйте безопасную систему управления ключами (KMS)
По мере масштабирования организаций и увеличения количества ключей API и других секретов, безопасное управление этими конфиденциальными учетными данными становится более сложным. Именно здесь вступают в игру системы управления ключами (KMS). KMS предоставляет централизованное решение для хранения, доступа и управления секретными ключами, включая ключи API.
Преимущества использования KMS
Централизованная безопасность: Храните все ваши секреты в одном защищенном, зашифрованном месте.
Контроль доступа: Реализуйте детальный контроль доступа, чтобы определить, кто может просматривать или использовать определенные ключи.
Журналы аудита: Отслеживайте весь доступ и изменения ваших секретов в целях соответствия и безопасности.
Ротация ключей: Легко ротируйте ключи на регулярной основе для повышения безопасности.
Интеграция: Многие решения KMS интегрируются с популярными облачными платформами и инструментами разработки.
Партнерство Anthropic с GitHub для защиты ключей API
Anthropic заключила прямое партнерство с GitHub для предоставления дополнительного уровня защиты нашим пользователям через программу сканирования секретов партнеров GitHub. Это партнерство предлагает упреждающие меры безопасности для предотвращения неправомерного использования случайно раскрытых ключей API:
GitHub активно сканирует общедоступные репозитории на предмет раскрытых ключей Claude API.
Если ключ Claude API обнаружен в общедоступном репозитории GitHub, GitHub немедленно уведомляет Anthropic.
Для предотвращения потенциального злоупотребления Anthropic автоматически деактивирует раскрытый ключ API.
Затронутый пользователь получает подробное уведомление по электронной почте от Anthropic об инциденте.
Что мне делать, если я подозреваю, что мой ключ API скомпрометирован?
Если вы подозреваете, что ваш ключ API может быть скомпрометирован, мы рекомендуем немедленно отозвать ключ. Вы можете сделать это, войдя в вашу учетную запись Claude Console, перейдя на страницу ключей API из вашего профиля, нажав на меню-бургер (т.е. три горизонтальные точки) рядом с интересующим вас ключом и выбрав 'Delete API Key' (Удалить ключ API).
Обратитесь к этой статье для получения дополнительной информации: Что мне делать, если я подозреваю, что мой ключ API скомпрометирован?
Безопасность ключей API — это постоянный процесс, требующий бдительности и регулярного пересмотра ваших мер безопасности. Следуя этим лучшим практикам, вы можете значительно снизить риск утечки ключей API и несанкционированного доступа.
