Как хранить ключ API
Где держать ключ, как ограничить его ущерб и что сделать в первые минуты, если он попал в чужие руки.
Держите ключ вне кода
Ключ равен паролю. Любой, у кого он есть, тратит ваш баланс от вашего имени. Передавайте его программе через переменную окружения или хранилище секретов. В коде, в конфигурации под версионным контролем и в журналах ключу не место.
Если вы используете файл .env, внесите его в .gitignore до первого коммита. Ключ, который один раз попал в репозиторий, остаётся в истории, даже если файл потом удалён.
# .gitignore
.env
# .env
EPICAI_API_KEY=sk-epic-ВАШ_КЛЮЧ
Не отправляйте ключ в браузер и приложение
Ключ в коде страницы или мобильного приложения видит каждый, кто откроет инструменты разработчика или распакует приложение. Браузерные запросы к API технически проходят, потому что epicai отвечает на проверку CORS для любого источника, но защиты это не даёт. Делайте запросы к epicai со своего сервера и отдавайте клиенту только результат.
Ограничьте ущерб заранее
Настройки ключа (описаны в статье про ключи) работают как предохранители. Заведите отдельный ключ на каждый проект и среду, чтобы отозвать один, не остановив остальные. Задайте суточный и месячный потолок расхода на сумму, которую готовы потерять. Если сервер всегда ходит с одного адреса, впишите его в список разрешённых: ключ перестанет работать с любого другого. Оставьте в списке моделей только нужные. Для временной задачи поставьте срок действия, и ключ погаснет сам.
Если ключ утёк
- Отзовите ключ в кабинете разработчика. Он перестанет работать со следующего запроса.
- Создайте новый ключ и замените его во всех своих сервисах.
- Откройте статистику и посмотрите расход за последние дни. Запрос
GET /v1/usage?group_by=keyпоказывает расход по каждому ключу, а история операций на сайте — списания с названием «API». - Напишите в поддержку, если в расходе есть то, чего вы не делали. Адрес и способы связи собраны в статье Поддержка и сообщение об ошибке. Укажите номер запроса из заголовка
x-request-id, если он у вас есть.
ВажноВсё, что потрачено по ключу до отзыва, уже списано с вашего баланса. Поэтому отзывайте ключ сразу, а разбирайтесь в причинах потом.
Не нашли ответ?
Посмотрите частые вопросы или напишите в поддержку.