Довідка та інструкціїБезпека акаунта › Безпечне використання 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-токена.

Чи був цей посібник корисним?