Estatísticas de uso de licença em máquinas e dispositivos periféricos
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
- Navegue até Configurações da empresa.
- Selecione Faturamento & Gerenciamento de licenças.
- Procure uma seção Contas de máquina (se disponível).
- 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
- Vá para Configurações da empresa** → Ações.
- 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.