API Key — строковый секрет или идентификатор, который клиент предъявляет API. В зависимости от реализации ключ может только определять приложение либо одновременно предоставлять ему права, поэтому его нельзя автоматически считать полноценной аутентификацией пользователя.
Ключи выдают конкретному клиенту и среде, ограничивают по правам, сроку, сети или квоте, хранят в менеджере секретов и регулярно ротируют. Значение не помещают в исходный код, публичный репозиторий, URL и доступные пользователю журналы.
Интеграция получает отдельный ключ только для чтения одного API. Секрет подставляется при запуске из хранилища, журнал показывает идентификатор ключа без значения, а автоматическая ротация обновляет обе стороны без простоя.
Не следует: URL попадает в историю, журналы, аналитику и заголовок Referer; безопаснее авторизационный заголовок по TLS.
Нужно ли хешировать API Key в базе?Если проверка допускает, хранение стойкого хеша снижает ущерб от утечки базы; архитектуру выбирают с учётом поиска ключа и ротации.
Как найти утёкший API Key?Используют secret scanning, контроль репозиториев и журналов, но обнаруженный секрет сразу отзывают, а не считают безопасным после удаления из файла.