Aiuto e guideSicurezza account › Uso sicuro dei token API

Uso sicuro dei token API

3 min di lettura · Sicurezza account

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.
Elenco dei token API con l'ora dell'ultimo utilizzo
Per ogni token vedete l'ora dell'ultimo utilizzo - un aiuto per la rotazione e per individuare attività inattese.

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 Actions
  • epulzio_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

AmbienteMetodo consigliato
CLI localeFile ~/.config/epulzio/token con permessi chmod 600 (lo legge solo il vostro utente)
DockerDocker secret oppure --env-file (non fisso tramite ENV nel Dockerfile)
KubernetesOggetto Secret montato come variabile d'ambiente o file
GitHub ActionsSettings -> 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.

Questa guida è stata utile?