Uso seguro de tokens API
O token da API é uma chave que dá acesso programático total à sua conta através da REST API. Se vazar, um atacante pode fazer o mesmo que você. As recomendações seguintes reduzem o risco de isso acontecer.
Trate o token como uma palavra-passe
- Nunca coloque o token em repositórios públicos (GitHub, GitLab).
- Não envie o token por Discord, Slack ou e-mail ao depurar problemas.
- Guarde o token numa variável de ambiente ou num gestor de segredos (HashiCorp Vault, AWS SSM Parameter Store, Doppler e semelhantes).
- Em pipelines de CI/CD (sistema automatizado de build/deploy) use a funcionalidade "masked secret" para que o token não apareça em logs em forma legível.
Rotação de tokens
Em cada uma das situações seguintes revogue imediatamente o token antigo e gere um novo:
- Um colaborador que tinha acesso vai-se embora.
- No painel verá a marca temporal Última utilização junto a cada token - se vir actividade que não esperava, revogue o token de imediato.
- Pelo menos uma vez a cada 90 dias como higiene de rotina, mesmo que nada tenha acontecido.
Um token = um objectivo
Não use o mesmo token em cinco scripts diferentes. Crie um token dedicado para cada integração:
epulzio_xxxxxxxxxxxxxxxx- apenas para deploy via GitHub Actionsepulzio_xxxxxxxxxxxxxxxx- apenas para Terraform ou Pulumi (ferramentas de gestão de infra-estrutura)epulzio_xxxxxxxxxxxxxxxx- para o painel do Grafana que descarrega métricas
Se um token vazar, revoga apenas esse e as restantes integrações continuam a funcionar.
Onde guardar o token em segurança
| Ambiente | Forma recomendada |
|---|---|
| CLI local | Ficheiro ~/.config/epulzio/token com permissões chmod 600 (lido apenas pelo seu utilizador) |
| Docker | Docker secret ou --env-file (não em código fixo via ENV no Dockerfile) |
| Kubernetes | Objecto Secret montado como variável de ambiente ou ficheiro |
| GitHub Actions | Settings -> Secrets -> EPULZIO_TOKEN |
| Funções na nuvem (AWS Lambda, GCP Functions) | AWS SSM Parameter Store ou Google Secret Manager |
Token vs. segredo de assinatura para webhooks
Para verificar webhooks recebidos (notificações que lhe enviamos) use um segredo de assinatura (HMAC signing secret) separado, não o token da API. São duas coisas diferentes. Os detalhes encontram-se no artigo Gerar um token da API.