O que é um Access Token? A Credencial que Você Apresenta às APIs
Um access token é a credencial que um cliente apresenta em cada requisição para provar que está autorizado a alcançar um recurso protegido.
Um access token é a credencial de trabalho das APIs modernas. Após a autorização, um cliente recebe um token e o inclui em cada requisição; o servidor de recursos o valida e concede o acesso. Access tokens geralmente são de curta duração e limitados por escopo, o que restringe o dano caso um vaze. Em CI/CD, os tokens são o que os pipelines apresentam para fazer deploy, push e reportar.
O que um access token representa
Um access token codifica que um cliente específico foi autorizado para escopos específicos, muitas vezes por um curto período. O servidor de recursos confia no token (validando sua assinatura ou consultando-o) em vez de reverificar o usuário a cada chamada.
Bearer tokens
- A maioria dos access tokens são bearer tokens: quem quer que possua um pode usá-lo.
- Não há prova adicional de posse por padrão.
- Isso torna a prevenção de vazamentos e os tempos de vida curtos essenciais.
Por que tempos de vida curtos importam
Um token de curta duração vazado de um log ou de um dump de memória é útil para um atacante apenas por um breve momento antes de expirar. Combinar access tokens curtos com um mecanismo de refresh oferece tanto segurança quanto uma experiência de usuário fluida.
Access tokens em CI/CD
Pipelines apresentam access tokens para fazer push de imagens, deploy e chamar APIs. O padrão mais forte gera um token novo e estritamente limitado por escopo por job via OIDC, de modo que não há credencial durável a ser roubada entre as execuções.
Manuseando tokens com segurança
Nunca registre tokens em log, nunca os passe como argumentos de comando visíveis e nunca os faça commit. As plataformas de CI mascaram segredos conhecidos nos logs, mas um token impresso por acidente ainda pode vazar. Limite cada token ao mínimo escopo de que ele precisa.
Tokens e o runner
Um access token vive no ambiente do job no runner. Em runners efêmeros e isolados (como os managed runners da Latchkey), esse ambiente é destruído quando o job termina, então um token não pode ser lido pelo próximo job.
Principais conclusões
- Um access token é apresentado em cada requisição para provar a autorização a um recurso.
- A maioria são bearer tokens, então tempos de vida curtos e a prevenção de vazamentos são críticos.
- Tokens gerados por job via OIDC eliminam qualquer credencial durável a ser roubada.