Instalar um GitHub App na empresa não libera o código dos repositórios

Dev
Visualizações 4

Um script de configuração pode continuar dependendo do token pessoal de alguém que já saiu da empresa. Em 23 de outubro, o GitHub anunciou a disponibilidade geral das instalações empresariais de GitHub Apps. Mais tarefas administrativas podem abandonar PATs clássicos, mas instalar na empresa não dá acesso a todo o código.

O que o aplicativo empresarial administra

A novidade abrange políticas de repositório, rulesets, leitura de solicitações de bypass e listas de IPs permitidos. Ler uma solicitação exige permissões diferentes de alterar a regra. Não é necessário habilitar todos os direitos de escrita para começar.

A instalação empresarial concede apenas permissões empresariais. Permissões de organização ou repositório solicitadas pelo aplicativo não são concedidas nela. Ler código de duas organizações exige instalações separadas e acesso apropriado aos repositórios. Consultar configurações da empresa e receber uma negativa ao buscar código pode ser o comportamento esperado.

Um aplicativo, várias instalações

Imagine a empresa acme com organizações web e mobile. O mesmo aplicativo instalado nas três contas terá três instalações. O token empresarial não substitui o de web; o de web não serve para mobile. O desenho próprio mostra um exemplo fictício, não uma tela real do GitHub.

Diagrama próprio: instalações empresarial, web e mobile separadas; linhas representam limites de conta. Fonte: GitHub Docs, 25 de outubro de 2026.
Diagrama próprio: instalações empresarial, web e mobile separadas; linhas representam limites de conta. Fonte: GitHub Docs, 25 de outubro de 2026.

Por isso, o cache não deveria usar apenas o nome do aplicativo como chave. Incluir o ID da instalação ajuda a separar tarefas de políticas empresariais e leitura de repositórios. É uma proposta de implementação da fronteira de contas descrita na documentação.

O encontro das permissões do aplicativo e do usuário

Um token de usuário depende das permissões tanto do aplicativo quanto do usuário. Se o usuário só pode ler, o aplicativo não pode superar esse limite ao agir em seu nome. Um token de instalação segue as permissões concedidas ao aplicativo naquela instalação.

A emissão usa o JWT do aplicativo e o ID da instalação. A documentação descreve POST /app/installations/INSTALLATION_ID/access_tokens e validade de uma hora. Octokit pode gerar e renovar os tokens. A curta duração não dispensa proteger a chave privada nem separar as instalações no cache.

Diagrama próprio de emissão por JWT e ID de instalação, com expiração e permissões. Sem token real ou solicitação de autenticação.
Diagrama próprio de emissão por JWT e ID de instalação, com expiração e permissões. Sem token real ou solicitação de autenticação.

Antes de trocar o token pessoal

Se um script combina políticas empresariais e código de várias organizações, trocar a string pode não bastar. Separe as tarefas, confira o suporte das APIs e escolha a autenticação adequada. Nem toda operação GraphQL empresarial aceita aplicativos. Começar por uma leitura facilita comparar resultados e limites.

As fontes têm um desencontro temporal: o changelog de 23 de outubro informa disponibilidade geral, mas a página de instalação consultada hoje ainda menciona public preview. Aqui o estado do lançamento segue o anúncio datado, e o escopo dos direitos segue a documentação. O ganho é definir a automação por conta e tarefa, em vez de copiar toda a autoridade de uma pessoa.

Fontes e outras leituras

GitHub Changelog · 2026-10-23

GitHub Docs · Enterprise installation

GitHub Docs · Permissions

GitHub Docs · Enterprise GraphQL

GitHub Docs · Installation token