Statistiche di utilizzo delle licenze nei dispositivi computer e periferiche
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
- Passare a Impostazioni aziendali
- Selezionare Fatturazione e gestione licenze.
- Cercare una sezione Account computer (se disponibile).
- 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
- Passare a Impostazioni organizzazione** → Azioni.
- 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.