Ajuda e guiasSegurança da conta › Uso seguro de tokens API

Uso seguro de tokens API

3 min de leitura · Segurança da conta

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.
Lista de tokens da API com a hora da última utilização
Em cada token vê a hora da última utilização - uma ajuda na rotação e na detecção de actividade inesperada.

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

AmbienteForma recomendada
CLI localFicheiro ~/.config/epulzio/token com permissões chmod 600 (lido apenas pelo seu utilizador)
DockerDocker secret ou --env-file (não em código fixo via ENV no Dockerfile)
KubernetesObjecto Secret montado como variável de ambiente ou ficheiro
GitHub ActionsSettings -> 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.

Este guia foi útil?