Как хранить ключ API

Где держать ключ, как ограничить его ущерб и что сделать в первые минуты, если он попал в чужие руки.

Обновлено: 2 мин чтения

Держите ключ вне кода

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

Если вы используете файл .env, внесите его в .gitignore до первого коммита. Ключ, который один раз попал в репозиторий, остаётся в истории, даже если файл потом удалён.

# .gitignore
.env

# .env
EPICAI_API_KEY=sk-epic-ВАШ_КЛЮЧ

Не отправляйте ключ в браузер и приложение

Ключ в коде страницы или мобильного приложения видит каждый, кто откроет инструменты разработчика или распакует приложение. Браузерные запросы к API технически проходят, потому что epicai отвечает на проверку CORS для любого источника, но защиты это не даёт. Делайте запросы к epicai со своего сервера и отдавайте клиенту только результат.

Ограничьте ущерб заранее

Настройки ключа (описаны в статье про ключи) работают как предохранители. Заведите отдельный ключ на каждый проект и среду, чтобы отозвать один, не остановив остальные. Задайте суточный и месячный потолок расхода на сумму, которую готовы потерять. Если сервер всегда ходит с одного адреса, впишите его в список разрешённых: ключ перестанет работать с любого другого. Оставьте в списке моделей только нужные. Для временной задачи поставьте срок действия, и ключ погаснет сам.

Если ключ утёк

  1. Отзовите ключ в кабинете разработчика. Он перестанет работать со следующего запроса.
  2. Создайте новый ключ и замените его во всех своих сервисах.
  3. Откройте статистику и посмотрите расход за последние дни. Запрос GET /v1/usage?group_by=key показывает расход по каждому ключу, а история операций на сайте — списания с названием «API».
  4. Напишите в поддержку, если в расходе есть то, чего вы не делали. Адрес и способы связи собраны в статье Поддержка и сообщение об ошибке. Укажите номер запроса из заголовка x-request-id, если он у вас есть.
Важно

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

Не нашли ответ?

Посмотрите частые вопросы или напишите в поддержку.

Войти или создать аккаунт

20 000 токенов в подарок новым пользователям. Без карты и без VPN.

или через сервис

Продолжая, вы получаете сервисные письма.

Для защиты от роботов используется Yandex SmartCaptcha. Условия обработки данных.