Skip to content
Latchkey

O que é um Token de Acesso Pessoal? Uma Alternativa à Senha para APIs

Um token de acesso pessoal (PAT) é uma string longa que autentica o acesso a APIs e à linha de comando em seu nome, com escopos que limitam o que ele pode fazer.

Um token de acesso pessoal, ou PAT, é uma credencial que você gera para se autenticar em um serviço sem usar sua senha. Ele carrega escopos que restringem seus poderes e pode ser revogado independentemente da sua conta. Os PATs são comuns em scripts de CI e ferramentas locais, mas, por serem credenciais bearer de longa duração, exigem manuseio cuidadoso.

Por que os PATs existem

As senhas são ruins para automação: elas desbloqueiam a conta inteira, muitas vezes exigem MFA e não deveriam ser embutidas em scripts. Um PAT é feito sob medida para acesso programático, delimitado a permissões específicas e revogável sem alterar sua senha.

Escopos e expiração

  • Os escopos limitam um token a ações específicas (ler repo, escrever packages).
  • As datas de expiração limitam por quanto tempo um token vazado permanece útil.
  • Tokens de granularidade fina podem ser limitados a repositórios específicos.

PATs em CI/CD

Às vezes um pipeline precisa de um PAT para alcançar um recurso que um token integrado não consegue, como outro repositório ou um registro externo. Armazene-o como um secret criptografado, dê a ele o escopo mínimo e injete-o apenas nos jobs que precisam dele.

O perfil de risco

Um PAT é uma credencial bearer: qualquer pessoa que o possua pode agir como você dentro de seus escopos. PATs vazados em código versionado ou em logs são uma fonte importante de violações. Expiração curta e escopos restritos transformam um vazamento de um desastre em um incidente contido.

Quando preferir outra coisa

Para muitas tarefas de CI, um token de workflow integrado ou uma credencial de curta duração emitida via OIDC é mais seguro do que um PAT permanente, porque não há segredo de longa duração para vazar. Recorra a um PAT apenas quando uma alternativa delimitada e automatizada não estiver disponível.

PATs e o runner

Um PAT injetado em um job é tão seguro quanto a máquina que o executa. Em runners efêmeros e isolados (como os runners gerenciados da Latchkey), o token desaparece quando o job termina, então ele não pode ser lido por um job posterior no mesmo host.

Principais conclusões

  • Um PAT é uma credencial delimitada e revogável que substitui sua senha para acesso a APIs.
  • Escopos restritos e expiração curta contêm o dano se um PAT vazar.
  • Prefira credenciais de curta duração integradas ou emitidas via OIDC em vez de PATs permanentes sempre que possível.

Guias relacionados