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