Um app Copilot com Read-only também pode gastar créditos

Tech
Visualizações 3

Um agente noturno pode depender do login de uma pessoa. Em 27 de outubro, o GitHub abriu a prévia pública de autenticação entre servidores para GitHub Apps instalados em organizações com Copilot SDK. O serviço usa a identidade da instalação. O detalhe é que Read-only pode autorizar solicitações pagas.

Somente leitura não significa gratuito

O app recebe a permissão organizacional Copilot Requests: Read-only e usa um token de instalação de curta duração. Uso e cobrança pertencem à organização dona da instalação. Nesse contexto, a permissão permite solicitações que consomem créditos de IA.

Comparação original: app organizacional com Copilot Requests: Read-only acima; Actions com GITHUB_TOKEN e copilot-requests: write abaixo. Não é tela do produto nem resultado executado.
Comparação original: app organizacional com Copilot Requests: Read-only acima; Actions com GITHUB_TOKEN e copilot-requests: write abaixo. Não é tela do produto nem resultado executado.

Imagine uma empresa fictícia com um app de análise e outro de resumo de documentos. Ambos podem ter somente leitura e gerar despesas. Não alterar arquivos e consumir capacidade do modelo são coisas compatíveis. A identidade da carga muda a responsabilidade, não o custo da inferência.

Actions e servidores externos têm caminhos diferentes

Serviços externos e outros sistemas CI passam o token por uma opção explícita do SDK, como gitHubToken. Somente instalações de organização são aceitas, não as pessoais ou empresariais. A disponibilidade das instalações empresariais discutida antes tem outro escopo.

Em repositórios de organização, GitHub Actions pode usar GITHUB_TOKEN. Essa via exige copilot-requests: write no YAML e a política Allow use of Copilot CLI billed to the organization. A autenticação do app instalado não exige essa política. Read-only e write descrevem vias distintas.

A identidade precisa continuar após uma hora

O token de instalação expira após uma hora. O substituto precisa chegar ao processo ativo. A documentação manda reiniciar o cliente filho com o token novo, ou o host para runtimes integrados ou existentes. Trocar um arquivo não garante que o processo adotou o valor.

useLoggedInUser: false desativa a descoberta automática de credenciais, inclusive tokens em variáveis de ambiente. Passe o token explicitamente ao SDK. Se funciona no notebook e falha no servidor, diferencie um fallback pessoal acidental do token realmente entregue ao runtime.

Linha do tempo hipotética: gerar e entregar o substituto antes da expiração de uma hora. Ilustração própria, sem telemetria.
Linha do tempo hipotética: gerar e entregar o substituto antes da expiração de uma hora. Ilustração própria, sem telemetria.

Atribuição por app, orçamento da organização

Proprietários localizam uso nos CSV por organization e app_client_id. O cruzamento com client_id na API de instalações identifica app_slug. A visualização web de uso de IA ainda não oferece essa divisão. Também não há orçamento individual por app; um orçamento só de alertas não interrompe o consumo.

Suspender ou desinstalar a instalação também bloqueia os outros acessos dela aos recursos organizacionais. O ganho é um responsável mais claro pelo trabalho automático dentro das políticas de modelos e gastos. Ao separar o serviço de uma pessoa, renovação de tokens e responsabilidade pelos custos devem acompanhá-lo.

Fontes oficiais

GitHub Changelog · 2026-10-27

GitHub Docs · Server-to-server authentication

GitHub Docs · Manage app Copilot access