Безопасное использование 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-токена.