Bezpečné používání API tokenů
API token je klíč, který dává plný programový přístup k vašemu účtu přes REST API. Pokud unikne, útočník může dělat to samé co vy. Následující doporučení snižují riziko, že se vám to stane.
S tokenem zacházejte jako s heslem
- Nikdy nevkládejte token do veřejných repozitářů (GitHub, GitLab).
- Neposílejte token přes Discord, Slack nebo e-mail při ladění problémů.
- Token uložte do proměnné prostředí nebo do správce tajemství (HashiCorp Vault, AWS SSM Parameter Store, Doppler a podobné).
- V CI/CD pipeline (automatizovaném build/deploy systému) používejte funkci "masked secret", aby se token neobjevil v logách v čitelné podobě.
Rotace tokenů
Při každé z následujících situací starý token okamžitě zrušte a vygenerujte nový:
- Zaměstnanec, který měl přístup, odchází.
- V dashboardu uvidíte časové razítko Naposledy použito u každého tokenu - pokud vidíte aktivitu, kterou jste nečekali, token okamžitě zrušte.
- Alespoň jednou za 90 dní jako rutinní hygiena, i kdyby se nic nestalo.
Jeden token = jeden účel
Nedávejte ten samý token do pěti různých skriptů. Vytvořte si samostatný token pro každou integraci:
epulzio_xxxxxxxxxxxxxxxx- pouze pro nasazování přes GitHub Actionsepulzio_xxxxxxxxxxxxxxxx- pouze pro Terraform nebo Pulumi (nástroje na správu infrastruktury)epulzio_xxxxxxxxxxxxxxxx- pro Grafana dashboard, který stahuje metriky
Pokud jeden token unikne, zrušíte jen ten konkrétní a ostatní integrace běží dál.
Kam token bezpečně uložit
| Prostředí | Doporučený způsob |
|---|---|
| Lokální CLI | Soubor ~/.config/epulzio/token s právy chmod 600 (čte pouze váš uživatel) |
| Docker | Docker secret nebo --env-file (ne natvrdo přes ENV v Dockerfile) |
| Kubernetes | Objekt Secret namontovaný jako proměnná prostředí nebo soubor |
| GitHub Actions | Settings -> Secrets -> EPULZIO_TOKEN |
| Cloud funkce (AWS Lambda, GCP Functions) | AWS SSM Parameter Store nebo Google Secret Manager |
Token vs. podpisové tajemství pro webhooky
Pro ověřování příchozích webhooků (oznámení, která vám posíláme) používejte samostatné podpisové tajemství (HMAC signing secret), ne API token. Jsou to dvě různé věci. Detaily najdete v článku Vygenerování API tokenu.