Estadísticas de uso de licencias en dispositivos periféricos y máquinas
En esta unidad, aprenderá cómo las cuentas de máquina y los servicios periféricos afectan al uso de licencias de GitHub Enterprise. Explorará los métodos para realizar un seguimiento de su consumo, identificará las ineficacias y aplicará los procedimientos recomendados para mejorar el control de costos y la seguridad.
El seguimiento del uso de licencias es esencial para la optimización de costos y el cumplimiento de la seguridad. Las cuentas de máquina (usadas para la automatización) y los servicios periféricos (como CI/CD, integraciones y consumidores de API) pueden consumir licencias, lo que afecta a los costos empresariales y a la administración de recursos.
Descripción de las cuentas de máquina y los servicios periféricos
Cuentas de máquina
Las cuentas de máquina son cuentas de GitHub que se usan para la automatización, la ejecución de scripts o la integración con herramientas de terceros.
Características: - Actúan independientemente de los usuarios humanos. - A menudo se usa en las herramientas de CI/CD (por ejemplo, Acciones de GitHub, Jenkins, CircleCI).- Cada cuenta de máquina consume una licencia de GitHub, como un usuario estándar.
Servicios periféricos
Los servicios periféricos son integraciones externas que interactúan con GitHub a través de solicitudes de API.
Ejemplos: - Canalizaciones de CI/CD (por ejemplo, Acciones de GitHub, Ejecutores de GitHub, Jenkins).- Herramientas de examen de seguridad (por ejemplo, Dependabot, Snyk, CodeQL).- Integraciones de terceros (por ejemplo, Slack, Jira, Datadog).- Ejecutores de GitHub autohospedados.
¿Por qué realizar un seguimiento de estos?
- Para identificar licencias sin usar o excesivas.
- Para optimizar los costos y evitar gastos innecesarios.
- Para supervisar los riesgos de seguridad de cuentas de automatización inactivas o mal configuradas.
Búsqueda de estadísticas de uso de licencias para cuentas de máquina
Método 1: Consola de administración de GitHub Enterprise
- Vaya a Configuración de empresa.
- Seleccione Billing & License Management (Administración de facturación y licencias).
- Busque una sección Cuentas de equipo (si está disponible).
- Identifique:
- Número de cuentas de máquina activas.
- Consumo de licencias por cuenta de máquina.
- Última fecha activa.
Método 2: Consulta de GraphQL API para cuentas de máquinas
Para obtener estadísticas sobre el uso de cuentas de máquina, use la API de GraphQL:
{
enterprise(slug: "enterprise-name") {
organizations(first: 50) {
nodes {
name
machineAccounts {
totalCount
nodes {
login
createdAt
lastActiveAt
}
}
}
}
}
}
¿Por qué realizar un seguimiento de estos?
- Para identificar cuentas de máquina inactivas.
- Para realizar un seguimiento de cuándo cada cuenta de equipo estaba activa por última vez.
- Para ayudar a reducir la asignación de licencias innecesaria.
Búsqueda del uso de licencias para servicios periféricos
Método 1: Métricas de uso de Acciones y ejecutores de GitHub
- Vaya a Configuración de empresa** → Acciones.
- Vista:
- Total de minutos de ejecutor hospedados en GitHub.
- Uso del ejecutor autohospedado.
- Facturación de minutos adicionales del ejecutor.
Método 2: API REST para corredores de Self-Hosted
Para realizar un seguimiento de los ejecutores autohospedados y su uso de licencias:
curl -H "Authorization: token YOUR-TOKEN" \
"https://api.github.com/enterprises/YOUR-ENTERPRISE/actions/runners"
Key Insights:
- Identifica el número de ejecutores que consumen licencias.
- Realiza un seguimiento de los ejecutores inactivos que pueden estar desperdiciando recursos.
- Ayuda a optimizar la facturación de los minutos del ejecutor hospedado en GitHub.
Método 3: Seguimiento de uso de api de servicios periféricos
Supervise las integraciones basadas en API mediante:
curl -H "Authorization: token YOUR-TOKEN" \
"https://api.github.com/enterprises/YOUR-ENTERPRISE/audit-log"
Esto le ayuda a:
- Detectar servicios inactivos: Encontrar servicios que ya no están en uso.
- Auditar herramientas de terceros: asegúrese de que las herramientas externas son necesarias y configuradas correctamente.
- Reducir costos: deshabilite los servicios que no proporcionan valor".
4. Procedimientos recomendados para administrar cuentas de máquina y licencias de servicios periféricos
Los siguientes procedimientos recomendados le ayudarán a auditar el uso, aplicar directivas y simplificar la superficie de automatización:
- Auditar cuentas de máquina periódicamente: identifique y desactive las cuentas de máquina sin usar.
- Con el tiempo, las organizaciones acumulan cuentas de máquina obsoletas o sin usar que pueden tener acceso a repositorios y sistemas.
- Las cuentas sin usar aumentan los riesgos de seguridad, ya que se pueden aprovechar si están en peligro.
- Las auditorías periódicas garantizan que solo existen cuentas de máquina activas y necesarias , lo que reduce la exposición al acceso no autorizado.
- Supervisar el uso de api: realice un seguimiento de las herramientas de terceros que consumen licencias empresariales.
- Muchas aplicaciones de terceros, canalizaciones de CI/CD e integraciones consumen recursos de API de GitHub y licencias empresariales.
- Las llamadas API excesivas pueden dar lugar a límites de velocidad, lo que afecta a los flujos de trabajo de los desarrolladores.
- El uso de API no autorizado o desconocido puede exponer datos confidenciales y vulnerabilidades de seguridad.
- Optimización del uso del ejecutor: identifique los ejecutores autohospedados inactivos y reduzca los costos del ejecutor hospedado en GitHub.
- Los ejecutores autohospedados y hospedados en GitHub ejecutan flujos de trabajo de CI/CD. El uso ineficaz conduce a costos innecesarios.
- Los ejecutores autohospedados inactivos desperdician recursos informáticos y pueden exponer las organizaciones a riesgos de seguridad si no se supervisan.
- Los ejecutores hospedados en GitHub funcionan de forma de pago por uso y la optimización del uso puede reducir significativamente los costos.
- Restringir cuentas de equipo: limite sus permisos y aplique directivas de seguridad.
- Las cuentas de máquina no deben tener acceso innecesario a los repositorios, lo que reduce el riesgo de escalación de privilegios.
- Si está en peligro, las cuentas de máquina se pueden aprovechar para manipular el código fuente, implementar cambios malintencionados o exponer secretos.
- La aplicación de directivas de seguridad ayuda a garantizar el cumplimiento y minimiza las posibles infracciones.
El seguimiento del uso de licencias para cuentas de máquina y servicios periféricos es fundamental para la optimización de costos, la seguridad y el cumplimiento en GitHub Enterprise. Los administradores deben aprovechar la interfaz de usuario de GitHub, GraphQL y las API REST para identificar cuentas inactivas, optimizar el uso y evitar gastos innecesarios.