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

Concluído

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

O acompanhamento do uso da licença é essencial para 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 Computador

As contas de computador são contas do GitHub usadas para automação, execução de scripts ou integração com ferramentas de terceiros.

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

Serviços Periféricos

Os 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).- Auto-hospedados do GitHub.

Por que acompanhar isso?

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

Localizando Estatísticas de Uso de Licença para Contas de Computador

Método 1: Console de Administração do GitHub Enterprise

  1. Navegue até As Configurações da Empresa.
  2. Selecione Cobrança &Gerenciamento de Licenças.
  3. Procure uma seção Contas do Computador (se disponível).
  4. Identificar:
    • Número de contas de computador ativas.
    • Consumo de licença por conta de computador.
    • Última data ativa.

Método 2: Consulta da API do GraphQL para contas de computador

Para recuperar as estatísticas de uso da conta de computador, use a API do GraphQL:

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

Por que acompanhar isso?

  • Para identificar contas de computador inativas.
  • Para acompanhar quando cada conta do computador estava ativa pela última vez.
  • Para ajudar a evitar 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 do GitHub Actions e Runners

  1. Vá para As Configurações da Empresa** → Ações.
  2. Exibir:
    • Total de minutos de executor hospedados no GitHub usados.
    • Uso de runner auto-hospedado.
    • Cobrança por minutos de runner adicionais.

Método 2: API REST para Self-Hosted Runners

Para rastrear runners auto-hospedados e seu uso de licença:

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

Insights Chave:

  • Identifica quantos runners estão consumindo licenças.
  • Acompanha runners ociosos que podem estar desperdiçando recursos.
  • Ajuda a otimizar a cobrança por minutos de runner hospedados no GitHub.

Método 3: Acompanhamento de uso da API de Serviços Periféricos

Monitorar integrações baseadas em API usando:

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

Isso ajuda você a:

  • Detectar Serviços Inativos: localize os serviços que não estão mais em uso.
  • Auditar ferramentas de terceiros: verifique se as ferramentas externas são necessárias e configuradas corretamente.
  • Reduzir Custos: desabilitar 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 melhores práticas a seguir ajudarão você a auditar o uso, impor políticas e simplificar o impacto da automação:

  • Auditar contas do computador regularmente: identificar e desativar contas de computador não utilizados.
    • Com o tempo, as organizações acumulam contas de computador não utilizados ou obsoletas que ainda podem ter acesso a repositórios e sistemas.
    • As contas não usadas aumentam os riscos de segurança, pois podem ser exploradas se comprometidas.
    • Auditorias regulares garantem que existam apenas contas de computador ativas e necessárias , reduzindo a exposição ao acesso não autorizado.
  • Monitorar o uso da API: acompanhe as ferramentas de terceiros que consomem licenças empresariais.
    • Muitos aplicativos de terceiros, pipelines de CI/CD e integrações consomem recursos da API do GitHub e licenças empresariais.
    • Chamadas excessivas à API podem levar a limites de taxa, afetando os fluxos de trabalho dos desenvolvedores.
    • O uso não autorizado ou desconhecido da API pode expor vulnerabilidades de segurança e dados confidenciais.
  • Otimizar uso do executor: identifique executores autogerenciados ociosos e reduza custos do executor hospedado no GitHub.
    • Runners auto-hospedados e hospedados no GitHub executam fluxos de trabalho de CI/CD. O uso ineficiente leva a custos desnecessários.
    • Runners auto-hospedados ociosos desperdiçam recursos computacionais e podem expor as organizações a riscos de segurança se não forem monitorados.
    • Os executores hospedados no GitHub operam de forma paga conforme o uso e a otimização do uso pode reduzir significativamente os custos.
  • Restringir contas de máquina: limite as suas permissões e imponha políticas de segurança.
    • As contas de computador não devem ter acesso desnecessário a repositórios, reduzindo o risco de escalonamento de privilégios.
    • Se comprometidas, as contas de computador podem ser exploradas para manipular o código-fonte, implantar alterações mal-intencionadas ou expor segredos.
    • A imposição de políticas de segurança ajuda a garantir a conformidade e minimiza possíveis violações.

Acompanhar o uso de licenças para contas de computador 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.