Estatísticas de uso de licença em máquinas e dispositivos periféricos

Concluído

Nesta unidade, você aprenderá como as contas de máquina e os serviços periféricos afetam o uso da licença do GitHub Enterprise. Você explorará métodos para rastrear seu consumo, identificar ineficiências e aplicar as melhores práticas para melhorar o controle de custos e a segurança.

Rastrear o uso da licença é essencial para a otimização de custos e conformidade de segurança. Contas de máquina (usadas para automação) e serviços periféricos (como CI/CD, integrações e consumidores de API) podem consumir licenças, afetando os custos corporativos e o gerenciamento de recursos.

Noções básicas sobre contas de máquina e serviços periféricos

Contas de Máquinas

Contas de máquina são contas do GitHub usadas para automação, execução de scripts ou integração com ferramentas de terceiros.

Características: - Atuam independentemente dos utilizadores humanos. - Frequentemente usado por ferramentas de CI/CD (por exemplo, GitHub Actions, Jenkins, CircleCI). - Cada conta de máquina consome uma licença do GitHub, como um usuário padrão.

Serviços periféricos

Serviços periféricos são integrações externas que interagem com o GitHub por meio de solicitações de API.

Exemplos: - Pipelines de CI/CD (por exemplo, GitHub Actions, GitHub Runners, Jenkins). - Ferramentas de verificação de segurança (por exemplo, Dependabot, Snyk, CodeQL). - Integrações de terceiros (por exemplo, Slack, Jira, Datadog). - Corredores do GitHub auto-hospedados.

Por que seguir estes?

  • Para identificar licenças não utilizadas ou excessivas.
  • Otimizar custos e evitar gastos desnecessários.
  • Para monitorar os riscos de segurança de contas de automação inativas ou mal configuradas.

Encontrar estatísticas de uso de licença para contas de máquina

Método 1: GitHub Enterprise Admin Console

  1. Navegue até Configurações da empresa.
  2. Selecione Faturamento & Gerenciamento de licenças.
  3. Procure uma seção Contas de máquina (se disponível).
  4. Identificar:
    • Número de contas de máquina ativas.
    • Consumo de licença por conta de máquina.
    • Última data ativa.

Método 2: Consulta da API GraphQL para contas de máquina

Para recuperar estatísticas de uso da conta de máquina, use a API GraphQL:

{
  enterprise(slug: "enterprise-name") {
    organizations(first: 50) {
      nodes {
        name
        machineAccounts {
          totalCount
          nodes {
            login
            createdAt
            lastActiveAt
          }
        }
      }
    }
  }
}

Por que seguir estes?

  • Para identificar contas de máquina inativas.
  • Para controlar quando cada conta de máquina foi ativada pela última vez.
  • Para ajudar a reduzir a alocação desnecessária de licenças.

Localizando o uso de licenças para serviços periféricos

Método 1: Métricas de Uso das Ações e Executores do GitHub

  1. Vá para Configurações da empresa** → Ações.
  2. Visão:
    • Total de minutos de corredor hospedados no GitHub usados.
    • Uso de corredor auto-hospedado.
    • Faturação de minutos de corredor extra.

Método 2: API REST para corredores de Self-Hosted

Para monitorizar corredores auto-hospedados e o seu uso de licença:

curl -H "Authorization: token YOUR-TOKEN" \
"https://api.github.com/enterprises/YOUR-ENTERPRISE/actions/runners"

Principais informações:

  • Identifica quantos corredores estão consumindo licenças.
  • Rastreia corredores ociosos que podem estar desperdiçando recursos.
  • Ajuda a otimizar o faturamento para minutos de executor hospedados no GitHub.

Método 3: Rastreamento de uso da API de serviços periféricos

Monitore integrações baseadas em API usando:

curl -H "Authorization: token YOUR-TOKEN" \
"https://api.github.com/enterprises/YOUR-ENTERPRISE/audit-log"

Isto ajuda-o a:

  • Detetar serviços inativos: encontre serviços que não estão mais em uso.
  • Ferramentas de auditoria de terceiros: Certifique-se de que as ferramentas externas são necessárias e configuradas corretamente.
  • Reduzir custos: desativar serviços que não estão fornecendo valor."

4. Práticas recomendadas para gerenciar contas de máquina e licenças de serviços periféricos

As seguintes práticas recomendadas ajudarão você a auditar o uso, aplicar políticas e simplificar sua pegada de automação:

  • Auditar contas de máquinas regularmente: identifique e desative contas de máquinas não utilizadas.
    • Com o tempo, as organizações acumulam contas de máquinas não utilizadas ou obsoletas que ainda podem ter acesso a repositórios e sistemas.
    • As contas não utilizadas aumentam os riscos de segurança, uma vez que podem ser exploradas se forem comprometidas.
    • Auditorias regulares garantem que existem apenas contas de máquina ativas e necessárias , reduzindo a exposição a acessos não autorizados.
  • Monitorar o uso da API: rastreie ferramentas de terceiros que consomem licenças corporativas.
    • Muitos aplicativos de terceiros, pipelines de CI/CD e integrações consomem recursos de API do GitHub e licenças corporativas.
    • Chamadas de API excessivas podem levar a limites de taxa, afetando os fluxos de trabalho dos desenvolvedores.
    • O uso não autorizado ou desconhecido da API pode expor dados confidenciais e vulnerabilidades de segurança.
  • Otimize o uso do Runner: identifique corredores auto-hospedados ociosos e reduza os custos dos corredores hospedados no GitHub.
    • Runners auto-hospedados e hospedados no GitHub executam fluxos de trabalho de CI/CD. Uma utilização ineficiente conduz a custos desnecessários.
    • Corredores auto-hospedados ociosos desperdiçam recursos de computação e podem expor as organizações a riscos de segurança se não forem monitorados.
    • Os corredores hospedados no GitHub operam em uma base de pagamento conforme o uso , e otimizar o uso pode reduzir significativamente os custos.
  • Restringir contas de máquina: limite suas permissões e aplique políticas de segurança.
    • As contas de máquina não devem ter acesso desnecessário aos repositórios, reduzindo o risco de escalonamento de privilégios.
    • Se comprometidas, as contas de máquina podem ser exploradas para manipular o código-fonte, implantar alterações maliciosas ou expor segredos.
    • A aplicação de políticas de segurança ajuda a garantir a conformidade e minimiza possíveis violações.

Rastrear o uso de licenças para contas de máquina e serviços periféricos é crucial para otimização de custos, segurança e conformidade no GitHub Enterprise. Os administradores devem aproveitar a interface do usuário do GitHub, o GraphQL e as APIs REST para identificar contas inativas, otimizar o uso e evitar gastos desnecessários.