Lisensbruksstatistikk i maskin- og eksterne enheter

Fullført

I denne enheten lærer du hvordan maskinkontoer og eksterne tjenester påvirker GitHub Enterprise-lisensbruk. Du skal utforske metoder for å spore forbruket, identifisere ineffektivitet og bruke anbefalte fremgangsmåter for å forbedre kostnadskontroll og sikkerhet.

Sporing av lisensbruk er avgjørende for kostnadsoptimalisering og sikkerhetssamsvar. Maskinkontoer (brukt til automatisering) og eksterne tjenester (for eksempel CI/CD, integreringer og API-forbrukere) kan bruke lisenser, noe som påvirker virksomhetskostnader og ressursadministrasjon.

Forstå maskinkontoer og eksterne tjenester

Maskinkontoer

Maskinkontoer er GitHub-kontoer som brukes til automatisering, kjøring av skript eller integrering med tredjepartsverktøy.

Egenskaper: - De handler uavhengig av menneskelige brukere. – Brukes ofte av CI/CD-verktøy (for eksempel GitHub Actions, Jenkins, CircleCI). - Hver maskinkonto bruker en GitHub-lisens, for eksempel en standardbruker.

Eksterne tjenester

Eksterne tjenester er eksterne integrasjoner som samhandler med GitHub via API-forespørsler.

Eksempler: - CI/CD Pipelines (f.eks. GitHub Actions, GitHub Runners, Jenkins). - Verktøy for sikkerhetsskanning (f.eks. Dependabot, Snyk, CodeQL). - Tredjepartsintegreringer (f.eks. Slack, Jira, Datadog). - Selvbetjente GitHub Runners.

Hvorfor spore disse?

  • Identifisere ubrukte eller overflødige lisenser.
  • For å optimalisere kostnader og forhindre unødvendige utgifter.
  • Slik overvåker du sikkerhetsrisikoer fra inaktive eller feilkonfigurerte automatiseringskontoer .

Finne lisensbruksstatistikk for maskinkontoer

Metode 1: Administrasjonskonsoll for GitHub Enterprise

  1. Gå til Enterprise-innstillinger.
  2. Velg Fakturering og lisensbehandling.
  3. Se etter en maskinkontoinndeling (hvis tilgjengelig).
  4. Identifisere:
    • Antall aktive maskinkontoer.
    • Lisensforbruk per maskinkonto.
    • Siste aktive dato.

Metode 2: GraphQL API-spørring for maskinkontoer

Hvis du vil hente statistikk for maskinkontobruk, bruker du GraphQL-API-en:

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

Hvorfor spore disse?

  • For å identifisere inaktive maskinkontoer.
  • Slik sporer du når hver maskinkonto sist var aktiv.
  • For å bidra til å redusere unødvendig lisenstildeling.

Finne lisensbruk for eksterne tjenester

Metode 1: GitHub Actions & Runners Usage Metrics

  1. Gå til Virksomhetsinnstillinger** → Handlinger.
  2. Utsikt:
    • Totalt antall gitHub-vertsbaserte løperminutter som brukes.
    • Selvvert løperbruk.
    • Fakturering for ekstra løperminutter.

Metode 2: REST API for Self-Hosted Runners

Slik sporer du selvadrettede løpere og lisensbruk:

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

Nøkkelinnsikter:

  • Identifiserer hvor mange løpere som bruker lisenser.
  • Sporer inaktive løpere som kan kaste bort ressurser.
  • Bidrar til å optimalisere fakturering for GitHub-vertsbaserte løperminutter.

Metode 3: API-brukssporing for eksterne tjenester

Overvåk API-baserte integrasjoner ved hjelp av:

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

Dette hjelper deg:

  • Finn inaktive tjenester: Finn tjenester som ikke lenger er i bruk.
  • Overvåk tredjepartsverktøy: Sørg for at eksterne verktøy er nødvendige og riktig konfigurert.
  • Reduser kostnader: Deaktiver tjenester som ikke gir verdi.»

4. Anbefalte fremgangsmåter for administrasjon av maskinkontoer og eksterne tjenestelisenser

Følgende anbefalte fremgangsmåter hjelper deg med å overvåke bruk, håndheve policyer og effektivisere automatiseringsavtrykket:

  • Overvåkingsmaskinkontoer regelmessig: Identifiser og deaktiver ubrukte maskinkontoer.
    • Over tid akkumulerer organisasjoner ubrukte eller foreldede maskinkontoer som fortsatt kan ha tilgang til repositorier og systemer.
    • Ubrukte kontoer øker sikkerhetsrisikoen, da de kan utnyttes hvis de blir kompromittert.
    • Regelmessige revisjoner sikrer at det bare finnes aktive og nødvendige maskinkontoer, noe som reduserer eksponering for uautorisert tilgang.
  • Overvåk API-bruk: Spor tredjepartsverktøy som bruker bedriftslisenser.
    • Mange tredjepartsprogrammer, CI/CD-datasamlebånd og integreringer bruker GitHub API-ressurser og bedriftslisenser.
    • Overdreven API-kall kan føre til satsgrenser, noe som påvirker utviklernes arbeidsflyter.
    • Uautorisert eller ukjent API-bruk kan vise sensitive data og sikkerhetsproblemer.
  • Optimaliser runner-bruk: Identifiser inaktive selvverte løpere og reduser gitHub-vertsbaserte løperkostnader.
    • Selvbetjente og GitHub-vertsbaserte løpere utfører CI/CD-arbeidsflyter. Ineffektiv bruk fører til unødvendige kostnader.
    • Inaktive selvbetjente løpere kaster bort databehandlingsressurser og kan utsette organisasjoner for sikkerhetsrisikoer hvis de ikke overvåkes.
    • GitHub-vertsbaserte løpere opererer på betal-etter-bruk-basis , og optimalisering av bruk kan redusere kostnadene betydelig.
  • Begrens maskinkontoer: Begrens tillatelsene og fremtving sikkerhetspolicyer.
    • Maskinkontoer bør ikke ha unødvendig tilgang til repositorier, noe som reduserer risikoen for eskalering av rettigheter.
    • Hvis det er kompromittert, kan maskinkontoer utnyttes til å manipulere kildekode, distribuere skadelige endringer eller avsløre hemmeligheter.
    • Å håndheve sikkerhetspolicyer bidrar til å sikre samsvar og minimerer potensielle brudd.

Sporing av lisensbruk for maskinkontoer og eksterne tjenester er avgjørende for kostnadsoptimalisering, sikkerhet og samsvar i GitHub Enterprise. Administratorer bør bruke GitHub UI, GraphQL og REST-API-er til å identifisere inaktive kontoer, optimalisere bruken og forhindre unødvendige utgifter.