Este artigo fornece uma referência consolidada para todos os tipos de credencial programática que podem acessar GitHub. Use essa referência para auditar a atividade e gerenciar a revogação de credenciais, especialmente durante incidentes de segurança.
Visão geral dos tipos de credencial
A tabela a seguir lista todos os tipos de credencial que podem ser acessados GitHubprogramaticamente.
| Tipo de credencial | Prefixo de credencial | Vida útil | Revogação | Associado a |
|---|---|---|---|---|
| Personal access token (classic) | ghp_ | Vida longa | Manual | Conta de utilizador |
| Fine-grained personal access token | github_pat_ | Configurável (até 1 ano ou sem expiração) | Manual | Conta de utilizador |
| [ |
OAuth app token de acesso](#oauth-app-access-tokens) | `gho_` | Vida longa | Manual | Conta de utilizador |
|
GitHub App token de acesso do usuário | ghu_ | Curta duração (8 horas) | Expiração automática ou manual | Conta de utilizador |
|
GitHub App token de acesso à instalação | ghs_ | Curta duração (1 hora) | Expiração automática | Instalação da aplicação |
|
GitHub App token de atualização | ghr_ | Durável (6 meses) | Manual | Conta de utilizador |
| Chave SSH do usuário | Não aplicável | Vida longa | Manual | Conta de utilizador |
| Implantar chave | Não aplicável | Vida longa | Manual | Repositório |
|
GITHUB_TOKEN
(GitHub Actions) | Não aplicável | Duração curta (tempo de execução do trabalho) | Expiração automática | Execução do fluxo de trabalho |
Revogação de credenciais
As seções a seguir descrevem as opções de revogação para cada tipo de credencial com base em sua função. Confira também Vencimento e revogação de token.
Observação
Os proprietários corporativos têm opções para ações em massa em incidentes principais. Consulte ações em lote para incidentes de segurança.
Personal access token (classic)
-
Se o token pertence a você, você pode excluí-lo por meio de suas configurações de conta pessoal. Consulte Gerenciar seus tokens de acesso pessoal.
-
Se o token pertencer a outra pessoa e o valor real do token for conhecido, qualquer pessoa poderá enviar uma solicitação para revogá-lo usando a API REST. A API não requer autenticação – qualquer pessoa com o valor do token pode enviá-la para revogação. Consulte Revogação na documentação da API REST.
-
Os proprietários da organização e os proprietários corporativos não têm visibilidade direta ou controle sobre tokens individuais. No entanto, eles podem:
- Revogue-os usando a API REST, se o valor real do token for conhecido. Consulte Revogação.
- Restrinja totalmente o acesso de personal access tokens à organização ou à empresa. Confira Como configurar uma política de token de acesso pessoal para a organização e Como impor políticas para tokens de acesso pessoal na empresa.
-
Proprietários da organização e proprietários de empresasGitHub Enterprise Cloud com SSO exigido podem revogar a autorização de SSO para um determinado personal access token (classic). Confira a revogação da autorização de SSO para obter detalhes.
-
Revogado automaticamente se enviado por push para um repositório público ou gist, ou se não usado por um ano. Consulte Vencimento e revogação de token.
Fine-grained personal access token
-
Se o token pertence a você, você pode excluí-lo por meio de suas configurações de conta pessoal. Consulte Gerenciar seus tokens de acesso pessoal.
-
Se o token pertencer a outra pessoa e o valor real do token for conhecido, qualquer pessoa poderá enviar uma solicitação para revogá-lo usando a API REST. A API não requer autenticação – qualquer pessoa com o valor do token pode enviá-la para revogação. Consulte Revogação na documentação da API REST.
-
Proprietários da organização: podem exibir e revogar tokens individuais. No entanto, observe que, quando um proprietário da organização revoga uma fine-grained personal access token, todas as chaves SSH criadas pelo token continuarão funcionando e o token ainda poderá ler recursos públicos dentro da organização. A revogação altera o proprietário do recurso da organização para o usuário e o usuário pode reatribuí-lo de volta. Consulte Revisar e revogar tokens de acesso pessoal na organização.
-
Os proprietários da organização e os proprietários da empresa podem:
- Revogue o token usando a API REST. Consulte Revogação.
- Restrinja totalmente o acesso de personal access tokens à organização ou à empresa. Confira Como configurar uma política de token de acesso pessoal para a organização e Como impor políticas para tokens de acesso pessoal na empresa.
-
Revogado automaticamente se enviado por push para um repositório público ou gist, ou se não usado por um ano. Consulte Vencimento e revogação de token.
OAuth app tokens de acesso
-
Os usuários podem revogar sua autorização para uma OAuth app em suas configurações de conta pessoal, o que revogará todos os tokens associados ao aplicativo. Consulte Revisar aplicações OAuth autorizadas.
-
Se o token pertencer a outra pessoa e o valor real do token for conhecido, qualquer pessoa poderá enviar uma solicitação para revogá-lo usando a API REST. A API não requer autenticação – qualquer pessoa com o valor do token pode enviá-la para revogação. Consulte Revogação na documentação da API REST.
-
Os proprietários da organização podem negar o acesso à organização que foi previamente aprovado. Consulte Negar acesso a um aplicativo OAuth já aprovado para a organização.
-
Em GitHub Enterprise Cloud, os proprietários de empresas e organizações não podem revogar diretamente a autorização de SSO para tokens individuais OAuth app. A autorização de credencial de SSO não se aplica a GitHub Enterprise Server.
-
Revogado automaticamente se enviado por push para um repositório público ou gist, ou se não usado por um ano. Consulte Vencimento e revogação de token.
GitHub App tokens de acesso do usuário
-
Os usuários podem revogar sua autorização para uma GitHub App em suas configurações de conta pessoal. Observe que isso revoga a autorização para todas as organizações, não apenas para uma específica. Consulte Revisão e revogação da autorização de aplicativos GitHub.
-
Se o token pertencer a outra pessoa e o valor real do token for conhecido, qualquer pessoa poderá enviar uma solicitação para revogá-lo usando a API REST. A API não requer autenticação – qualquer pessoa com o valor do token pode enviá-la para revogação. Consulte Revogação na documentação da API REST.
-
Os proprietários da organização não podem revogar as autorizações de usuário diretamente, mas podem suspender ou desinstalar o aplicativo para impedir o acesso aos recursos da organização. Consulte Revisão e modificação de aplicativos GitHub instalados.
-
No GitHub Enterprise Cloud, os proprietários de empresas e organizações não podem revogar diretamente a autorização de SSO para os tokens de acesso individuais de usuário GitHub App. A autorização de credencial de SSO não se aplica a GitHub Enterprise Server.
-
Expira automaticamente após 8 horas por padrão. Consulte Vencimento e revogação de token.
GitHub App atualizar tokens
-
Os usuários podem revogar a GitHub App autorização, que também invalida tokens de atualização associados. Consulte Revisão e revogação da autorização de aplicativos GitHub.
-
Se o token pertencer a outra pessoa e o valor real do token for conhecido, qualquer pessoa poderá enviar uma solicitação para revogá-lo usando a API REST. A API não requer autenticação – qualquer pessoa com o valor do token pode enviá-la para revogação. Consulte Revogação na documentação da API REST.
-
Expira automaticamente após 6 meses.
GitHub App tokens de acesso à instalação
- Os proprietários de aplicativos podem revogar por meio de
DELETE /installation/token. Consulte Pontos de extremidade da API REST para GitHub App instalações. - Proprietários da organização e proprietários corporativos: pode desinstalar o aplicativo da organização, o que desativa todos os tokens de instalação associados. Consulte Revisão e modificação de aplicativos GitHub instalados.
- Expira automaticamente após 1 hora.
Chaves SSH do usuário
- Os usuários podem excluir a credencial por meio de Configurações > chaves SSH e GPG. Consulte Revisar suas chaves SSH.
- Os proprietários da organização e os proprietários corporativosGitHub Enterprise Cloud com SSO aplicado podem revogar a autorização de SSO para uma chave SSH específica. Depois de revogada, a mesma chave não pode ser novamente autorizada. O usuário deve criar uma nova chave SSH. Confira a revogação da autorização de SSO para obter detalhes.
- Excluído automaticamente se não usado por um ano. Consulte Chaves SSH excluídas ou ausentes.
Para obter mais informações sobre chaves SSH, consulte Adicionando uma nova chave SSH à sua conta de GitHub.
Chaves de implantação
- Os administradores do repositório podem excluir chaves por meio de configurações do repositório > Segurança > Chaves de implantação. Também disponível por meio da API REST de chaves de implantação. Consulte Revisar suas chaves de implantação.
- Os proprietários da organização podem desabilitar totalmente as chaves de implantação em toda a organização, o que desabilita todas as chaves de implantação existentes. Consulte Restringindo chaves de implantação em sua organização.
- Os proprietários da empresa podem impor uma política para desabilitar a implantação de chaves em todos os repositórios. Consulte Aplicar as políticas de gerenciamento do repositório na sua empresa.
Para obter mais informações sobre chaves de implantação, consulte Gerenciar chaves de implantação.
`GITHUB_TOKEN` (GitHub Actions)
- Expira automaticamente: o
GITHUB_TOKENé criado no início de cada trabalho de fluxo de trabalho e expira quando o trabalho é concluído. Não há nenhum mecanismo de revogação manual. Durante um incidente, você pode desabilitar GitHub Actions no repositório para impedir que novos tokens sejam emitidos.
Para obter mais informações sobre GITHUB_TOKEN, consulte GITHUB_TOKEN.
Autorização de SSO
Em GitHub Enterprise Cloud, quando o single sign-on (SSO) é necessário no nível empresarial, imposto no nível organizacional ou ativado para uma organização e um membro vinculou uma identidade, certos tipos de credenciais devem ser autorizados para a organização antes que possam acessar os recursos da organização. A tabela a seguir indica quais tipos de credencial podem ser autorizados para uma organização. A autorização de credencial de SSO não se aplica a GitHub Enterprise Server.
| Tipo de token | Dá suporte à autorização de SSO | Os administradores podem revogar a autorização de SSO |
|---|---|---|
| Personal access token (classic) | ||
| Fine-grained personal access token | ||
| OAuth app token de acesso |
<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-check" aria-label="Yes" role="img"><path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path></svg>
[^1] | <svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-x" aria-label="No" role="img"><path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path></svg> |
| GitHub App token de acesso do usuário |
[^1] | |
| GitHub App token de acesso à instalação |
(não obrigatório) | Não aplicável |
| GitHub App token de atualização | | Não aplicável |
| Chave SSH do usuário | | |
| Chave de implantação |
(escopo do repositório) | Não aplicável |
| GITHUB_TOKEN (GitHub Actions) |
(escopo do repositório) | Não aplicável |
[^1]: On GitHub Enterprise Cloud, SSO authorization is granted automatically when the user authorizes the app during an active SAML or OIDC session. These authorizations are not visible to users or admins in the GitHub UI, and are not returned by the [AUTOTITLE](/rest/orgs/orgs#list-saml-sso-authorizations-for-an-organization) REST API endpoint.
Em GitHub Enterprise Cloud, para obter informações sobre como autorizar uma credencial para SSO, consulte o Como autorizar um token de acesso pessoal para uso com logon único, Gerenciar seus tokens de acesso pessoal e Como autorizar uma chave SSH para uso com logon único.
Revogando a autorização de SSO
Com GitHub Enterprise Cloud o SSO imposto, quando uma credencial dá suporte à autorização de SSO, há duas opções de contenção independentes:
- Excluir ou revogar a credencial em si: remove permanentemente todo o acesso associado à credencial. Consulte as seções de tipo de credencial individuais acima para quem pode executar essa ação.
- Revogar a autorização de SSO da credencial: impede que a credencial acesse os recursos de uma organização específica sem excluí-la. Depois de revogado, o usuário não pode autorizar novamente a mesma credencial; eles devem criar um novo.
Em GitHub Enterprise Cloud, administradores de empresas e proprietários de organizações podem revogar a autorização de SSO para os tipos de credenciais indicados na tabela acima.
- Os proprietários da organização podem gerenciar autorizações de SSO para organizações com SSO no nível da organização por meio da interface de usuário do GitHub. Consulte Exibir e gerenciar o acesso SAML de um membro à organização.
- Os proprietários de empresas podem gerenciar autorizações de SSO para empresas com SSO de nível empresarial (incluindo Enterprise Managed Users) por meio da interface de GitHub usuário. Consulte Visualizar e gerenciar o acesso SAML de um usuário à sua empresa.
No GitHub Enterprise Cloud, você também pode gerenciar as autorizações de SSO através da API REST.
Em GitHub Enterprise Cloud, durante um incidente de segurança, os proprietários empresariais podem revogar as autorizações de SSO em grande escala. Consulte ações em lote para incidentes de segurança.
Ações em lote para incidentes de segurança
Durante um grande incidente de segurança, há algumas ações em massa de nível corporativo que os proprietários de empresas de grande porte em GitHub Enterprise Cloud podem realizar para responder rapidamente. Essas ações afetam chaves SSH do usuário, OAuth app tokens de acesso do usuário, GitHub App tokens de acesso do usuário, personal access tokens (classic), e fine-grained personal access tokens. Eles não afetam GitHub App tokens de acesso de instalação, chaves de implantação ou GITHUB_TOKEN.
Aviso
Essas são ações de alto impacto que devem ser reservadas para incidentes de segurança importantes. É provável que eles interrompam as automações, e isso pode levar meses de trabalho para restaurar o seu estado original.
- Bloquear o SSO: bloqueie temporariamente o SSO para todos os usuários, exceto os proprietários corporativos, impedindo o acesso aos recursos protegidos por SSO. Disponível para Enterprise Managed Users ou para empresas que usam SSO. Consulte Bloquear o logon único em sua empresa.
- Revogar todas as autorizações de SSO: remova as autorizações de SSO para credenciais de usuário em todas as organizações da empresa. As credenciais não são excluídas, mas perdem o acesso aos recursos da organização protegidos por SSO. Depois de revogadas, as credenciais não podem ser novamente autorizadas. Os usuários devem criar novas credenciais. Disponível para Enterprise Managed Users ou para empresas que usam SSO. Consulte Revogando autorizações de SSO ou excluindo credenciais em sua empresa.
- Excluir todos os tokens e chaves de usuário: exclua inteiramente as credenciais do usuário, removendo todo o acesso. Disponível Enterprise Managed Users para****. Consulte Revogando autorizações de SSO ou excluindo credenciais em sua empresa.
Observação
Para empresas com contas pessoais (não EMU) que usam SSO, a opção "excluir todos os tokens e chaves" não está disponível. A ação "revogar autorizações de SSO" bloqueia o acesso aos recursos da organização protegidos por SSO, mas não impede que as credenciais acessem pontos de extremidade ou recursos de nível empresarial em organizações que não impõem o SSO. Para empresas sem SSO, nenhuma das ações em massa estão disponíveis.