Uso sicuro dei token API
Il token API è una chiave che concede pieno accesso programmatico al vostro account tramite la REST API. Se trapela, un malintenzionato può fare tutto quello che potete fare voi. Le raccomandazioni seguenti riducono il rischio che ciò accada.
Trattate il token come una password
- Non inserite mai un token in repository pubblici (GitHub, GitLab).
- Non inviate un token via Discord, Slack o email durante il debug dei problemi.
- Conservate il token in una variabile d'ambiente o in un gestore di secret (HashiCorp Vault, AWS SSM Parameter Store, Doppler e simili).
- Nella pipeline CI/CD (sistema automatizzato di build/deploy) usate la funzione "masked secret", affinché il token non compaia in forma leggibile nei log.
Rotazione dei token
In ognuna delle situazioni seguenti revocate subito il vecchio token e generatene uno nuovo:
- Un dipendente che aveva accesso lascia l'azienda.
- Nella dashboard vedete un timestamp Ultimo utilizzo accanto a ogni token - se notate un'attività inattesa, revocate subito il token.
- Almeno una volta ogni 90 giorni come igiene di routine, anche se non è successo nulla.
Un token = uno scopo
Non mettete lo stesso token in cinque script diversi. Create un token separato per ogni integrazione:
epulzio_xxxxxxxxxxxxxxxx- solo per i deploy tramite GitHub Actionsepulzio_xxxxxxxxxxxxxxxx- solo per Terraform o Pulumi (strumenti di gestione dell'infrastruttura)epulzio_xxxxxxxxxxxxxxxx- per una dashboard Grafana che scarica le metriche
Se un token trapela, revocate solo quello specifico e le altre integrazioni continuano a funzionare.
Dove conservare il token in sicurezza
| Ambiente | Metodo consigliato |
|---|---|
| CLI locale | File ~/.config/epulzio/token con permessi chmod 600 (lo legge solo il vostro utente) |
| Docker | Docker secret oppure --env-file (non fisso tramite ENV nel Dockerfile) |
| Kubernetes | Oggetto Secret montato come variabile d'ambiente o file |
| GitHub Actions | Settings -> Secrets -> EPULZIO_TOKEN |
| Funzioni cloud (AWS Lambda, GCP Functions) | AWS SSM Parameter Store o Google Secret Manager |
Token vs. secret di firma per i webhook
Per verificare i webhook in arrivo (le notifiche che vi inviamo) usate un secret di firma (HMAC signing secret) separato, non il token API. Sono due cose diverse. I dettagli si trovano nell'articolo Generazione del token API.