Skip to main content

Manter suas credenciais de API seguras

Siga estas práticas recomendadas para manter as suas credenciais de API e tokens seguros.

Escolha um método de autenticação apropriado

Você deve escolher um método de autenticação apropriado para a tarefa que deseja realizar.

  • Para usar a API para uso pessoal, você pode criar um personal access token.
  • Para usar a API em nome de uma organização ou de outro usuário, você deve criar um GitHub App.
  • Para usar a API em um fluxo de trabalho do GitHub Actions, você deve autenticar com o GITHUB_TOKEN interno.

Para saber mais, confira Sobre a autenticação no GitHub.

Limitar as permissões de suas credenciais

Ao criar um personal access token, selecione apenas as permissões mínimas ou os escopos necessários e defina uma data de validade para o período mínimo de tempo necessário para usar o token. O GitHub recomenda que você use fine-grained personal access tokens em vez de personal access tokens (classic). Para saber mais, confira Gerenciar seus tokens de acesso pessoal.

Um token tem os mesmos recursos para acessar recursos e executar ações nesses recursos que o proprietário do token e é ainda mais limitado por quaisquer escopos ou permissões concedidos ao token. Um token não pode conceder recursos de acesso adicionais a um usuário.

Ao criar o GitHub App, selecione as permissões mínimas necessárias para seu GitHub App. Para saber mais, confira Práticas recomendadas para criar um aplicativo do GitHub.

Ao autenticar com GITHUB_TOKEN em um fluxo de trabalho de GitHub Actions, forneça apenas a quantidade mínima de permissões necessárias. Para saber mais, confira Autenticação automática de token.

Armazene suas credenciais de autenticação com segurança

Trate as credenciais de autenticação da mesma maneira que você trataria suas senhas ou outras credenciais confidenciais.

  • Não compartilhe credenciais de autenticação usando um sistema de mensagens ou email não criptografado.
  • Não passe seu personal access token como texto sem formatação na linha de comando. Para saber mais, confira Gerenciar seus tokens de acesso pessoal.
  • Não envie por push credenciais de autenticação não criptografadas, como tokens ou chaves, para qualquer repositório, mesmo que o repositório seja privado. Em vez disso, use um segredo GitHub Actions ou o segredo de Codespaces. Para obter mais informações, confira Usar segredos em ações do GitHub" e Gerenciando segredos específicos da sua conta para o GitHub Codespaces.
  • Você pode usar a verificação de segredo para descobrir tokens, chaves privadas e outros segredos que foram enviados por push para um repositório ou para bloquear futuros pushes que contêm segredos. Para saber mais, confira Sobre a verificação de segredo.

Limite quem pode acessar suas credenciais de autenticação

Não compartilhe seus dados de personal access token com outras pessoas. Em vez de compartilhar um personal access token, crie um GitHub App. Para saber mais, confira Sobre a criação de Aplicativos do GitHub.

Se você precisar compartilhar credenciais com uma equipe, armazene as credenciais em um sistema compartilhado seguro. Por exemplo, você pode armazenar e compartilhar senhas com segurança usando 1Password ou armazenar chaves no Azure KeyVault e gerenciar o acesso com seu IAM (gerenciamento de identidade e acesso).

Se você estiver criando um fluxo de trabalho de GitHub Actions que precisa acessar a API, poderá armazenar suas credenciais em um segredo criptografado e acessar o segredo criptografado do fluxo de trabalho. Para saber mais, confira Usar segredos em ações do GitHub e Fazer solicitações de API autenticadas com um Aplicativo do GitHub em um fluxo de trabalho do GitHub Actions.

Usar credenciais de autenticação com segurança em seu código

Nunca codifique credenciais de autenticação como tokens, chaves ou segredos relacionados ao aplicativo em seu código. Em vez disso, use um gerenciador de segredos, como o Azure Key Vault ou HashiCorp Vault. Para saber mais sobre como proteger as credenciais de GitHub App, confira Práticas recomendadas para criar um aplicativo do GitHub.

Ao usar um personal access token em um script, armazene seu token como um segredo de GitHub Actions e execute seu script por meio de GitHub Actions. Você também pode armazenar seu token como um segredo de Codespaces e executar seu script em Codespaces. Para obter mais informações, confira Usar segredos em ações do GitHub e Gerenciando segredos específicos da sua conta para o GitHub Codespaces.

Se nenhuma dessas opções for possível, você poderá armazenar credenciais de autenticação em um arquivo .env. Criptografe seu arquivo .env e nunca efetue push dele para nenhum repositório.

Preparar um plano de correção

Você deve criar um plano para lidar com quaisquer violações de segurança em tempo hábil. Caso o token ou outra credencial de autenticação seja vazado, você precisará:

  • Gerar uma nova credencial.
  • Substituir a credencial antiga pela nova em todos os lugares em que você está armazenando ou acessando a credencial.
  • Excluir a credencial comprometida antiga.

Para obter informações sobre como girar credenciais comprometidas para um GitHub App, confira Práticas recomendadas para criar um aplicativo do GitHub.

Para obter informações sobre como criar e excluir um personal access token, confira Gerenciar seus tokens de acesso pessoal.