Estadísticas de uso de licencias en dispositivos periféricos y máquinas

Completado

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

  1. Vaya a Configuración de empresa.
  2. Seleccione Billing & License Management (Administración de facturación y licencias).
  3. Busque una sección Cuentas de equipo (si está disponible).
  4. 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

  1. Vaya a Configuración de empresa** → Acciones.
  2. 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.