Справка и руководстваБезопасность аккаунта › Безопасное использование API токенов

Безопасное использование API токенов

3 мин чтения · Безопасность аккаунта

API-токен - это ключ, дающий полный программный доступ к Вашему аккаунту через REST API. Если он утечёт, злоумышленник сможет делать то же самое, что и Вы. Следующие рекомендации снижают риск, что это произойдёт.

Обращайтесь с токеном как с паролем

  • Никогда не помещайте токен в публичные репозитории (GitHub, GitLab).
  • Не отправляйте токен через Discord, Slack или e-mail при отладке проблем.
  • Храните токен в переменной окружения или в менеджере секретов (HashiCorp Vault, AWS SSM Parameter Store, Doppler и подобные).
  • В CI/CD-пайплайне (автоматизированной build/deploy-системе) используйте функцию "masked secret", чтобы токен не появлялся в логах в читаемом виде.
Список API-токенов со временем последнего использования
У каждого токена видно время последнего использования - подсказка при ротации и обнаружении неожиданной активности.

Ротация токенов

В каждой из следующих ситуаций сразу отзывайте старый токен и генерируйте новый:

  • Сотрудник, имевший доступ, уходит.
  • В дашборде Вы видите метку Последнее использование у каждого токена - если видите неожидаемую активность, немедленно отзовите токен.
  • Минимум раз в 90 дней как рутинная гигиена, даже если ничего не случилось.

Один токен = одна цель

Не помещайте один и тот же токен в пять разных скриптов. Создайте отдельный токен для каждой интеграции:

  • epulzio_xxxxxxxxxxxxxxxx - только для деплоя через GitHub Actions
  • epulzio_xxxxxxxxxxxxxxxx - только для Terraform или Pulumi (инструменты управления инфраструктурой)
  • epulzio_xxxxxxxxxxxxxxxx - для Grafana-дашборда, скачивающего метрики

Если один токен утечёт, Вы отзовёте только его, а остальные интеграции работают дальше.

Куда безопасно сохранить токен

СредаРекомендуемый способ
Локальное CLIФайл ~/.config/epulzio/token с правами chmod 600 (читает только Ваш пользователь)
DockerDocker secret или --env-file (не намертво через ENV в Dockerfile)
KubernetesОбъект Secret, смонтированный как переменная окружения или файл
GitHub ActionsSettings -> Secrets -> EPULZIO_TOKEN
Облачные функции (AWS Lambda, GCP Functions)AWS SSM Parameter Store или Google Secret Manager

Токен vs. подписной секрет для вебхуков

Для верификации входящих вебхуков (уведомлений, которые мы Вам отправляем) используйте отдельный подписной секрет (HMAC signing secret), а не API-токен. Это две разные вещи. Детали см. в статье Генерация API-токена.

Было ли это руководство полезным?