Безпечне використання API токенів
API-токен - це ключ, який дає повний програмний доступ до Вашого акаунта через REST API. Якщо він витече, зловмисник зможе робити те саме, що й Ви. Наступні рекомендації знижують ризик, що це станеться.
Поводьтеся з токеном як з паролем
- Ніколи не розміщуйте токен у публічних репозиторіях (GitHub, GitLab).
- Не надсилайте токен через Discord, Slack чи e-mail під час налагодження проблем.
- Зберігайте токен у змінній оточення або в менеджері секретів (HashiCorp Vault, AWS SSM Parameter Store, Doppler та подібні).
- У CI/CD-пайплайні (автоматизованій build/deploy-системі) використовуйте функцію "masked secret", щоб токен не з'являвся в логах у читабельному вигляді.
Ротація токенів
У кожній з наступних ситуацій одразу відкликайте старий токен і генеруйте новий:
- Співробітник, який мав доступ, іде.
- У дашборді Ви бачите мітку Останнє використання біля кожного токена - якщо бачите неочікувану активність, негайно відкличте токен.
- Щонайменше раз на 90 днів як рутинна гігієна, навіть якщо нічого не сталося.
Один токен = одна мета
Не розміщуйте один і той самий токен у п'яти різних скриптах. Створіть окремий токен для кожної інтеграції:
epulzio_xxxxxxxxxxxxxxxx- лише для деплою через GitHub Actionsepulzio_xxxxxxxxxxxxxxxx- лише для Terraform або Pulumi (інструменти керування інфраструктурою)epulzio_xxxxxxxxxxxxxxxx- для Grafana-дашборду, що завантажує метрики
Якщо один токен витече, Ви відкличете лише його, а решта інтеграцій працює далі.
Куди безпечно зберегти токен
| Середовище | Рекомендований спосіб |
|---|---|
| Локальне CLI | Файл ~/.config/epulzio/token з правами chmod 600 (читає лише Ваш користувач) |
| Docker | Docker secret або --env-file (не намертво через ENV у Dockerfile) |
| Kubernetes | Об'єкт Secret, змонтований як змінна оточення або файл |
| GitHub Actions | Settings -> Secrets -> EPULZIO_TOKEN |
| Хмарні функції (AWS Lambda, GCP Functions) | AWS SSM Parameter Store або Google Secret Manager |
Токен vs. підписний секрет для вебхуків
Для верифікації вхідних вебхуків (сповіщень, які ми Вам надсилаємо) використовуйте окремий підписний секрет (HMAC signing secret), а не API-токен. Це дві різні речі. Деталі див. у статті Генерація API-токена.