Skip to main content
Skip to content

Autorizando credenciais para logon único com um aplicativo GitHub

Autorize credenciais para várias organizações ao permitir que um aplicativo instalado pela empresa GitHub App gerencie as autorizações de login único (SSO).

Quem pode usar esse recurso?

Enterprise owners and users with the "Manage enterprise credentials" permission

Sobre como autorizar credenciais com um GitHub App

Por padrão, o GitHub Apps instalado pela empresa não pode autorizar o uso de credenciais. Para reduzir o número de vezes que os membros da empresa devem autorizar a mesma credencial para organizações individuais, você pode permitir que um aplicativo autorize chaves de autenticação SSH existentes personal access tokens (classic) ou verificadas de propriedade do usuário. Até 50 organizações selecionadas são permitidas por solicitação.

Para autorizar uma credencial para uma única organização sem uma GitHub App, consulte Como autorizar um token de acesso pessoal para uso com logon único ou Como autorizar uma chave SSH para uso com logon único.

Pré-requisitos

Para que o aplicativo possa autorizar credenciais, os seguintes requisitos devem ser atendidos:

  • A empresa deve usar o SSO de nível empresarial.
  • O proprietário da credencial deve ser membro de todas as organizações em que o aplicativo autorizará a credencial.

Criando o GitHub App

  1. Registre um novo aplicativo. Para obter instruções, consulte Registrando um aplicativo GitHub. O aplicativo deve:

    • Ser de propriedade da empresa ou de uma organização dentro da empresa.
    • Tenha acesso de gravação à permissão "Credenciais da empresa".
  2. Observe a ID do cliente do aplicativo e, em seguida, gere e armazene com segurança uma chave privada. Consulte Gerenciando chaves privadas para aplicativos GitHub.

  3. Instale o aplicativo em sua conta corporativa. Consulte Como instalar um aplicativo do GitHub em sua empresa.

  4. Na URL da página de instalação do aplicativo, observe a ID da instalação. A ID é a cadeia de caracteres de números no final da /enterprises/ENTERPRISE/settings/installations/ID URL.

Permitindo que uma GitHub App pessoa autorize credenciais

  1. Navegue até sua empresa. Por exemplo, na página Enterprises em GitHub.com.

  2. Em Settings, clique em Authentication security.

  3. Em "Credenciais", habilite Permitir GitHub Apps para autorizar credenciais.

Como gerar um token de acesso de instalação

O aplicativo deve usar um token de acesso de instalação empresarial para autenticar suas solicitações de API. Tokens de acesso à instalação da organização, tokens de acesso do usuário e personal access tokens não têm suporte.

Para gerar um token de acesso de instalação:

  1. Use a ID do cliente do aplicativo e a chave privada para gerar um JWT (Token Web JSON). Consulte Gerando um JWT (Token Web JSON) para um aplicativo GitHub.
  2. Use o JWT e a ID de instalação corporativa para criar um token de acesso de instalação. Consulte Gerando um token de acesso de instalação para um aplicativo GitHub.

O token de acesso da instalação herda as permissões da empresa concedidas ao aplicativo, não pode ter seu escopo reduzido e expira após uma hora.

Localizando identificadores de credencial

No caso de credenciais que já estão autorizadas para uma organização na sua empresa, um proprietário da organização pode usar a API REST para obter identificadores em lote. Consulte Pontos de extremidade de API REST para organizações.

Na resposta, use authorized_credential_id para um(a) personal access token (classic) ou fingerprint para uma chave SSH. Não use credential_id, que identifica a autorização da credencial para essa organização.

Este endpoint não retorna credenciais não autorizadas para a organização. Para obter um identificador para outra credencial, use um destes métodos:

  • Para um personal access token (classic), abra o token na página de configurações do token. A ID do token é o número no final da /settings/tokens/ID URL. Como alternativa, se o token tiver sido usado para uma ação registrada no log de auditoria da empresa, um proprietário da empresa poderá encontrar a ID no campo do token_id evento. A ID só está disponível no log de auditoria enquanto um evento visível da empresa autenticado com esse token é mantido. Compartilhe a ID, não o valor do token. Para obter mais informações, consulte Gerenciar seus tokens de acesso pessoal e Como fazer pesquisas no log de auditoria para sua empresa.
  • Para uma chave SSH, encontre a impressão digital SHA-256 da chave de autenticação verificada pertencente ao usuário. Para obter mais informações, consulte Revisar suas chaves SSH.

Autorizando uma credencial

Use a API REST para autorizar a credencial para organizações selecionadas. Por exemplo:

curl --request POST \
  --url "https://api.github.com/enterprises/ENTERPRISE/credential-authorizations" \
  --header "Accept: application/vnd.github+json" \
  --header "Authorization: Bearer INSTALLATION-ACCESS-TOKEN" \
  --header "X-GitHub-Api-Version: 2026-03-10" \
  --data '{
    "credential_id": 12345678,
    "credential_type": "classic_pat",
    "organizations": ["ORGANIZATION-1", "ORGANIZATION-2"]
  }'

Substitua ENTERPRISE pelo slug da empresa, INSTALLATION-ACCESS-TOKEN pelo token de acesso da instalação e ORGANIZATION-2 e ORGANIZATION-1 pelos slugs da organização. Substitua 12345678 pela ID do personal access token (classic). Em vez disso, para autorizar uma chave SSH, substitua 12345678 pela impressão digital SHA-256 da chave e substitua classic_pat por ssh_key.

Para obter mais informações, consulte Pontos de extremidade da API REST para autorizações de credenciais corporativas.

Desativando a autorização de credenciais por GitHub Apps

Desabilitar a configuração impede que os aplicativos criem novas autorizações de credencial. As autorizações existentes permanecem ativas até serem revogadas, a credencial é revogada ou excluída ou o proprietário da credencial perde a associação na organização.

Você pode usar a mesma API REST para revogar as autorizações criadas por um aplicativo por meio da delegação corporativa.