Statistiche di utilizzo delle licenze nei dispositivi computer e periferiche

Completato

In questa unità imparerai come gli account macchina e i servizi periferici influiscono sull'utilizzo delle licenze GitHub Enterprise. Verranno esaminati i metodi per tenere traccia del consumo, identificare le inefficienze e applicare le procedure consigliate per migliorare il controllo dei costi e la sicurezza.

Tenere traccia dell'utilizzo delle licenze è essenziale per l'ottimizzazione dei costi e la conformità alla sicurezza. Gli account macchina (usati per l'automazione) e i servizi periferici (ad esempio CI/CD, integrazioni e consumatori di API) possono consumare licenze, influenzando i costi aziendali e la gestione delle risorse.

Informazioni sugli account computer e sui servizi periferici

Account del computer

Gli account macchina sono account GitHub utilizzati per l'automazione, l'esecuzione di script o l'integrazione con strumenti di terze parti.

Caratteristiche: - Agiscono indipendentemente dagli utenti umani. - Spesso usato dagli strumenti CI/CD (ad esempio, GitHub Actions, Jenkins, CircleCI).- Ogni account macchina consuma una licenza GitHub, proprio come un utente standard.

Servizi periferici

I servizi periferici sono integrazioni esterne che interagiscono con GitHub tramite richieste API.

Esempi: - Pipeline CI/CD (ad esempio, GitHub Actions, GitHub Runners, Jenkins).- Strumenti di analisi della sicurezza (ad esempio, Dependabot, Snyk, CodeQL).- Integrazioni di terze parti (ad esempio Slack, Jira, Datadog).- Runner GitHub ospitati autonomamente.

Perché tenere traccia di questi?

  • Per identificare le licenze inutilizzate o eccessive.
  • Per ottimizzare i costi e impedire spese non necessarie.
  • Per monitorare i rischi di sicurezza da account di automazione inattivi o non configurati correttamente.

Ricerca delle statistiche di utilizzo delle licenze per gli account computer

Metodo 1: GitHub Enterprise Admin Console

  1. Passare a Impostazioni aziendali
  2. Selezionare Fatturazione e gestione licenze.
  3. Cercare una sezione Account computer (se disponibile).
  4. Identificare:
    • Numero di account computer attivi.
    • Consumo di licenze per account computer.
    • Ultima data attiva.

Metodo 2: Query dell'API GraphQL per gli account computer

Per recuperare le statistiche di utilizzo dell'account del computer, usare l'API GraphQL:

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

Perché tenere traccia di questi?

  • Per identificare gli account computer inattivi.
  • Per tenere traccia dell'ultima attività di ogni account del computer.
  • Per ridurre l'allocazione di licenze non necessarie.

Ricerca dell'utilizzo delle licenze per i servizi periferici

Metodo 1: Metriche di utilizzo di GitHub Actions e Runners

  1. Passare a Impostazioni organizzazione** → Azioni.
  2. Visualizzazione:
    • Minuti totali di esecuzione ospitati su GitHub usati.
    • Utilizzo dello strumento di esecuzione ospitato autonomamente.
    • Fatturazione per i minuti aggiuntivi dello strumento di esecuzione.

Metodo 2: API REST per Self-Hosted Runners

Per tenere traccia degli strumenti di esecuzione ospitati autonomamente e del relativo utilizzo delle licenze:

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

Informazioni dettagliate chiave:

  • Identifica il numero di strumenti di esecuzione che utilizzano licenze.
  • Tiene traccia degli strumenti di esecuzione inattivi che potrebbero sprecare risorse.
  • Consente di ottimizzare la fatturazione per i minuti dello strumento di esecuzione ospitato in GitHub.

Metodo 3: Rilevamento dell'utilizzo dell'API servizi periferici

Monitorare le integrazioni basate su API usando:

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

In questo modo è possibile:

  • Rilevare i servizi inattivi: trovare i servizi non più in uso.
  • Controlla strumenti di terze parti: assicurarsi che gli strumenti esterni siano necessari e configurati correttamente.
  • Ridurre i costi: disabilitare i servizi che non forniscono valore".

4. Procedure consigliate per la gestione degli account computer e delle licenze dei servizi periferici

Le procedure consigliate seguenti consentono di controllare l'utilizzo, applicare i criteri e semplificare il footprint di automazione:

  • Verifica regolarmente gli account macchina: identifica e disattiva gli account macchina inutilizzati.
    • Nel corso del tempo, le organizzazioni accumulano account di macchine inutilizzati o obsoleti che possono comunque avere accesso a repository e sistemi.
    • Gli account inutilizzati aumentano i rischi di sicurezza, perché possono essere sfruttati se compromessi.
    • I controlli regolari assicurano che esistano solo account computer attivi e necessari , riducendo l'esposizione all'accesso non autorizzato.
  • Monitorare l'utilizzo dell'API: tenere traccia degli strumenti di terze parti che usano licenze aziendali.
    • Molte applicazioni di terze parti, pipeline CI/CD e integrazioni usano risorse api GitHub e licenze aziendali.
    • Un numero eccessivo di chiamate API può causare limiti di frequenza, che influiscono sui flussi di lavoro degli sviluppatori.
    • L'utilizzo di API non autorizzate o sconosciute può esporre vulnerabilità di sicurezza e dati sensibili.
  • Ottimizzare l'utilizzo dello strumento di esecuzione: Identificare gli strumenti di esecuzione ospitati autonomamente inattivi e ridurre i costi dello strumento di esecuzione ospitato in GitHub.
    • Gli strumenti di esecuzione ospitati autonomamente e GitHub eseguono flussi di lavoro CI/CD. L'uso inefficiente comporta costi non necessari.
    • Gli strumenti di esecuzione ospitati autonomamente inattivi sprecano risorse di calcolo e possono esporre le organizzazioni ai rischi per la sicurezza se non monitorati.
    • I runner ospitati da GitHub operano su base "pay-as-you-go" e ottimizzare l'utilizzo può ridurre significativamente i costi.
  • Limitare gli account computer: Limitare le autorizzazioni e applicare i criteri di sicurezza.
    • Gli account computer non devono avere accesso non necessario ai repository, riducendo il rischio di escalation dei privilegi.
    • Se compromessi, gli account del computer possono essere sfruttati per modificare il codice sorgente, distribuire modifiche dannose o esporre segreti.
    • L'applicazione dei criteri di sicurezza consente di garantire la conformità e ridurre al minimo le potenziali violazioni.

Il monitoraggio dell'utilizzo delle licenze per gli account computer e i servizi periferici è fondamentale per l'ottimizzazione dei costi, la sicurezza e la conformità in GitHub Enterprise. Gli amministratori devono sfruttare l'interfaccia utente di GitHub, GraphQL e le API REST per identificare gli account inattivi, ottimizzare l'utilizzo e impedire spese non necessarie.