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 obter mais informações, 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 obter mais informações, confira "Gerenciar seus tokens de acesso pessoal".

Ao criar o GitHub App, selecione as permissões mínimas necessárias para seu GitHub App. Para obter mais informações, 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 obter mais informações, 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 obter mais informações, 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 obter mais informações, 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 obter mais informações, 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 obter mais informações, 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".