API-ключ часто используют для OpenAI API, Telegram Bot API, Google API, CRM, аналитики, платежей и внутренних сервисов. В AI-агентах ключи особенно важны, потому что через них агент вызывает tools: читает документы, получает данные из CRM, отправляет сообщения или запускает действия.
Ключ нельзя вставлять в prompt, публичный frontend, статью, скриншот, GitHub-репозиторий или ответ модели. Его хранят на сервере, в переменных окружения, credentials-хранилище n8n/Make/Flowise или secret manager. Модель должна видеть только описание tool, но не сам секрет.
API-ключ отличается от OAuth тем, что обычно выдается приложению или проекту, а OAuth-токен чаще связан с конкретным пользователем и его разрешениями. Но оба варианта являются чувствительными credentials и требуют аккуратного хранения.
Хорошая практика - выдавать отдельные ключи для dev/staging/production, ограничивать права и домены/IP, задавать лимиты, следить за расходом, регулярно ротировать ключи и быстро отзывать их при подозрении на утечку.
Примеры
- OpenAI API key используется сервером, чтобы отправлять запросы к моделям и считать стоимость по проекту.
- Telegram Bot API token позволяет управлять ботом: получать сообщения, отправлять ответы и настраивать webhook.
- Google API key может использоваться для отдельных Google API, но для доступа к данным пользователя часто нужен OAuth.
- n8n хранит API-ключ в credentials, а workflow использует подключение без вывода секрета в текст узла.
- Если ключ попал в GitHub, его нужно немедленно отозвать и создать новый.
- Для агента поддержки лучше создать read-only ключ к CRM, а не давать полный административный доступ.
Где используется
- подключение AI-агента к OpenAI API или другому LLM API
- доступ к Telegram Bot API, Slack API, CRM и Google API
- настройка credentials в n8n, Make, Zapier и Flowise
- разделение ключей для разработки, теста и production
- ограничение доступа read-only для безопасных tools
- контроль стоимости и rate limits по проектам
- ротация ключей после утечки или смены сотрудника
- отключение конкретной интеграции без остановки всего агента
- логирование действий, выполненных через API
- защита API-интеграций от prompt injection и лишних действий
Связанные термины
Частые вопросы
API-ключ и API credentials - это одно и то же?
API-ключ - один из видов API credentials. Credentials шире: туда входят ключи, access token, refresh token, OAuth client secret, service account и другие секреты доступа.
Можно ли хранить API-ключ в коде?
Для production - нет. Ключ лучше хранить в переменных окружения, secret manager или credentials-хранилище платформы. В коде обычно оставляют только имя переменной, например `OPENAI_API_KEY`.
Можно ли передавать API-ключ в prompt модели?
Нет. Модель не должна видеть ключи. Агент должен вызывать tool через backend или платформу, где секрет подставляется технически и не попадает в prompt, ответ, logs или trace.
Что делать, если API-ключ утек?
Сразу отозвать ключ, создать новый, проверить usage и audit log, найти место утечки, удалить секрет из публичных мест и включить маскирование secrets в logs и traces.
Чем API-ключ отличается от OAuth-токена?
API-ключ чаще привязан к приложению или проекту. OAuth-токен обычно связан с пользователем, consent и scopes. Для доступа к личным данным пользователя OAuth часто безопаснее и гибче.
Какие ограничения стоит ставить на API-ключ?
Минимальные права, rate limit, budget limit, IP или domain restrictions, отдельные ключи по средам, scopes там, где они доступны, и регулярная ротация для критичных интеграций.